Вниз
Скачать: CL | DM;

Можно ли в параметр функции передать другую функцию? И как?   Найти похожие ветки 

 
Пубертанец   (2003-09-11 11:58) [0]

Сабж


 
Basilio ©   (2003-09-11 12:02) [1]


type
myfunc=function (x:integer):integer;

procedure printer(value:integer;printfunc:myfunc);
begin
printfunc(value);
end;
function prn1(x:integer):integer);
begin
writeln("prn1:",x:4);
end;function prn2(x:integer):integer);
begin
writeln("prn2:",x:10);
end;
begin
printer(10,prn1);
printer(10,prn2);
end.


 
Nikolay M. ©   (2003-09-11 12:05) [2]

Например, так:

type
TMyProc = procedure (S : string) ofobject;

type
TfMain = class(TForm)
procedure ProcToAcceptFunc (Func : TMyProc);
procedure Func1 (S : string);
procedure Func2 (S : string);
....
end;

procedure TfMain.ButtonClick;
var
temp : TMyProc;
begin
temp := Func1;
ProcToAcceptFunc (temp);
temp := Func2;
ProcToAcceptFunc (temp);
end;

Уффф...
Вроде почти так. Пишу на коленке, не обессудь если где запнулся. Может минут через эннадцать что получше в голову придет :)


 
PVOzerski ©   (2003-09-11 12:05) [3]

Можно, правда не так, как это описано в учебниках по "стандартному" Паскалю. Для этого Borland ввел процедурные переменные, но конструкции типа function aaa(function bbb:char):integer; их Паскали не поддерживают. Придется описывать процедурный тип и делать параметр этого типа. Не знаю, может, procedure без параметров и пройдет как тип параметра (проверять лень), но это был бы очень частный случай.


 
jack128 ©   (2003-09-11 12:15) [4]


> но конструкции типа function aaa(function bbb:char):integer;
> их Паскали не поддерживают

Делфи вроди их тоже не поддерживает



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.017 c
1-71690
Viking
2003-09-11 17:04
2003.09.22
Сохранение параметров формы в INI-файле/реестре/БД


14-71888
panov
2003-09-02 20:09
2003.09.22
Всё глючит...я уже сам глючу... Пофлудим?


7-71991
AndrewVolkov
2003-07-10 20:23
2003.09.22
Тоже com ???


14-71900
наблюдатель
2003-09-02 22:16
2003.09.22
Любимый вопрос


6-71808
Nick2000
2003-07-18 17:12
2003.09.22
Как узнать кол-во присоединенных пользователей?




   Наверх