Форум: "Основная";
Поиск по всему сайту: 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.72 MB
Время: 0.019 c
4-46544           Romul                 2002-02-14 12:14  2002.04.15  
Как проверить свернуто ли окно


6-46465           Ghostbuster           2002-02-04 07:05  2002.04.15  
Win98 и dos-клент


1-46426           dimonf                2002-04-02 21:13  2002.04.15  
Как сделать, чтобы QuickReport-а не было видно на моей форме?


1-46419           Nestor                2002-04-02 18:04  2002.04.15  
InstallShield


3-46260           Бур                   2002-03-21 11:54  2002.04.15  
Как восстановить соединение с базой ...