Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.10.2023, 13:54   #1
Kronos913
Форумчанин
 
Регистрация: 10.02.2021
Сообщений: 627
По умолчанию Переменная локальная процедура

Вопрос такой: как переменной типа procedure присвоить локальную процедуру?

Для чего это надо:

Внутри цикла на более чем 1000 итераций нужно каждый раз спрашивать значение boolean, который не меняется в ходе выполнения цикла
И подумал над тем, чтобы вынести действия после If и else в разные процедуры и вызывать их через переменную типа procedure
Kronos913 вне форума Ответить с цитированием
Старый 09.10.2023, 03:37   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Например:
Код:
procedure TrueP();
begin
  ShowMessage('True');
end;

procedure FalseP();
begin
  ShowMessage('False');
end;

procedure TForm1.btn1Click(Sender: TObject);
var
  p: procedure ;
begin
  if True then
    p := TrueP
  else
    p:= FalseP;
  p();
end;
Но я не знаю, как дельфи оптимизирует вызов процедуры, ведь это лишние накладные расходы. Попробуйте просто вынести if наружу:
Код:
for i := 1 to 1000 do
  if stat then
    // work 1
  else
    // work 2
Код:
if stat then
  for i := 1 to 1000 do
    // work 1
else
  for i := 1 to 1000 do
    // work 2
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка: использована неинициализированная локальная переменная "symbol" Evgeny_L Помощь студентам 1 17.05.2021 23:33
Локальная переменная которая сохраняет свое значение между вызовами метода IT-Lopata C# (си шарп) 9 05.04.2014 15:33
Неинициалированная локальная переменная Sk1lloK Visual C++ 6 25.12.2012 22:36
Процедура и переменная. patrickj SQL, базы данных 0 20.12.2012 13:56
Процедура, как переменная russian-stalker Общие вопросы Delphi 2 03.10.2009 18:01