![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Подскажите пожалуйста возможно ли задать индекс для функции или процедуры, т. е. делать что-то вроде этого:
procedure Pr[0](Speed: integer); begin end; Мне это необходимо для построения цикла в котором заранее не известно какую процедуру называть. Хотя это только мои догатки по методу построения подобного кода - наиболее для меня важное это выполнить некий код "A" в цикл который может с течением цикла поменяться на код B? |
#2
|
|||
|
|||
![]() Нет, нельзя.
Но можно сделать переменную процедурного типа (ну и массив их, конечно). |
#3
|
||||
|
||||
![]() Пиши так:
Код:
type TMProc = procedure (Speed: integer); procedure Pr0(Speed: integer); begin ... end; procedure Pr1(Speed: integer); begin ... end; var Pr = array [0..1] of TMProc; i:integer; begin Pr[0] := Pr0; Pr[1] := Pr1; // а теперь смело вызывай for i:=0 to 1 do begin Pr[i](100); // вызов процедуры с параметром end; end; Велик и могуч наш Object Pascal ! ICQ: 357-591-887 |