Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Арифметическая строка 
:(
    Опции темы
Magister Y0da
Дата 7.9.2006, 11:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Зелёненький
*


Профиль
Группа: Участник
Сообщений: 235
Регистрация: 30.11.2004

Репутация: -2
Всего: 2



как мне сделать так чтобы все действия в строке выполнились и я получил конечный ответ?
--------------------
PM MAIL ICQ   Вверх
Alexeis
Дата 7.9.2006, 11:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



Была уже тема...
Код

var
  ComObj;

procedure TForm1.Button1Click(Sender: TObject);
var
  sc: Variant;
begin
  SC:=CreateOLEObject('ScriptControl');
  try
    SC.Language:='VBScript';
    SC.Timeout:=-1;
    SC.AllowUI:=True;
    Label1.Caption:=SC.Eval(Edit1.Text);
  finally
    SC:=Unassigned;
  end;
end;



--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Teran
Дата 7.9.2006, 11:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 590
Регистрация: 9.9.2005
Где: Украина, Запорожь е

Репутация: нет
Всего: 3



rusult:=((2+2)*2)/8;

Это сообщение отредактировал(а) Teran - 7.9.2006, 11:32


--------------------
Ни цего не понимаю
PM MAIL ICQ   Вверх
Magister Y0da
Дата 7.9.2006, 11:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Зелёненький
*


Профиль
Группа: Участник
Сообщений: 235
Регистрация: 30.11.2004

Репутация: -2
Всего: 2



я не про это а про выполнение операций


Примерsmile2+5)/7
чтобы мне выдали ответ 1
--------------------
PM MAIL ICQ   Вверх
comtat
Дата 7.9.2006, 11:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1310
Регистрация: 2.5.2006
Где: Россия, Казань

Репутация: 3
Всего: 71



хотим в выражения подставлять значения и получать ответ ?


--------------------
Рожденный в СССР !!!
ExtJS - мой фреймворк 
PM   Вверх
Rodman
Дата 7.9.2006, 11:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

Репутация: 7
Всего: 122



Найли "Обратная польская запись"... Метод описывающий решение арифметических выражений...
PM MAIL WWW Skype GTalk YIM MSN   Вверх
Alexeis
Дата 7.9.2006, 11:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



так в SC.Eval(); вставляем строку с выражением и получаем результат в виде строки. Если нужно число, то конвертируем строку в число STRToFloat();

Добавлено @ 11:39 
Цитата(Rodman @  7.9.2006,  11:35 Найти цитируемый пост)
"Обратная польская запись"... Метод описывающий решение арифметических выражений... 

Да есть уже куча написаных компонентов в которых это все реализовано.
Не помню есть ли в DRKB но на delphiWorld точно.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Magister Y0da
Дата 7.9.2006, 11:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Зелёненький
*


Профиль
Группа: Участник
Сообщений: 235
Регистрация: 30.11.2004

Репутация: -2
Всего: 2



а если числа очень большие?
--------------------
PM MAIL ICQ   Вверх
Alexeis
Дата 7.9.2006, 11:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



JIAMEP, сколько цифр?


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Magister Y0da
Дата 7.9.2006, 11:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Зелёненький
*


Профиль
Группа: Участник
Сообщений: 235
Регистрация: 30.11.2004

Репутация: -2
Всего: 2



ну скажем до 100
--------------------
PM MAIL ICQ   Вверх
Alexeis
Дата 7.9.2006, 11:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



О тут придется либо свой компонент писаль или доробатывать чужой на предмет работы с длинными числами, кроме того я не встречал ни где реализации деления длинного числа на длинное

Добавлено @ 11:58 
Вот небольшая статья показывающая как можно реализовать такую арифметику http://comp-science.narod.ru/DL-AR/okulov.htm
Но тут оч. мало кода. Так что все придется делать самостоятельно.
В DRKB есть модуль для работы с длинными числами, но там нет длинного деления.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0522 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.