Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.15;
Скачать: [xml.tar.bz2];




Вниз

Как прочитать строку из файла 


BofA   (2002-04-02 15:29) [0]

Есть файл F : file of Char, надо из него прочитать строку длины Len (длина заранее не известна), начиная с символа Pos, и загнать всё это дело в строку S : string



Fellomena   (2002-04-02 15:32) [1]

Я бы рекомендовала использовать класс TStringList, загружая в переменную этого типа нужный тебе файл и затем работая с индексированными строками как душе угодно - удобно :)



MBo   (2002-04-02 15:34) [2]

>длина заранее не известна
а когда становится известна?



Alx2   (2002-04-02 15:40) [3]

И с какого места начинается строка?



Song   (2002-04-02 15:45) [4]


Var a: array [0..10] of Char;
...
ShowMessage(String(a));\



BofA   (2002-04-02 15:47) [5]

Пояснение :
Дан нетипизированный файл, в начале записано число (Integer), орпеделяющее размер строки, а далее сама строка; после строки записаны другие данные (не строки), поэтому TStringList не помогает.



Виктор Щербаков   (2002-04-02 15:49) [6]

Посмотри BlockRead.



MBo   (2002-04-02 15:52) [7]

и TFileStream - очень удобно.



Alx2   (2002-04-02 15:53) [8]

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;



BofA   (2002-04-02 16:16) [9]

2Alx2: Спасибо огромное! Это мне и надо.
Я пытался сделать то же самое, но писал не BlockRead(F,S[1],sSize); а BlockRead(F,S,sSize); и, естественно, это не работало.
Спасибо всем за помощь!
P.S.: Кстати, если кому интересно, я пишу редактор ID3v2 тэгов




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.15;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.73 MB
Время: 0.037 c
1-46302           Дима2                 2002-04-02 16:40  2002.04.15  
PolyLine


3-46254           BaLoo                 2002-03-23 19:22  2002.04.15  
Не могу найти WISQL и ibmgr32 в папке interbase bin


3-46247           .victor               2002-03-25 13:49  2002.04.15  
Хранение изображений в БД


1-46445           konrads               2002-04-03 10:19  2002.04.15  
Как проще всего сложить 2 байта по модулю 2


1-46356           андрей Татуков        2002-04-04 10:46  2002.04.15  
RichEdit.Print зависает (бесконечный Спулинг)