Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.06.10;
Скачать: CL | DM;

Вниз

Вопрос   Найти похожие ветки 

 
Loonar ©   (2007-05-21 17:07) [0]

Спасибо за помощь в предыдущем вопросе.
У меня новая проблема.
Допустим в Edit1.text записано ((12-54)*65)-65*23 (абсолютно любая арифметическая комбинация с n-числами и (n-1) операциями). Мне надо чтоб при нажатии кнопки в Edit2.text появился подсчитанный ответ.

P.S.
Не судите, пожалуйста, за глупые вопросы, я новичок.

Спасибо.


 
clickmaker ©   (2007-05-21 17:13) [1]

о, курсовички пошли


 
MBo ©   (2007-05-21 17:16) [2]

гуглить  по словам парсер, парсинг математических выражений

в библиотеке RXLib есть такой.


 
{RASkov} ©   (2007-05-21 17:17) [3]

Ну здесь таймеров не напасешся....
Т.е. это не в двух словах рассказать.... Ищи в инете уже готовое...


 
Loonar ©   (2007-05-21 17:40) [4]

Неужели нет никакой команды по проеобразованию, арифметического примера в понятный для Delphi код...


 
clickmaker ©   (2007-05-21 17:44) [5]


> Неужели нет никакой команды

есть. Команда мозга рукам найти либо готовый код, пользуясь yandex.ru, google.ru, sources.ru... либо написать самому пользуясь готовыми алгоритмами ищи по словам "польская запись", "рекурсивный спуск"


 
iXT ©   (2007-05-21 18:02) [6]

Приблизительный алгоритм:

Слева ищем ")"
Если есть ищем ее "(", парсим подстроку меж (...) и заменяем на резульрат
Инатче Ищем "*" или "/"
Если есть, то читаем параметры операции, и поступаем аналогично
Далее аналогично для "+" и "-"


 
Loginov Dmitry ©   (2007-05-21 20:33) [7]

> Неужели нет никакой команды по проеобразованию, арифметического
> примера в понятный для Delphi код...


1. Делаешь Inport Type Library для Microsoft Script Control
2. Подключаешь модуль MSScriptControl_TLB
3. Вставляешь код:


procedure TForm1.Button1Click(Sender: TObject);
var
 SC: TScriptControl;
begin
 SC := TScriptControl.Create (Self);
 try
   SC.Language:="VBScript";
   Label1.Caption := SC.Eval(Edit1.Text);
 finally
   SC.Free;
 end;
end;



Страницы: 1 вся ветка

Текущий архив: 2007.06.10;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.037 c
2-1179749038
leonidus
2007-05-21 16:03
2007.06.10
Как переконвертировать Color в Hex ?


10-1133359168
AndDem
2005-11-30 16:59
2007.06.10
Печать многих документов в Word


15-1178902181
ArtemESC
2007-05-11 20:49
2007.06.10
Можно ли это устройство использовать для инета??


6-1164471298
NeyroSpace
2006-11-25 19:14
2007.06.10
Как обработать ошибку при отключении клиента?


8-1142402604
Alex_C
2006-03-15 09:03
2007.06.10
Как узнать названия установленных звуковых карт?