Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.03.2008, 17:14   #1
m.a.x.i.m
Пользователь
 
Регистрация: 29.03.2008
Сообщений: 32
По умолчанию y=Edit1->Text ???

В Edit вводим произвольную функцию от икс (напр: sin(x)).
Теперь нужно её вычислить, чтобы получилось типа: y=sin(x), т.е. игреку присваиваем то, что написали в Edit. Как я понимаю в Edit у нас строка и как эту строку присвоить какой-то переменной? Наверно надо строку превратить в выражение (хотя чем они отличаются)
Пробовал
y=Edit1->Text
m.a.x.i.m вне форума Ответить с цитированием
Старый 29.03.2008, 17:35   #2
Карась
Участник клуба
 
Аватар для Карась
 
Регистрация: 26.10.2007
Сообщений: 1,244
По умолчанию

Вообще за преобразования из одного типа в другой отвечают различные функции.
Например: http://www.delphibasics.ru/StrToInt.php
Умом Россию не понять, пока не выпито ноль пять,
А если выпито ноль пять всё делом кажется не хитрым,
Попытка глубже понимать уже попахивает литром...
Карась вне форума Ответить с цитированием
Старый 29.03.2008, 17:48   #3
Carbon
JAVA BEAN
Участник клуба
 
Аватар для Carbon
 
Регистрация: 22.04.2007
Сообщений: 1,329
По умолчанию

Код:
if (Edit1->Text=="sin")
y=sin(x);
else
...
Carbon вне форума Ответить с цитированием
Старый 29.03.2008, 18:08   #4
m.a.x.i.m
Пользователь
 
Регистрация: 29.03.2008
Сообщений: 32
По умолчанию

Спасибо, но это не то.
Ведь мне не синус нужен, а возможность ввести в Edit произвольную функцию, т.е. в Edit пишу к примеру: cos(x)+5*x, а затем это выражение присваиваю переменной y.
m.a.x.i.m вне форума Ответить с цитированием
Старый 29.03.2008, 18:11   #5
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

читай про обратную польскую нотацию
pu4koff вне форума Ответить с цитированием
Старый 29.03.2008, 18:30   #6
m.a.x.i.m
Пользователь
 
Регистрация: 29.03.2008
Сообщений: 32
По умолчанию

Значит обратная польская нотация. Сейчас почитал немного про неё - ужас. А ведь надо-то скопировать строку из Edit и "правильно вставить" в окно редактора кода. Думал попроще будет, но в любом случае спасибо.
m.a.x.i.m вне форума Ответить с цитированием
Старый 29.03.2008, 20:01   #7
Carbon
JAVA BEAN
Участник клуба
 
Аватар для Carbon
 
Регистрация: 22.04.2007
Сообщений: 1,329
По умолчанию

У меня есть модуль для обработки строковых функций. Работает со всеми элементарными функциями. Там можно использовать 3 переменные. Строка компилится, заносишь значения переменных, получаешь ответ.
Модуль на Делфи.
Carbon вне форума Ответить с цитированием
Старый 30.03.2008, 19:17   #8
_Dmitry
Участник клуба
 
Аватар для _Dmitry
 
Регистрация: 02.09.2007
Сообщений: 1,193
По умолчанию

Эх...
Рискуя навлечь на свою голову справедливый гнев модераторов и старожилов форума, все-таки дам ссылку на статью с работающими примерами на другом форуме.
На нашем, тема поднималась несколько раз, но т.к. код достаточно обширен, подробных примеров нет.
Недавно купил книгу данного автора, там целая глава так и называется "Разбор и вычисление выражений", основу которой составляет данная статья.
Примеры на Delphi.
_Dmitry вне форума Ответить с цитированием
Старый 31.03.2008, 11:29   #9
m.a.x.i.m
Пользователь
 
Регистрация: 29.03.2008
Сообщений: 32
По умолчанию

Вот-вот, то что надо. Статья не маленькая, но, думается, за недельку разберёмся. Ведь столько книжек пересмотрел, а про дпнный вопрос нигде нет. Даже странно - тема то важная.
Ещё раз всем спасибо.
m.a.x.i.m вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как узнать в Edit1.Text у меня информация Integer Shaitan63 Общие вопросы Delphi 11 29.01.2009 11:20
Чтение из Edit1 выражения Rusl92 Общие вопросы Delphi 11 11.04.2008 18:01
if edit1.text:='123'then ben95 Помощь студентам 5 28.01.2008 16:29
из edit1.text в stringgrid. fluer Общие вопросы Delphi 8 25.04.2007 11:23
Поиск символа в Edit1.text Alar Компоненты Delphi 0 29.10.2006 19:02