Главная страница
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
3-1174320576
alexey_mas
2007-03-19 19:09
2007.06.10
установка курсора


15-1179109292
Slider007
2007-05-14 06:21
2007.06.10
С днем рождения ! 13 мая


2-1179422547
Shark280289
2007-05-17 21:22
2007.06.10
Delphi 7. Работа с ListView.


15-1179229189
Layner
2007-05-15 15:39
2007.06.10
Фокус со звонками из Молдовы, в чем секрет


1-1176700809
bss
2007-04-16 09:20
2007.06.10
Как установить свой фонт для контролов при Enabled=false