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

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

Untyped - параметр


NS1989 ©   (2008-11-27 16:24:00) 

как правильно привести Untyped-параметр в функции к нужному мне типу. Например:


 type
   TValidType = (vtInt, vtBool, vtString, vtFloat);

 procedure Test(const UntypedVar; VarType: TVarType);
 var
   I: Integer;
   B: Boolean;
   S: string;
   F: Extended;
 begin
   case VarType of
     vtInt:
       I :=
     vtBool:
       B :=
     vtString:
       S :=
     vtFloat:
       F :=
   end;
 end;


Поросенок Винни-Пух   (2008-11-27 18:07:00) [1]

TReader + TWriter


Ega23   (2008-11-27 18:00:00) [2]


> Так вот чтобы в каждой функции не дублировать код создания
> стрима и считывания/ записи хочу написать общие функции
> для Set, Get, которы будут на входе получать значение, тип
> и записывать/ считывать в MemoryStream. Поделитель советами
> как такое лучше сделать.


мне вот интересно, каким макаром ты будешь считывать строку, если тебе неизвестен её размер?
Или у тебя на каждое значение - строго по одному стриму?


NS1989   (2008-11-27 17:28:00) [3]


> Поросенок Винни-Пух

Спасибо... Буду вникать ....


Поросенок Винни-Пух   (2008-11-27 17:26:00) [4]

код надо не дублировать, а структурировать используя процедурный подход как минимум и ооп как максимум


Поросенок Винни-Пух   (2008-11-27 17:24:00) [5]

procedure WriteAnyData(const Buff; BuffSize : integer);
begin
Создаем стрим, пишем буфер, вообще не заморачиваясь с тем, что там в
нем.
end;


NS1989   (2008-11-27 17:24:00) [6]


> а тот код дублировать и не надо


А как это .................?


Поросенок Винни-Пух   (2008-11-27 17:22:00) [7]

а тот код дублировать и не надо


NS1989   (2008-11-27 16:50:00) [8]

Вообщем объясню, что хочу сделать: пишу ряд функций (SetInteger, SetBoolean, SetFloat, SetString, GetInteger, getBoolean, GetFloat, GetString) которые будут записывать/считывать различные значения в/из файл.


procedure GetBool(var    Val: Boolean; Name: string);
procedure GetFloat(var   Val: Extended; NtfsName: string);
procedure GetInteger(var Val: Integer; Name: string);
procedure GetString(var Val: String; Name: string);

procedure SetBool(var    Val: Boolean; Name: string);
procedure SetFloat(var   Val: Extended; NtfsName: string);
procedure SetInteger(var Val: Integer; Name: string);
procedure SetInteger(var Val: String; Name: string);



Общая схема такая: Создается MemoryStream в него пишется/ читается значение и ---------- > сохраняется / считывается в файл.

Так вот чтобы в каждой функции не дублировать код создания стрима и считывания/ записи хочу написать общие функции для Set, Get, которы будут на входе получать значение, тип и записывать/ считывать в MemoryStream. Поделитель советами как такое лучше сделать.


Поросенок Винни-Пух   (2008-11-27 16:40:00) [9]

А без изврата но через вариант?


Ega23   (2008-11-27 16:34:00) [10]

Размер ещё нехило подавать.


Наверх

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