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

Проблема с выводом текста в файл   Найти похожие ветки 

← →
Kordel   (2002-05-23 00:26) [0]

Эта процедура вроде как должна вывести текст в переменной t в файл, но она выводит туда всякую чепуху хотя кол-во символов совпадает:

procedure FormatTextFile(OutputFileName: string);
var
outs: TFileStream;
t: string;
begin
t:= EmptyStr;
outs:=TFileStream.Create(OutputFileName,fmCreate);
t:="some text";
outs.Write(t, length(t));
outs.Free;
end;

Помогите. Спасибо.

ЗЫ:
Может кто-нить напишет как грамотно выводит текст в файл используя потоки?


← →
VID ©   (2002-05-23 00:40) [1]

ну потоки, потоками, а можно и через AssignFile... REWRITE/APPEND сохранять..
ещё можно создать TSTRINGLIST, добавить в него t (ts.add(t)), и сохранить это добро в файл (ts.savetofile)


← →
Kordel   (2002-05-23 00:50) [2]

2VID ты умный человек, но мне надо через потоки, и я не понимаю почему не пашет то, что я написал! А через файлы противоречит моему желанию, тем более, что можно через потоки.


← →
Vad ©   (2002-05-23 04:03) [3]

Видима, все таки, надо добавить такую переменную:
buf:array[0..250]of char;

а потом загонять строку в нее:
StrPcopy(buf,t);

и писать уже:
outs.Write(buf, length(t));

;-)))


← →
MBo ©   (2002-05-23 06:57) [4]

Уважаемый, в другой твоей ветке я уже писал, как грамотно делать

procedure FormatTextFile(OutputFileName: string);
var
outs: TFileStream;
t: string;
begin
outs:=TFileStream.Create(OutputFileName,fmCreate);
t:="some text";
outs.Write( t[1], length(t));
outs.Free;
end;

Учти также, что для удобства чтения стоит сначала записать в поток длину строки
l:=length(t);
outs.Write(l,sixeof(l));




← →
Kordel   (2002-05-23 11:28) [5]

2МВо
Ну слава богу то, что я записал читать (пока, по крайней мере) не придется. Но почему надо именно так???


← →
MBo ©   (2002-05-23 13:06) [6]

потому что t-string-ansistring является на самом деле указателем, и так outs.Write(t, length(t));
запишется не строка, а значение указателя на нее и последующий блок памяти. А вот t[1] -это адрес начала строки



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

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



Память: 0.46 MB
Время: 0.008 c
8-7132
Dmitrii
2002-01-08 15:46
2002.06.03
Подскажите как прочитать только часть изображения из файла jpg


1-7023
MegaVolt
2002-05-16 13:18
2002.06.03
Как сделать дерево выбора каталога с CheckBox`ами?


4-7263
skywalker
2002-03-11 17:55
2002.06.03
Как поднять форму на передний план?


4-7273
alexru
2002-03-29 20:44
2002.06.03
Как следить за изменениями в реестре


1-7107
antistatic
2002-05-22 15:46
2002.06.03
Мигающий курсор в Memo1




   Наверх