В Delphi 2.0 я пытаюсь прочесть текстовый файл и получаю проблему. Текстовый файл, который я хочу прочесть, имеет записи фиксированной длины, но в самих записях могут располагаться различные типы с различной длиной, и оканчиваться в различных позициях, в зависимости от типа. Файл выглядит примерно так:
TFH.......<First record type, первый тип записи> TBH.......<Second record type, второй тип записи> TAB........<Third record type, третий тип записи> TAA........<Fourth record type, четвертый тип записи>
Вы можете поймать больше одного зайца в случае объявления переменной записи, но если сделаете это правильно.
Type TDataTag = Array [1..3] of Char; TDataTags = Array [0..NumOfTags-1] of TDataTag; TDataRec = packed Record tagfield: TDataTag; case integer of 0: ( поля для тэга TFH ); 1: ( поля для тэга TBH ); 2: .. .... end; TMultiRec = packed Record Case Boolean of false: (строка: Array [0..1024] of Char); { должно установать строку максимально возможной длины } true : ( data: TDataRec ); End; Const DataTags: TDataTags = ( 'TFH', 'TBH', .... ); var rec: TMultirec;
ReadLn( datafile, rec.line ); Case IndexFromDataTag( rec.data.tagfield ) Of 0: ... 1: ... End;