Форум: "Основная";
Текущий архив: 2007.11.25;
Скачать: [xml.tar.bz2];
ВнизКак в процедуру передать имя функции? Найти похожие ветки
← →
vishnia (2007-09-03 15:36) [0]Вопрос сформулирован в теме.
← →
Сергей М. © (2007-09-03 15:38) [1]Например, так
MyProcedure("Имя функции");
← →
Вася Правильный (2007-09-03 15:41) [2]а смысл?
чтоб вызвать?
тогда передавай указатель
← →
Dib@zol © (2007-09-03 15:45) [3]Что ты конкретно хочешь сделать? Уточни.
← →
Anatoly Podgoretsky © (2007-09-03 16:31) [4]> vishnia (03.09.2007 15:36:00) [0]
А зачем?
Имя функции это текст, а текст передается в апострофах.
← →
evvcom © (2007-09-04 11:59) [5]Странно, почему этот вопрос еще в основной :?)
← →
Anatoly Podgoretsky © (2007-09-04 12:02) [6]Пусть полежит, или появится автор или оно само уйдет в архив.
Пока неясна подоплека.
← →
{RASkov} © (2007-09-04 13:38) [7]type TFunc = function;
function BlaFunc: String;
begin
Result:="Bla";
end;
function OopsFunc: String;
begin
Result:="Oops...";
end;
procedure ShowMess5Raz(F: TFunc);
var N: Integer;
begin
for N:= 1 to 5 do ShowMessage(F);
end;
.....
ShowMess5Raz(BlaFunc);
ShowMess5Raz(OopsFunc);
← →
Jeer © (2007-09-04 13:48) [8]6-е и часть 7-го чувств подсказывают мне, что нужно что-то вроде нижеследующего, о чем выше упомянуто в [2]:
type
TMyFunc = function(value: double): double;
function DoIt(x: double): double;
begin
Result := x;
end;
function NotDoIt(x: double): double;
begin
Result := 0.0;
end;
procedure MyProc(Func: TMyFunc);
var x: double;
begin
x := Func(1.2345);
end;
//
MyProc(@DoIt);
MyProc(@NotDoIt);
P.S.
Возможны варианты с явным pointer-ом: MyProc(pFunc: Pointer)
← →
app © (2007-09-04 14:05) [9]Все гадание, если автор не появится до завтра, то ветку закрою.
← →
Jeer © (2007-09-04 14:20) [10]
> app © (04.09.07 14:05) [9]
Спишу предлажить вориант:
function MyFunc1: double;
begin
Result := Random;
end;
function MyFunc2: double;
begin
Result := 2*Random;
end;
function MyFunc3: double;
begin
Result := 3*Random;
end;
procedure MyProc(sFunc: string);
begin
if sFunc = "MyFunc1" then..
if sFunc = "MyFunc2" then..
if sFunc = "MyFunc3" then..
//...
end;
← →
oxffff © (2007-09-04 16:01) [11]class function MethodAddress(const Name: ShortString): Pointer?
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2007.11.25;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.042 c