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

Вниз

Тяжелый Record.   Найти похожие ветки 

 
Hexxx   (2003-04-10 23:31) [0]

В файле лежат данные вот такого вида:

NiSequenceStreamHelper=record
nodenamelength:dword;
nodename: string[namelength];
namelenght:dword;
name:string[namelength];
nodenumber:dword;
end;

Но я же не могу обьявить
nodename: string[namelength];

Есть ли способ сразу прочесть такие куски? Я не хочу заполнять запись вручную, т.е. сначала читать nodenamelength потом читать отдельно nodename исходя из nodenamelength и т.д. Можно ли как-то все сразу прочесть?


 
Palladin ©   (2003-04-11 00:01) [1]


> сначала читать nodenamelength потом читать отдельно nodename
> исходя из nodenamelength

именно так, такого типа структуры, и читают...
сначала читают длинну а потом данные...


> Можно ли как-то все сразу прочесть

можно BlockRead, TFileStream.Read

но разбивать все равное придется


 
NA ©   (2003-04-11 00:09) [2]

Типа можно ли вытащить самому самого себя из болота за свои же волосы, если я правильно понял... ;) Такой практики не имею. Зато вот о чем вспомнилось: When a record type is declared in the {$A-} state, or when the declaration includes the packed modifier, the fields of the record are not aligned, but are instead assigned consecutive offsets. The total size of such a packed record is simply the size of all the fields.


 
NA ©   (2003-04-11 00:12) [3]

блин, прогнал спросонья... решил, что ты на лишнюю длину в рекорде жалуешься :))) уффф... но о болоте все равно верно :-)


 
Anatoly Podgoretsky ©   (2003-04-11 00:16) [4]

Записи неопделенной длины, нельзя прочитать заранее, если только ты не волшебник.



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

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

Наверх




Память: 0.47 MB
Время: 0.013 c
6-67407
Reals
2003-02-25 19:46
2003.04.21
Клиент новостей (NNTP). Как читать русский текст (кирилицу).


14-67498
Wild Wizard
2003-04-03 15:34
2003.04.21
К вопросу о взаимоотношениях с людьми...


3-67184
Roka
2003-04-01 23:08
2003.04.21
БД FoxPro в 866


1-67199
AlexanderSK
2003-04-10 13:45
2003.04.21
Сообщение об ошибке при работе с DCOM


1-67366
Лана Розанова
2003-04-10 07:49
2003.04.21
Excel