|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
10.11.2007, 15:25 | #1 |
Пользователь
Регистрация: 07.10.2007
Сообщений: 22
|
Конвертирование из поля Edit в нормальный знак.
Подскажите пожалуйста. Как сделать так, чтоб при вводе в поле (допустим edit1) текста 2+2+2 потом можно было это все посчитать, а то inttostr знаки не конвертирует.
допустим. var a:integer; begin a:=inttostr(edit1.Text); // где edit1.Text = '2+2+2' edit1.Text:=inttostr(a); // где a уже должна быть = 6 end; Выручайте. |
10.11.2007, 15:37 | #2 | |
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
Цитата:
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог |
|
10.11.2007, 15:38 | #3 | |
Форумчанин
Регистрация: 01.09.2007
Сообщений: 747
|
Цитата:
1. Написать процедуру, которая будет обрабатывать строку (с 4 знаками это не сложно, но придется помучится со скобками 2. Использовать готовый компонент Express (его нужно устанавливать с диска или скачать где нибудь)
Никому не верьте.
|
|
10.11.2007, 15:52 | #4 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
"Прямой" способ:
1. Выделяем все числа в массив. 2. Параллельно выделяем все знаки в отдельный стринг. 3. Берем первое и второе число, анализируем первый знак, производим вычисления. И так далее. Это - только для вычислений без приоритетов (скобок). |
10.11.2007, 16:01 | #5 |
With best regards
Участник клуба
Регистрация: 20.04.2007
Сообщений: 1,448
|
Расчет формул из двух значений (6 Кб):
http://programmersforum.ru/attachmen...8&d=1182363718
Life is too short, play more...
Как правильно задавать вопросы |
10.11.2007, 16:57 | #6 |
Пользователь
Регистрация: 07.10.2007
Сообщений: 22
|
а если такой случай 2+3*5+7^2*2!+sin(60+30), то как быть? операции выполняются по приоритету
|
10.11.2007, 17:05 | #7 |
Пользователь
Регистрация: 07.10.2007
Сообщений: 22
|
Rapid писал:
2. Использовать готовый компонент Express (его нужно устанавливать с диска или скачать где нибудь) А может кто-нибудь поподробней рассказать, или где почитать можно? Очень надо Rapid,помоги пожалуйста. dzhambula@mail.ru |
10.11.2007, 18:00 | #8 |
Delphi/C++/C#
Участник клуба
Регистрация: 29.10.2006
Сообщений: 1,972
|
Ну сколько можно? Используйте поиск по форуму.
http://www.programmersforum.ru/showthread.php?t=6568 |
12.11.2007, 12:21 | #9 |
Форумчанин
Регистрация: 01.09.2007
Сообщений: 747
|
Приветствую.
Сорри, что не ответил сразу (писал курсач по фин анализу) Компонент разместил во вложении. http://www.programmersforum.ru/attac...1&d=1194858399 Чтобы установить компонент нужно сделать следующее 1. Войти в Дельфи, закрой все 2. Выбрать Компонент-Инсталлировать компонент 3. В первой строке диалога укажи имя компонент (задай путь)-это файл с расширением .pas 4. Жми ОК и дальше появится диалог, жми инсталлировать компонент (если кнопка инсталлировать не активна, перекомпилируй проект или попробуй еще раз все повторить) 5. Папку, в которой находятся исходники никуда не перемещай(лучше сразу засунь ее туда где трогать ее не будешь) 6. Жми закрыть и сохранить Компонент должен появиться на закладке "Образцы" Простой пример использования Express1.Expression:=Edit1.Text;//В эдите например sin(10)+5*4-22 VRes:=Express1.TheFunction(0,0,0); // Переменная VRES типа Real Edit2.Text:=FloatToStr(VRes); А вообще инсталляция компонентов хорошо описана в Библии программиста, которую можно скачать с форума.
Никому не верьте.
Последний раз редактировалось Rapid; 12.11.2007 в 12:32. |
12.11.2007, 12:27 | #10 |
я получил эту роль
Старожил
Регистрация: 25.05.2007
Сообщений: 3,694
|
Дельфийский класс TParser блин!!! Он умеет выражения считать
пыщь
Последний раз редактировалось JTG; 12.11.2007 в 12:33. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Конвертирование графических форматов файлов | ALEX_RAS | Помощь студентам | 21 | 02.11.2008 17:46 |
Нормальный Transparent в Image??? | Fre5h | Компоненты Delphi | 1 | 10.07.2008 08:44 |
изменение содержимого поля edit | truel | Win Api | 1 | 21.04.2008 12:31 |
конвертирование Hex -> Text и Float -> Int | NikOnLine | Общие вопросы Delphi | 13 | 22.12.2007 23:11 |
Паскаль. Программа - Ваш знак зодиака | Vanet | Помощь студентам | 5 | 11.10.2007 21:11 |