Вниз
Скачать: CL | DM;

Как прочитать строку из файла   Найти похожие ветки 

← →
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 тэгов



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.006 c
6-46470
viol-2
2002-02-04 11:14
2002.04.15
TWebBrowser


6-46466
Aleksey_K
2002-02-04 10:36
2002.04.15
pop3


4-46542
slym
2002-02-12 17:23
2002.04.15
Как из массива байтов сделать битмап?


3-46255
@andrew
2002-03-20 12:42
2002.04.15
Привет Всем! Как бороться с ошибкой.


14-46491
rambler
2002-03-05 17:58
2002.04.15
Вычисления.




   Наверх