Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Параметры [D7, XP]


hater ©   (2008-07-08 08:31:00) 

Добрый день! Подскажите пожалуйста как можно передать процедуре параметр любого типа а потом в процедуре определять тип ? Если можно не большой примерчик, буду очень благодарен. Спасибо.


Anatoly Podgoretsky   (2008-07-08 11:41:00) [1]

> hater  (08.07.2008 10:43:08)  [8]

А какая проблема?
Просто используй соответствующие типы - для данного случая нужен variant


Anatoly Podgoretsky   (2008-07-08 11:40:00) [2]

> hater  (08.07.2008 10:16:05)  [5]

Ну правильно делал.


Сергей М.   (2008-07-08 10:53:00) [3]

var
 MyParameter: Variant;
..
MyParameter := Now;

case TVarData(MyvarData).VType of
..
varDate: ShowMessage(DateTimeToStr(MyParameter));


ЮЮ   (2008-07-08 10:51:00) [4]

> Нет, так не удобно будет. Вот сейчас голова кипит, немогу
> грамотно определить дату передали или дробное число. :(


Коль она (процедура) такая всеяднвя, не все ли ей равно? Дто она делает с этим ворохои разношерстных данных?


hater   (2008-07-08 10:43:00) [5]


> Может быть будет удобнее кроме самой переменной передавать
> и тип праметра в процедуру?
>


Нет, так не удобно будет. Вот сейчас голова кипит, немогу грамотно определить дату передали или дробное число. :(


Тын-Дын   (2008-07-08 10:37:00) [6]


> hater   (08.07.08 08:31)  
> Добрый день! Подскажите пожалуйста как можно передать процедуре
> параметр любого типа а потом в процедуре определять тип
> ? Если можно не большой примерчик, буду очень благодарен.
>  Спасибо.


Может быть будет удобнее кроме самой переменной передавать и тип праметра в процедуру?


engine   (2008-07-08 10:23:00) [7]

> [5] hater   (08.07.08 10:16)

Почитай в справке про тип TDateTime


hater   (2008-07-08 10:16:00) [8]


> vtExtended


Ой, А я так определял дробные числа ...


Anatoly Podgoretsky   (2008-07-08 09:29:00) [9]

> hater  (08.07.2008 9:22:03)  [3]

vtExtended


hater   (2008-07-08 09:22:00) [10]

Мастера спасибо огромное, если не трудно, не могли бы вы подсказать как определить тип даты? Числа и строки получилось определить, вот с датой не могу разобраться.

 case TVarRec(params[i]).VType of
  vtInteger, vtInt64 :
    ShowMessage(IntToStr(Params[i].VInteger));
  vtAnsiString :
    ShowMessage(Params[i].VPChar);
  else
    ShowMessage('Не определен');
 end;


Loginov Dmitry   (2008-07-08 08:38:00) [11]

> а потом в процедуре определять тип


TVarRec(MyArray[Index]).VType


Anatoly Podgoretsky   (2008-07-08 08:35:00) [12]

const array of const


Наверх

Титульная страница Поиск, карта сайта Написать письмо