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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.02.2013, 15:49   #1
Host-2013
Пользователь
 
Регистрация: 02.02.2013
Сообщений: 63
По умолчанию переменные функции

видел бывают функции где в фактических параметрах стоит переменная типа работающего только для этой функции.
например: DayOfWeek(Date: TDateTime): Integer
где Date это как раз такая переменная
так вот интересует как их создавать? можно ли описать тип внутри функции? и главное где записать список таких переменных: в варе функции или в типе? если в типе то какой этим переменным задавать тип? учитывая что они нужны только для сравнения типа
if Date = variable1 then ...
if Date = variable2 then ...

п.с. ну может Date не совсем удачный пример, вот лучше:
StringReplace(const S, OldPattern, NewPattern: string; Flags: TReplaceFlags): String
где Flags такая переменная

Последний раз редактировалось Host-2013; 20.02.2013 в 15:52.
Host-2013 вне форума Ответить с цитированием
Старый 20.02.2013, 16:16   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

обявление процедуры и типов данных которые она использует
Код:
type
  TEnumtype  =(enum1, enum2, ..., enum99);
  TSetEnum = set of TenumType;
  TmySymleType =integer;
  TmyRange =1..100;

procedure X(val: TEnumtype; vals: TSetEnum; i: TmysympleType; k: Tmyrange);
TreplaceFlags +F1 =
Цитата:
Delphi syntax:
type TReplaceFlags = set of (rfReplaceAll, rfIgnoreCase);
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 20.02.2013 в 16:18.
evg_m вне форума Ответить с цитированием
Старый 20.02.2013, 16:18   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
так вот интересует как их создавать?
как и любой другой - описывать в секции type ...
например, для flags
в исходниках модуля SysUtils.pas
написано:
Цитата:
Код:
type
  TReplaceFlags = set of (rfReplaceAll, rfIgnoreCase);
Цитата:
можно ли описать тип внутри функции?
имхо, нет, нельзя. Да и зачем это нужно?!

Цитата:
и главное где записать список таких переменных: в варе функции или в типе? если в типе то какой этим переменным задавать тип? учитывая что они нужны только для сравнения типа
о!! может быть, Вы расскажете, для чего это Вам нужно, что Вы изобретаете?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 20.02.2013, 16:48   #4
Host-2013
Пользователь
 
Регистрация: 02.02.2013
Сообщений: 63
По умолчанию

Цитата:
Сообщение от evg_m Посмотреть сообщение
Код:
type TEnumtype  =(enum1, enum2, ..., enum99);
помогло спасибо
Host-2013 вне форума Ответить с цитированием
Старый 20.02.2013, 16:57   #5
superedward
Форумчанин
 
Аватар для superedward
 
Регистрация: 27.11.2012
Сообщений: 190
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
имхо, нет, нельзя. Да и зачем это нужно?!
Вообще говоря, можно. Но и использовать такой тип можно только внутри функции.
superedward вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как подменить адрес возврата функции func на адрес функции f используя переполнение буфера buf и функции gets dmitrii6120 Помощь студентам 6 14.11.2011 20:10
Переменные экземпляра,класса, константы и переменные cop08 Общие вопросы .NET 3 20.12.2010 21:56
встроеннные функции, ссылочные переменные Dimarik Общие вопросы C/C++ 8 10.05.2009 11:46
Как прописать переменные типа array в функции? Dux Общие вопросы Delphi 2 09.12.2008 23:46
Переменные из БД Кронос БД в Delphi 2 06.06.2007 11:26