Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2005.12.11;
Скачать: [xml.tar.bz2];

Вниз

CallBack   Найти похожие ветки 

 
SkyRanger ©   (2005-11-24 04:29) [0]

Наткнулся тут на модуль, реализующий енто дело на delphi
Что то не могу найти ничего путного по этому вопросу.
Не подскажете зачем вообще сущесьвует CallBack??

P.S. и что то поиск по сайту не работает :(


 
Джо ©   (2005-11-24 04:44) [1]

Callback-функции - это родовое понятие. Русский перевод функции обратного вызова. Чтобы поменьше разводить теории, приведу разъясняющий пример.

type
 // определим процедурный тип
 TMyCallBackProc = procedure (CurrentValue: Integer);

// в качестве одного из параметров процедура принимает функцию обратного вызова

// и вызывает ее для каждой итерации цикла, заданного рамками Min & Max
procedure DoCycle (Min,Max: Integer; Callback: TMyCallBackProc);
var
 I: Integer;
begin
 for I := Min to Max do
   Callback (I)
end;

// определяем нашу callback-процедуру
// список параметров должен соответствовать типу TMyCallBackProc
// название может быть любым
procedure MyCallBackProc (CurrentValue: Integer);
begin
 // выводит на экран передаваемое ей значение
 ShowMessage (IntToStr(CurrentValue));
end;

// тестируем
procedure TForm1.Button1Click(Sender: TObject);
begin
 // вызываем процедуру, в цикле перебирающую значения от 0 до 3
 // и передаем ей адрес нашей callback-процедуры
 DoCycle(0,3,MyCallBackProc);
end;


Если что-то непонятно, пиши.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2005.12.11;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.034 c
2-1133180011
Oni
2005-11-28 15:13
2005.12.11
Вызов функции из модуля, в TurboPascal e


2-1132906842
quadronik
2005-11-25 11:20
2005.12.11
Неужели никто не поможет?!


2-1132907236
JTAG
2005-11-25 11:27
2005.12.11
Господа подскажите как при открытии формы сделать


1-1131807098
Dmitrich
2005-11-12 17:51
2005.12.11
Копирование экрана


2-1132841801
Igor_thief
2005-11-24 17:16
2005.12.11
Почему не работает практически идентичный код?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский