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

Вниз

работа с записью   Найти похожие ветки 

 
SmashFX   (2002-11-28 13:33) [0]

Доброго всем! подскажите! существует ли способ братиться к полю записи по его номеру?
то есть

type
TRec = record
field1:integer;
field2:string;
field3:boolean;
end;
....
Rec:TRec;
....
Rec.номер поля:=значение

спасиб заранее!


 
Song ©   (2002-11-28 13:35) [1]

А если ты строки местами переставишь, номера по-твоему поменяются? :-)


 
SmashFX   (2002-11-28 13:46) [2]

очевидно не совсем понятно задал вопрос....

я могу обратится к полем через Rec.field1:=1;Rec.field2:="1" и.д.
альтернативный способ существует?


 
Игорь Шевченко ©   (2002-11-28 13:54) [3]

Нет


 
oomneeq ©   (2002-11-28 14:25) [4]

> могу обратится к полем через Rec.field1:=1;Rec.field2:="1" и.д.
>альтернативный способ существует?

Cмотря что иметь ввиду под альтернативностью ...
если вспомнить про вариантные записи то можно так

type
TRec = record
case integer of //
0: (field1:integer;
field2:string[20];
field3:boolean);
1: (alternative1:string[26]);
end;


ограничение - поля немогут быть просто стринг
надо шортстринг,

примеры есть и с VCL


PrnRec = record
case Integer of
1: (
Cur: TPoint;
Finish: TPoint; { End of the printable area }
Height: Integer); { Height of the current line }
2: (
Tmp: array[1..32] of Char);
end;


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

фактически это и есть альтернативный доступ,
просто все альтернативы нужно знать и описать заранее.

то ли это что было нужно?






 
SmashFX   (2002-11-28 14:54) [5]

как вариант! спасибо!


 
[NIKEL] ©   (2002-11-28 15:44) [6]

еще по смещению можно (offsetof(SomeStruct,SomeField))




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

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

Наверх




Память: 0.47 MB
Время: 0.019 c
8-28155
F8nikita
2002-08-12 01:01
2002.12.09
ПОМОГИТЕ !!!!


3-27885
Calm
2002-11-21 13:40
2002.12.09
Использование значения, возвращаемого процедурой


14-28276
esv
2002-11-17 19:13
2002.12.09
TinyDB v2.9


3-27833
Sergey_Elf
2002-11-20 10:10
2002.12.09
добавить поле в таблицу dbf через delphi 5


14-28196
Оливейра
2002-11-16 17:19
2002.12.09
Hostmos.ru