Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как прочитать строку из файла [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, загружая в переменную этого типа нужный тебе файл и затем работая с индексированными строками как душе угодно - удобно :)


Наверх

Титульная страница Поиск, карта сайта Написать письмо