Главная страница
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.027 c
15-1178898672
Ringo
2007-05-11 19:51
2007.06.10
Женюсь, ей-богу женюсь, честное, благородное слово!(Паниковский).


5-1155710866
Priest
2006-08-16 10:47
2007.06.10
Как отличить переменную на TObject от перменной IInterface


15-1179401936
Карелин Артем
2007-05-17 15:38
2007.06.10
Почему у GNUсных поделок версии на 0 часто начинаются?


15-1178636502
McSimm_
2007-05-08 19:01
2007.06.10
Протокол "сайт<->клиентские программы"


15-1179073175
Василий Кузнецов
2007-05-13 20:19
2007.06.10
.GIF