![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как прочитать строку из файла [D6, WinXP]
BofA © (2002-04-02 15:29:00)Есть файл
F : file of Char, надо из него прочитать строку длины Len (длина заранее не известна), начиная с символа Pos, и загнать всё это дело в строкуS : string
BofA (2002-04-02 16:16:00) [1]2Alx2: Спасибо огромное! Это мне и надо.
Я пытался сделать то же самое, но писал неBlockRead(F,S[1],sSize);аBlockRead(F,S,sSize);и, естественно, это не работало.
Спасибо всем за помощь!
P.S.: Кстати, если кому интересно, я пишу редактор ID3v2 тэгов
Alx2 (2002-04-02 15:53:00) [2]Var
F : File;
sSize : Integer;
S : String;
begin
AssignFile(F,"somefile.ext");
try
ReSet(F,1);
BlockRead(F,sSize,SizeOf(sSize));
SetLength(S,sSize);
BlockRead(F,S[1],sSize);
finally
closeFile(F);
end;
end;
MBo (2002-04-02 15:52:00) [3]и TFileStream - очень удобно.
Виктор Щербаков (2002-04-02 15:49:00) [4]Посмотри BlockRead.
BofA (2002-04-02 15:47:00) [5]Пояснение :
Дан нетипизированный файл, в начале записано число (Integer), орпеделяющее размер строки, а далее сама строка; после строки записаны другие данные (не строки), поэтому TStringList не помогает.
Song (2002-04-02 15:45:00) [6]
Var a: array [0..10] of Char;
...
ShowMessage(String(a));\
Alx2 (2002-04-02 15:40:00) [7]И с какого места начинается строка?
MBo (2002-04-02 15:34:00) [8]>длина заранее не известна
а когда становится известна?
Fellomena (2002-04-02 15:32:00) [9]Я бы рекомендовала использовать класс TStringList, загружая в переменную этого типа нужный тебе файл и затем работая с индексированными строками как душе угодно - удобно :)