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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.08.2017, 15:03   #1
shonty
Пользователь
 
Регистрация: 21.10.2014
Сообщений: 13
По умолчанию Функция из переменной

Подскажите пожалуйста, как вызвать функцию из переменной?

Задача такая:
Имеется пять функций (одностроковых например: f4:=500*1.2*1000/(Rvar/100*x+R880)) и процедура (многострочная), строящая график на канве.

Можно конечно и пять процедур накопипастить, под каждую функцию... Но..

Не могу понять, как в процедуру ввести переменную (например F) и согласно условию подставлять в неё какую-либо из фцнкций (типа F:=f1, F:=f2, и т.п.).
shonty вне форума Ответить с цитированием
Старый 22.08.2017, 15:59   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

Код:
type
    TFunctionParam = function(const value : integer) : integer;

...

 function One(const value : integer) : integer;
 begin
    result := 1;
 end;
 
 function Two(const value : integer) : integer;
 begin
    result := 2;
 end;

...

f : TFunctionParam;
p51x вне форума Ответить с цитированием
Старый 23.08.2017, 09:29   #3
shonty
Пользователь
 
Регистрация: 21.10.2014
Сообщений: 13
По умолчанию

Да, спасибо, работает.

PS
Мне, как простому советскому радиолюбителю, для подбора резисторов в регуляторе тока (а зависимости сильно нелинейны) нужна программа для отображения графиков.
Хотел выкрутится так:
var a, b, c, d, e;
F:=a*(fnc1)+b*(fnc2)+c*(fnc3)+d*(fn c4)+e*(fnc5)
и подстановкой переменных a,b,c,d,e в "0" и "1" выбирать нужный участок выражения
Теперь сделаю как положено
shonty вне форума Ответить с цитированием
Старый 25.08.2017, 16:38   #4
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,546
По умолчанию

А зачем такие сложности? Я бы по своей простоте сделал бы одну функцию со switch'ем унутре. Возможно, какие-то общие участки кода использовал бы.
digitalis вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Есть ли функция, которое выдает имя переменной? cawendish Общие вопросы Delphi 11 10.02.2015 15:26
Для public переменной класса присвоить адрес ячеек из внешней переменной _KUL Qt и кроссплатформенное программирование С/С++ 2 28.05.2012 12:04
функция malloc() для разного типа переменной. Serjuk Помощь студентам 46 05.01.2010 21:52
Функция не меняет значение переменной.... DoHJICyaH Общие вопросы C/C++ 1 02.11.2008 20:10