Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 23.12.2007, 19:30
Аватар для Oleg
Oleg Oleg вне форума
Активный
 
Регистрация: 29.11.2007
Адрес: Оренбургская обл., Россия
Сообщения: 261
Репутация: 15
Вопрос Вопрос о функции

Как мне организовать запись своей функции, обращение к ней. Возвращать ничего не надо.
Нужно что-то типа:
Код:
Function test(Const arg1: string;Const arg2: string;Const arg3: string;)

Последний раз редактировалось Oleg, 23.12.2007 в 19:41.
Ответить с цитированием
  #2  
Старый 23.12.2007, 19:45
aleksnine aleksnine вне форума
Начинающий
 
Регистрация: 08.03.2007
Сообщения: 151
Репутация: 12
По умолчанию

Код:
Function TEST (arg1,arg2,arg3:string):String;
begin
result:= arg1+arg2+arg3;
end;
Ответить с цитированием
  #3  
Старый 23.12.2007, 20:42
Аватар для Oleg
Oleg Oleg вне форума
Активный
 
Регистрация: 29.11.2007
Адрес: Оренбургская обл., Россия
Сообщения: 261
Репутация: 15
Вопрос

Как её правильно описать, вызвать ?
Ответить с цитированием
  #4  
Старый 23.12.2007, 22:18
aleksnine aleksnine вне форума
Начинающий
 
Регистрация: 08.03.2007
Сообщения: 151
Репутация: 12
По умолчанию

Код:
Label1.caption:=TEST('asd','hgh','ytyr');
Ответить с цитированием
  #5  
Старый 24.12.2007, 02:48
Rosenkrantz Rosenkrantz вне форума
Активный
 
Регистрация: 04.12.2007
Адрес: Москва
Сообщения: 234
Версия Delphi: Delphi 7
Репутация: 40
По умолчанию

Фрагменты кода, предназначенные для повторного использования оформляются в виде подпрограмм. Подпрограмма может возвращать какое-то значение, такие подпрограммы в Паскале называются функциями, а может не возвращать ничего, тогда это процедура.

Если в вашем случае возвращать ничего не нужно, то оформляйте процедуру.
Для этого в разделе interface опишите заголовок процедуры:
Код:
procedure Имя_процедуры(Имя_Параметра_1: Тип_Параметра_1;...Имя_Параметра_N: Тип_Параметра_N)
Параметры одного типа можно группировать:
Код:
procedure Имя_процедуры(Имя_Параметра_1, Имя_Параметра_2: Тип_Параметров_1_и_2;...Имя_Параметра_N: Тип_Параметра_N)
Например:
Код:
procedure MyProc(S1, S2: String; N: Integer)
Если вы не планируете изменять значение строкового аргумента внутри процедуры, то лучше передавать его как константу. Для этого перед именем аргумента укажите ключевое слово const:
Код:
procedure MyProc(const S1: String)
Такой вызов экономит ресурсы памяти. Для других типов данных также можно указывать const, но на памяти это никак не отразится.
Если у процедуры нет параметров, объявление заканчивается точкой с запятой сразу после имени процедуры:
Код:
procedure MyProc;
В разделе implementation размещается реализация процедуры - заголовок, идентичный ранее объявленному, и само тело процедуры:
Код:
procedure MyProc(S1, S2: String; N: Integer);
begin
{ тело процедуры }
end;

Для использования процедуры нужно в том модуле, где вы собираетесь ее вызывать, в разделе uses указать имя модуля, в котором описана процедура. Непосредственно для вызова процедуры пишете ее имя и указываете фактические параметры:
Код:
MyProc(FirstName, LastName, 10);

Все, что написано выше про синтаксис объявления процедур, действительно и для функций.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 21:43.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter