Главная страница
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.207 c
2-1179826391
alles
2007-05-22 13:33
2007.06.10
Работа с Array of Char


6-1164419181
провидец
2006-11-25 04:46
2007.06.10
Веббровзер


15-1178961202
Пол
2007-05-12 13:13
2007.06.10
распределение нагрузки.


5-1155736499
nali
2006-08-16 17:54
2007.06.10
Как сделать редактор свойств типа DBGrid.Columns?


15-1179483530
Эй
2007-05-18 14:18
2007.06.10
Кто угадает