Форум: "Основная";
Текущий архив: 2002.06.03;
Скачать: [xml.tar.bz2];
ВнизПроблема с выводом текста в файл Найти похожие ветки
← →
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 вся ветка
Форум: "Основная";
Текущий архив: 2002.06.03;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.006 c