Учебник по Delphi

Перегружаемые процедуры и функции.

   Стандартную процедуру или функцию можно перегрузить. Это означает, что можно написать несколько процедур и функций с одинаковыми именами, но эти процедуры и функции будут разными, а самое главное — они будут обрабатывать разные параметры.

   Скажем, для обработки строковых значений будет вызываться одна функция, а для обработки числовых значений — другая, а для значений еще каких-то типов (например, вещественных) — третья функция. И все эти три функции могут называться одинаково. Традиционно привожу пример. Создайте новый проект и разместите на форме три кнопки Button и одну этикетку Label. Теперь в свойствах Caption кнопок напишите следующее:для Button1 — Целые числа, для Button2 —Дробные числа и для Button3 — Строки.

   При нажатии первой кнопки на этикетку будет выводиться целое число, при нажатии второй — дробное, а при нажатии третьей — текстовая строка. Все это будет выполнять процедура OutOnLabel. На самом деле получатся три процедуры, но все они будут называться одинаково. Напишем эти процедуры и обработку событий нажатия кнопок.

Листинг 6.7
procedure TForml.OutOnLabel(s: String);
// вывод на этикетку строки текста
begin
Label 1.Caption := s;
end;
procedure TForml.OutOnLabel(i: Integer);

// вывод на этикетку целого числа
begin
Labe11.Caption := IntToStr(i);
end;
procedure TForml.OutOnLabel(i: Extended);

// вывод на этикетку дробного числа
begin
Labe11.Caption := FloatToStr(i);
end;
procedure TForml. ButtonlCI ick(Sender: TObject);
begin
OutOnLabel(731);
end;
procedure TForml.Button2CI ick(Sender: TObject);
begin
OutOnLabel(255.6);
end;
procedure TForml.ButtonSCIick(Sender: TObject);
begin
OutOnLabel(Опять двадцать пять);
end;




 

Рейтинг@Mail.ru          Rambler's Top100

X-ZiBiT