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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.10.2008, 15:22   #1
DeKot
Участник клуба
 
Аватар для DeKot
 
Регистрация: 12.08.2008
Сообщений: 1,977
По умолчанию Методы в качестве переменной

Как объявить несколько процедур или функций в качестве переменных, чтобы потом использовать в другой процедуре.
Приблизительно так :
Var PR: Процедура 1;
Процедура 2:
...
Процедура n;
procedure Oбщая процедура(PR);
begin
PR //чтобы здесь можно было вызвать любую из Процедур 1 .. n
end;
Если это возможно , то какой тип переменным-процедурам присваивать?
И не сомневайся даже ... отдых - кайф, работа - лажа!
DeKot вне форума Ответить с цитированием
Старый 31.10.2008, 15:29   #2
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Прикольно К примеру Pointer ну или сложно Proc: procedure; ? :D Смешно не так ли ?

извените, я чтот вас не понимаю ( пост №3 )... Вам нужен ответ или нет ? Я его дал

Последний раз редактировалось BOBAH13; 31.10.2008 в 15:41.
BOBAH13 вне форума Ответить с цитированием
Старый 31.10.2008, 15:38   #3
DeKot
Участник клуба
 
Аватар для DeKot
 
Регистрация: 12.08.2008
Сообщений: 1,977
По умолчанию

Да-а.Программиста может обидеть каждый..
И не сомневайся даже ... отдых - кайф, работа - лажа!
DeKot вне форума Ответить с цитированием
Старый 31.10.2008, 16:24   #4
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

BOBAH13, ваши ответы еще больше запутывают, не хотите отвечать - не отвечайте. Раз человек спрашивает, значит он не в теме, ему ваши выкладки ужатые в одну строку до лампочки.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 31.10.2008, 16:40   #5
_SERGEYX_
Участник клуба
 
Аватар для _SERGEYX_
 
Регистрация: 07.07.2007
Сообщений: 1,518
По умолчанию

Наверно, что-то нужно врде этого...

Код:
type
   TMyAction = (maProcedure1, maProcedure2, maProcedure3);
Код:
//глобальная
var   MyAction: TMyAction;
Код:
case MyAction of
maProcedure1: //выпонить процедуру 1;
 maProcedure2: //выпонить процедуру 1;
maProcedure3: //выпонить процедуру 1;
end;

Последний раз редактировалось _SERGEYX_; 31.10.2008 в 16:43.
_SERGEYX_ вне форума Ответить с цитированием
Старый 31.10.2008, 17:17   #6
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Цитата:
Сообщение от mutabor Посмотреть сообщение
BOBAH13, ваши ответы еще больше запутывают, не хотите отвечать - не отвечайте. Раз человек спрашивает, значит он не в теме, ему ваши выкладки ужатые в одну строку до лампочки.
Что еще сказать ?
Цитата:
К примеру Pointer ну или сложно Proc: procedure; ?
и от вас ответа тоже не было так что полегче с подобными высказываниями
BOBAH13 вне форума Ответить с цитированием
Старый 31.10.2008, 17:34   #7
DeKot
Участник клуба
 
Аватар для DeKot
 
Регистрация: 12.08.2008
Сообщений: 1,977
По умолчанию

Попробую по другому вопрос поставить.
Имеется массив и обработчик масива - периодически просматриваются
все значения в массиве
Код:
var  mas: array[1..10,1..10] of byte;
 procedure CtrlMas(PR -???/);
begin
  for i:= 1 to 10 do
    for j:= 1 to 10 do
       if mas[i,j] = n then   PR
end;
Так вот нужно в качестве PR сюда передавать разные процедуры.
По примеру _SERGEYX_ я так понимаю создать переменную список
и к нему привязать вызываемые процедуры.
Где то встречал, что можно в качестве параметра передавать саму процедуру, только как это оформить в коде?
И не сомневайся даже ... отдых - кайф, работа - лажа!
DeKot вне форума Ответить с цитированием
Старый 31.10.2008, 17:51   #8
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Так и не ясно что и куда передавать... дам список кода думаю выберите то что вам понадобится...

Код:
type
  TMyProc = procedure(Val1: String; Val2: Integer);
  // если надо от объекта-класса функцию то дописуите of object

procedure DoMyProc(Val1: String; Val2: Integer);
begin
  // to do somethings with values
end;

procedure DoSomething1(MyProc: TMyProc);
begin
  MyProc('Hello World', 0);
end;

procedure Do1;
var
  MyProc: TMyProc;
begin
  MyProc := DoMyProc;
  DoSomething1(MyProc);
end;

// или так
procedure DoSomething2(MyProc: Pointer);
begin
  TMyProc(MyProc)('Hello World', 0);
end;

procedure Do2;
var
  MyProc: TMyProc;
begin
  MyProc := DoMyProc;
  DoSomething2(@MyProc);
end;
Думаю теперь вы хоть присмотритесь что я написал ? А то я так смотрю некоторые только поспорить могут, а сами ничего и не отвечают

Последний раз редактировалось BOBAH13; 31.10.2008 в 17:55.
BOBAH13 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Методы сортировки. Teddy Помощь студентам 1 16.10.2008 19:08
Методы... Arkuz Свободное общение 6 11.10.2008 16:53
параметрический запрос с частью слова в качестве параметра yulia БД в Delphi 6 09.05.2008 20:27
Методы шифрования D@rk M@k Свободное общение 3 27.02.2008 13:56
Работа с файлами (создание, удаление, открытие, связываение с переменной, очищение памяти переменной) Arkuz Общие вопросы Delphi 12 25.09.2007 20:47