Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.01.26;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.05 c
1-83177
Miwa
2004-01-14 23:10
2004.01.26
Ошибка приведения типов


4-83303
User_OKA
2003-11-21 09:29
2004.01.26
Получение информации о выполняющихся в системе процессах


14-83253
kaif
2004-01-05 23:31
2004.01.26
Marilyn Manson - душка!


4-83299
_8989
2003-11-19 15:13
2004.01.26
Список СД-РОМов


7-83291
Gang
2003-10-09 17:52
2004.01.26
CTRL+ALT+DEL





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский