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

Вниз

TFileStream   Найти похожие ветки 

 
Prankster   (2004-01-10 19:16) [0]

пытаюсь скопировать из одного файла в другой с помощью TFileStream, вылетает с ошибкой
вот код:

var a,b:TfileStream;
i:integer;
s:string;
begin
a:=TFileStream.Create(Edit1.Text,fmOpenRead,0);
b:=TFileStream.Create(edit2.Text,fmOpenReadWrite,0);
a.Position:=0;
while a.Position<=a.Size do begin
a.Read(s,1);
b.Write(s,1);
a.Position:=a.Position+1;
end;
a.Destroy;
b.Destroy;
end;


 
Andy BitOff ©   (2004-01-10 19:21) [1]

позволяет скопиpовать как весь файл пpи From и Count = 0,
так и пpоизвольный его кусок.
function CopyFile( InFile,OutFile: String; From,Count: Longint ): Longint;
var
InFS,OutFS: TFileStream;
begin
InFS := TFileStream.Create( InFile, fmOpenRead );
OutFS := TFileStream.Create( OutFile, fmCreate );
InFS.Seek( From, soFromBeginning );
Result := OutFS.CopyFrom( InFS, Count );
InFS.Free;
OutFS.Free;
end;

try..except pасставляются по вкусу, а навоpоты вpоде установки
атpибутов,даты и вpемени файла и т.п. для ясности удалены, да и не нужны
они в основном никогда.
Не моё, но прекрасно работает


 
Prankster   (2004-01-10 19:40) [2]

пасибо


 
Prankster   (2004-01-10 21:04) [3]

блин, а как в существующий файл дописать? а то он затирает, пробовал переделать так

OutFS := TFileStream.Create( OutFile, fmOpenReadWrite);

не получилось, он всё равно старый файл затирает


 
YuRock ©   (2004-01-10 21:10) [4]

Наверное, так:

...
InFS.Seek(0, soFromEnd);
...


 
Prankster   (2004-01-14 22:02) [5]

не, вот так

InfOut.position:=infout.size;



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

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

Наверх




Память: 0.47 MB
Время: 0.011 c
7-83295
Kinder
2003-11-08 18:02
2004.01.26
Сколько мышь накатала?


1-83183
Opryshok
2004-01-14 19:04
2004.01.26
Drag URL from browser and Drop to my application.


4-83298
Demetrius2003
2003-11-18 12:36
2004.01.26
Shell_TrayWnd


1-83207
xia
2004-01-13 22:13
2004.01.26
Вставить в popupmenu edit.


1-83196
Andersen
2004-01-14 16:17
2004.01.26
Как сделать так, чтобы второе окно не появлялось