Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 6 376

/ вопрос решён /

Доброго времени суток, уважаемые эксперты! Как сделать так, что бы значение в функции присваивалось из поля ввода "Edit", моя программа связана с построением графиков, и на данный момент она может строить только один график, значение которого (т.е. функциию (пример - sinx)) я указываю в самом коде, я же хочу что бы через Edit1 присваивалась любая функция

К вопросу прикреплён файл. Загрузить » (срок хранения: 60 дней с момента отправки вопроса)

Приложение:
  1. Function f(x: real): real;
  2. Begin
  3.  
  4. End;


MainInside Вопрос решён, но можно продолжить его обсуждение в мини-форуме

Вопрос задал: MainInside (статус: Посетитель)
Вопрос отправлен: 17 февраля 2013, 17:33
Состояние вопроса: решён, ответов: 1.

Ответ #1. Отвечает эксперт: SnowLeo

Здравствуйте, MainInside!
Если тебе нужно именно одна функция сделай просто "case" перебор.
Выбор функций из списка можно сделать в ComboBox, тогда соответственно индексу выбранного значения ты строишь график:

Function f(x: real): real;   
Begin
  case ComboBox1.ItemIndex of
    0: Result := sin(x);
    1: Result := cos(x);
    //...
  end;
End;

Ответ отправил: SnowLeo (статус: 1-ый класс)
Время отправки: 27 февраля 2013, 13:03
Оценка за ответ: 5


Мини-форум вопроса

Всего сообщений: 4; последнее сообщение — 4 марта 2013, 07:49; участников в обсуждении: 4.
min@y™

min@y™ (статус: Доктор наук), 18 февраля 2013, 08:20 [#1]:

Есть такой класс в RxLib и в JVCL - TRxMathParser. Попробуй.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
eclipse

eclipse (статус: Посетитель), 3 марта 2013, 08:09 [#2]:

Я думаю что вопрос не точно указан. Насколько я понял можно в свойстве Edit OnChange прописать что-то вроде: SQR(StrToInt(x))
MainInside

MainInside (статус: Посетитель), 3 марта 2013, 21:13 [#3]:

С "case", я не догадался, довольно отличный вариант, но функционал становится ограниченным (т.е. если я не пропишу допустим ф-ию синус, а кто то захочет вывести именно ее, то не получится, т.к. ее нету в комбо боксе), я же хочу что бы в Edit1 прописывали ф-ию, и она присваивалась при построение Result:=(ф-ия из Edit1)
SnowLeo

SnowLeo (статус: 1-ый класс), 4 марта 2013, 07:49 [#4]:

MainInside:
Можно реализовать и с помощью TEdit, но в таком случае тебе нужно будет проверку ввода имени функций в Edit, а также парсер (распознавание) "знакомых" имен функций. Либо введи в ComboBox все возможные функции. Можно еще сделать дополняемый ComboBox, это немного сложнее...

18 марта 2013, 21:48: Статус вопроса изменён на решённый (изменил модератор Ерёмин А.А.)

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 12:01
Выполнено за 0.03 сек.