Главная страница
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.049 c
14-83271
Kair
2004-01-04 10:50
2004.01.26
Методы оптимизации


1-83158
pserg
2004-01-14 23:58
2004.01.26
Поиск фрагмента текста в файлах MSWord


3-83123
Апач
2003-12-29 15:42
2004.01.26
Работа с DBGrid


3-83102
evniy12
2003-12-29 08:23
2004.01.26
Как загрузить в Combobox данные через ADO


14-83240
Sural
2004-01-05 23:42
2004.01.26
как поиграть в