Страница 1 из 3
записи с вариантами и вложенные записи, нужна помощь.
Добавлено: 03 июн 2009, 15:30
renx
Всем привет, нужна помощь по записям с вариантами и вложенными записями. Во вложении есть схема, помогите пожалуйста описать это в паскале, заранее спасибо.

Re: записи с вариантами и вложенные записи, нужна помощь.
Добавлено: 03 июн 2009, 15:43
Naeel Maqsudov
Код: Выделить всё
type
v1 = record
Parameter1:<тип>;
case byte of
1 :( Parameter2:<тип>;
Parameter3:<тип> ;) ;
2 :( Parameter12:<тип> ;) ;
end;
Re: записи с вариантами и вложенные записи, нужна помощь.
Добавлено: 03 июн 2009, 16:16
renx
А вот с этим не поможите. ВО вложении слегка измененная схема.
Re: записи с вариантами и вложенные записи, нужна помощь.
Добавлено: 04 июн 2009, 16:50
Naeel Maqsudov
Ну так, по аналогии не смогли сделать?
Так как пипы данных не указаны, то я буду считать, что вариант1 в обоих ветвях - это идентичные структуры, а Вариант2 - разные.
Также уточните V1 и V2 - это тоже варианты или это 2 поля типа "Объекты"?
Re: записи с вариантами и вложенные записи, нужна помощь.
Добавлено: 05 июн 2009, 01:39
ronayt
Naeel Maqsudov писал(а):Код: Выделить всё
type
v1 = record
Parameter1:<тип>;
case byte of
1 :( Parameter2:<тип>;
Parameter3:<тип> ;) ;
[B][U] 2[/U][/B] :( Parameter12:<тип> ;) ;
end;
а как вместо "2" выделеным сверху, можно вставить множество?
у меня пишет отакую ошибку: Incompatible types: 'Byte' and 'Set'
хотя вроде по книжке сейчас читаю там просто вставили множество и все (
.
Добавлено: 05 июн 2009, 12:09
BBB
Так?
Код: Выделить всё
type
v1 = record
Parameter1:<тип>;
case byte of
1 :( Parameter2:<тип>;
Parameter3:<тип> ;) ;
2..4, 6 :( Parameter12:<тип> ;) ;
end;
Только в данном случае все это выглядит бессмысленно, т.к. эти значения (варианты case) не сравниваются со значением никакой конкретной переменной.
Re: записи с вариантами и вложенные записи, нужна помощь.
Добавлено: 05 июн 2009, 12:25
renx
А параметры ввиде записи можно как-то реализовать?
--------------------------------------------------------------------------------
Добавлено сообщение
--------------------------------------------------------------------------------
может я что то не так объясняю.
Выкладываю суть самой проблемы. помогите с описанием данных.
Re: записи с вариантами и вложенные записи, нужна помощь.
Добавлено: 05 июн 2009, 13:02
ronayt
case Tracks: byte of
1: (Track1: Track);
[2..20]: ATracks: array[1..19] of Track;
ну вот мой Сase и так типа анаписано в книжке, но почему delphi множество не нравится ((
чо делать ? кто подскажет? )
автор, сор, увидил вопрос по моей теме ну и написал свой, подумал. может и тебе будет полезен ))
Re: записи с вариантами и вложенные записи, нужна помощь.
Добавлено: 05 июн 2009, 14:07
somewhere
" писал(а):Только в данном случае все это выглядит бессмысленно, т.к. эти значения (варианты case) не сравниваются со значением никакой конкретной переменной.
Это примочки только для компилятора, когда одна и та же структура может быть интерпретирована по разному. Типа как здесь:
Код: Выделить всё
T2DRect = packed record
case Integer of
0: (Left,Top,Right,Bottom : Double);
1: (TopLeft, BottomRight : T2DPoint);
end;
Re: записи с вариантами и вложенные записи, нужна помощь.
Добавлено: 05 июн 2009, 21:03
Naeel Maqsudov
" писал(а):мой Сase и так типа анаписано в книжке, но почему delphi множество не нравится
Потому, что "множеству" тут не место. Тут может быть только диапазон или значение или список из значений и диапазонов.
Так что возьмите белую канцелярскую краску типа "Штрих" и книгу Вашу аккуратненько пофиксите
