Форум: "Основная";
Текущий архив: 2003.04.21;
Скачать: [xml.tar.bz2];
Вниз
Тяжелый 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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.012 c