Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.01.11;
Скачать: CL | DM;

Вниз

Untyped - параметр   Найти похожие ветки 

 
NS1989   (2008-11-27 16:24) [0]

как правильно привести 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;



 
Ega23 ©   (2008-11-27 16:34) [1]

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


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

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


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

Вообщем объясню, что хочу сделать: пишу ряд функций (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 17:22) [4]

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


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

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


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


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


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


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

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


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


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

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


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


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


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


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

TReader + TWriter



Страницы: 1 вся ветка

Текущий архив: 2009.01.11;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.015 c
15-1226316266
Долетел
2008-11-10 14:24
2009.01.11
КПК / коммуникаторы


15-1226603097
Дмитрий С
2008-11-13 22:04
2009.01.11
Скиномания


15-1226952249
NoDt
2008-11-17 23:04
2009.01.11
Поясните пожалуста Алгоритм Дейкстры


15-1226514556
@!!ex
2008-11-12 21:29
2009.01.11
Вопрос: почему удалили тему Раймонда?


15-1226332584
Капибара из гостей
2008-11-10 18:56
2009.01.11
Вопрос по железу