Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.04.2022, 14:04   #1
REZR
Пользователь
 
Регистрация: 05.04.2022
Сообщений: 26
По умолчанию Дописать одно действие.

Ине нужно сделать так чтобы когда я написал, реши пример, типа ( реши пример 2+2) мне на форме выдало ссылку на онлайн калькулятор, чтобы он нашел или прочитал слово реши и выдал ответ.
Надеюсь понятно сказал.
Код:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace ChatBoto
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void button1_Click(object sender, EventArgs e) // кнопка спросить
        {
            string path = "Boto.txt"; // путь файла     
            string DB = File.ReadAllText(path); // считать весь текст базы
            string quest = Send.Text; // получем текст от пользователя
            if (Regex.IsMatch(DB, quest)) // если слово найдено
            {
                string[] lines = File.ReadAllLines(path);
                foreach (string line in lines)
                    if (Regex.IsMatch(line, quest))
                    {
                        Say(path, line); // отвечаем
                    }
            }
            else
            {
                Remember(); // или запоминаем
            }
        }
        private void Say(string path, string answer) // ищет нужное слово
        {
            using (FileStream fs = new FileStream(path, FileMode.OpenOrCreate)) // открыть поток файлов
            using (StreamReader sw = new StreamReader(fs)) // открыть считывание файла
            {
                int cout = 0;
                cout = answer.IndexOf(": ");
                dell.Text = "Boto :" + answer.Substring(cout + 2); // отвечаем
 
            }
        }
        private void Remember() // показывает текст бокс и кнопку запомнить
        {
            dell.Text = "Boto : я не знаю как ответить"; // сигнал записи
            Rem.Visible = true; // текстовое поле видно
            button2.Visible = true; // кнопка записи видно
            button1.Visible = false; //кнопка общения не видна
            Send.Visible = false; // текстовое поле общение не видно
 
        }
 
        private void button2_Click(object sender, EventArgs e) // кнопка запомнить
        {
            string path = "Boto.txt"; // путь файла
            string quest = Send.Text; // получить текст от пользователя
            string trueAns = Rem.Text; // правельный ответ
            using (FileStream fs = new FileStream(path, FileMode.Append)) // открыть поток файла
            using (StreamWriter sw = new StreamWriter(fs)) // открыть запись файла
            {
                sw.WriteLine(quest + ": " + trueAns); // записываем
            }
            Rem.Visible = false; // текстовое поле не видно
            button2.Visible = false; // кнопка записи не видно
            button1.Visible = true; // кнопка общения видно
            Send.Visible = true; // текстовое поле общение видно
            dell.Text = "Boto : Я запомнил"; // сигнал записи
        }
    }
}
REZR вне форума Ответить с цитированием
Старый 20.04.2022, 14:08   #2
REZR
Пользователь
 
Регистрация: 05.04.2022
Сообщений: 26
По умолчанию

хоть я могу сделать чтобы он это запомнил, но я хочу это в ходе.
REZR вне форума Ответить с цитированием
Старый 20.04.2022, 14:34   #3
ForenLi
Форумчанин
 
Регистрация: 02.06.2021
Сообщений: 515
По умолчанию

Так в чем проблема? Сравниваете начало введеной строки с "реши пример". Если совпало, то формируете ссылку: хттп_онлайн_калькулятор + Substring
ForenLi вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Одно действие для нескольких TextField vers0 Общие вопросы по Java, Java SE, Kotlin 4 14.08.2020 15:57
Как подключить несколько мониторов к одному компу, чтобы дублировалось одно и тоже действие, но это были бы как будто 3 разных компьютера shindo21 Компьютерное железо 10 15.02.2019 20:09
Выбрать 3 ячейки vba excel 2003 за одно действие ольгаг Microsoft Office Excel 2 02.06.2016 12:28
Нужно вписать в программу еще одно действие. Dumbl-D Помощь студентам 3 29.11.2013 15:19
Выполнить одно действие со списком переменных. Vova777 Общие вопросы Delphi 8 04.01.2013 19:04