| 
| 
 | Вопрос # 6 376/ вопрос решён / | 
 |  Доброго времени суток, уважаемые эксперты! Как сделать так, что бы значение в функции присваивалось из поля ввода "Edit", моя программа связана с построением графиков, и на данный момент она может строить только один график, значение которого (т.е. функциию (пример - sinx)) я указываю в самом коде, я же хочу что бы через Edit1 присваивалась любая функция К вопросу прикреплён файл. Загрузить » (срок хранения: 60 дней с момента отправки вопроса) 
|  |   Вопрос задал: 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™ (статус: Доктор наук), 18 февраля 2013, 08:20 [#1]:Есть такой класс в RxLib и в JVCL - TRxMathParser. Попробуй. Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  
|   | eclipse (статус: Посетитель), 3 марта 2013, 08:09 [#2]:Я думаю что вопрос не точно указан. Насколько я понял можно в свойстве Edit OnChange прописать что-то вроде: SQR(StrToInt(x)) |  
|   | MainInside (статус: Посетитель), 3 марта 2013, 21:13 [#3]:С "case", я не догадался, довольно отличный вариант, но функционал становится ограниченным (т.е. если я не пропишу допустим ф-ию синус, а кто то захочет вывести именно ее, то не получится, т.к. ее нету в комбо боксе), я же хочу что бы в Edit1 прописывали ф-ию, и она присваивалась при построение Result:=(ф-ия из Edit1) |  
|   | SnowLeo (статус: 1-ый класс), 4 марта 2013, 07:49 [#4]:MainInside: Можно реализовать и с помощью TEdit, но в таком случае тебе нужно будет проверку ввода имени функций в Edit, а также парсер (распознавание) "знакомых" имен функций. Либо введи в ComboBox все возможные функции. Можно еще сделать дополняемый ComboBox, это немного сложнее...
 |  18 марта 2013, 21:48: Статус вопроса изменён на решённый (изменил модератор Ерёмин А.А.) Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |