Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.29;
Скачать: CL | DM;

Вниз

Как заменить содержимое файла, открываемого с помощью TFileStream   Найти похожие ветки 

 
GreySerg   (2004-08-14 23:04) [0]

Как заменить содержимое файла, открываемого с помощью TFileStream ?

Чё-то такой код неправильно выполняется :

var
 fStream: TFileStream;
 sStream: TStringStream;
 S: String;
begin
 try
   fStream:=TFileStream.Create(FileName ,fmOpenReadWrite or fmShareDenyWrite );
   sStream := TStringStream.Create("");
   try
     sStream.CopyFrom(fStream,fStream.Size);
     S := sStream.DataString;

// какие-то действия со строкой S, представляющей файл

     fStream.Position := 0;
     fStream.Write(S,Length(S));
   finally
     sStream.Free;
     fStream.Free
   end
 except
 end
end;

Мастера , подскажите как надо правильно ?


 
Mim1 ©   (2004-08-14 23:06) [1]

fStream.Write(pointer(S)^,Length(S));

И ни в коем случае не надо  
except
end
ни к чему хорошему не приведет.


 
Anatoly Podgoretsky ©   (2004-08-14 23:18) [2]

Ну тогда же будет сообщение об ошибки, зачем программиста пугать?


 
GreySerg   (2004-08-14 23:43) [3]

> Mim1 ©
Спасибо , только перед строкой fStream.Position := 0; надо ещё поставить  fStream.Size := Length(S);

а except
end - это я ловлю ошибки, чтобы не выводило их


 
Andy BitOff ©   (2004-08-15 02:13) [4]

>это я ловлю ошибки, чтобы не выводило их

Тонко =) Надо писать, так чтобы их не было, а если могут быть, то их надо обрабатывать.


 
Anatoly Podgoretsky ©   (2004-08-15 07:41) [5]

Я же и говорю боязливый программист :-)



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

Текущий архив: 2004.08.29;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.062 c
3-1091834330
yozh_programmer
2004-08-07 03:18
2004.08.29
Извлечение данных из готового набора!


1-1092643603
Diman
2004-08-16 12:06
2004.08.29
RichEdit


1-1092657799
jonik_sj
2004-08-16 16:03
2004.08.29
Присвоение метода во время выполнения программы


14-1091961456
Agent13
2004-08-08 14:37
2004.08.29
BSOD: Inaccessible boot device


3-1091619121
Алексей
2004-08-04 15:32
2004.08.29
FOX, ADO и отрицательный числа