Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.09.22;
Скачать: 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 вся ветка

Текущий архив: 2003.09.22;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.028 c
1-71587
AlexSSS
2003-09-09 19:35
2003.09.22
КАК открыть файл, который лежит на CD


7-71980
R4D][
2003-07-07 12:01
2003.09.22
OpenFile


14-71950
napil
2003-08-26 22:08
2003.09.22
домин


14-71831
Просто_зашел_в_гости
2003-08-29 13:46
2003.09.22
Безопасность спользования хаба


3-71554
Layner
2003-08-29 13:01
2003.09.22
Подскажите, как в DBGrig курсор поместить в опр. ячейку?