IPB
ЛогинПароль:

> Правила раздела!

1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!

> Записи с вариантной частью, приминение..
сообщение
Сообщение #1


?
***

Группа: Пользователи
Сообщений: 283
Пол: Мужской

Репутация: -  4  +


Привет! Вот прочитал статью про запись и у меня возникла куча вопросов. Сообственно они все так или иначе связаны с моим курсачом...
курсовой проект был по мультисписковой структурой реализованой в файле
Прикрепленное изображение
для этого мс(мульти-списка) была реализованые такие типы даных


type
TName = string[30];
Tinf = string[254];

TRecRayon = record {Запись данных о районе}
name : TName;
inf : Tinf;
NextElem : Integer;
nextInf : Integer;
end;
TFilerayon = file of TRecrayon;


TRecWec = record {Запись данных о жэке}
name : TName;
inf : Tinf;
NextElem : Integer;
nextInf : Integer;
end;
TFilewec = file of trecwec;

TReculica = record {Запись данных о Улицы}
name : TName;
inf : Tinf;
NextElem : Integer;
nextInf : Integer;
end;
TFileUlica = file of treculica;

TReckvart = record {Запись данных о квартире}
home : TInf;
namber : TInf;
inf : TInf;
kolkom : TInf;
kolkvmetr : TInf;
NextElem : Integer;
end;
TFilekvart = file of TReckvart;


Но неудобство составило при связивание уровней, что нужно писать для каждого типа свою процедуру

procedure Init_FileRayon(var f:TFileRayon);
procedure Init_Filewec(var f:TFileWec);
procedure Init_Fileulica(var f:TFileulica);
procedure Init_Filekvart(var f:TFilekvart);
.....



А теперь вопросы:
Если написать общий тип, для всех уровней ведь многие поля одинакоы,

Type
Trec= Record
....{ общие поля }
Case byte of
1: (...); { поля для 1 уровня }
2: (...); {поля для 2 уровня}
...
end;


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

При работе с переменной этого типа, если мы прочитаем что-та в "1", а потом во второе "сигнальное значение", то мы потеряем информацию которая хранилась в первом?

Зы: Volvo извини что создал тему на этом форуме, а не на том что указан на сайте

Сообщение отредактировано: amega -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 4.05.2024 9:21
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name