как сделать random процедур??
Ты о чем ? О паскалевской функции Random ? Посмотри в хелпе или поищи по форуму, конкретно по этому же разделу ...
...
procedure one;
..
..
end;
procedure second;
..
..
end;
procedure third;
..
..
end;
{end}
writeln (random (one,second,third));
----------
не правильно, но мысль поняли? как её воплотить?
Хм, в жизни ничего подобного не делал, но вышло занятно.
uses crt;
type
TProcType = Procedure();
procedure A(); begin writeln('A') end;
procedure B(); begin writeln('B') end;
var
procs: Array [0..1] of Pointer = (@A, @B);
i: Integer;
begin
Randomize;
for i := 1 to 10 do TProcType(procs[Random(2)])();
end.
Можно не заморачиваться с указателями:
uses crt;
type
TProcType = Procedure;
procedure A; far;
begin writeln('A') end;
procedure B; far;
begin writeln('B') end;
const
procs: Array [0..1] of TProcType = (A, B);
var
i: Integer;
begin
Randomize;
for i := 1 to 10 do
procs[Random(2)];
end.
Я пробовал так... У тебя FPC это нормально компилирует ?
Я не компилирую ЗДЕСЬ в FPC - это не раздел про 32-битные компиляторы... А как ты думаешь, твою программу TP вообще откомпилирует?
Добавлено через 2 мин.
Кстати, да... Во всех режимах, кроме ObjFPC все прекрасно работает...
Да, мой косяк ... надо было проверить в TP. А в FPC код без указателей не компилится ... вот лог ошибок: