สามวิธีในการใช้การคัดลอกไฟล์ใน Delphi
1. เรียกใช้ฟังก์ชัน API
PROcedure CopyFile (FromFileName, ToFileName:string);
var
f1,f2:ไฟล์;
เริ่ม
AssignFile(f1,FromFileName); file://ระบุชื่อไฟล์ต้นฉบับ
AssignFile(f2,ToFileName); file://ระบุชื่อไฟล์เป้าหมาย
รีเซ็ต(f1);
พยายาม
เขียนใหม่(f2);
พยายาม
ถ้า Lzcopy(TfileRec(f1).handle,TfileRec(f2).Handle)<0
แล้ว
Raise EinoutError.creat ('ข้อผิดพลาดในการคัดลอกไฟล์')
ในที่สุด
CloseFile(f2); ไฟล์://ปิด f2
จบ;
ในที่สุด
จนถึงความยาว(sLine)<=0;
จบ;
จบ;
2.ไฟล์สตรีม
ไฟล์สำเนาขั้นตอน;
var f1,f2: tfilestream;
เริ่ม
f1:=Tfilestream.Create(ชื่อไฟล์ต้นฉบับ,fmopenread);
พยายาม
f2:=Tfilestream.Create(ชื่อไฟล์เป้าหมาย,fmopenwrite หรือ fmcreate);
พยายาม
f2.คัดลอกจาก(f1,f1.size);
ในที่สุด
f2.ฟรี;
จบ;
ในที่สุด
f1.ฟรี;
จบ;
จบ;
3. การใช้งานโดยใช้บล็อกหน่วยความจำเพื่ออ่านและเขียนบัฟเฟอร์
Procudure FileCopy (const Fromfile, Tofile: string);
วาร์
F1,F2:ไฟล์;
NumRead,ตัวเลขที่เขียน:Word;
Buf: อาร์เรย์ [1..2048] ของถ่าน;
เริ่ม
AssignFile(F1,จากไฟล์);
รีเซ็ต(F1,1);
AssignFile(F2,โทไฟล์);
เขียนใหม่(F2,1);
ทำซ้ำ
BlockRead(F1,buf,ขนาดของ(buf),NumRead);
BlockWrite(F2,buf,Numread,NumWritten);
จนกระทั่ง (NumRead=0) หรือ (NumWritten<>NumRead);
ปิดไฟล์(F1);
ปิดไฟล์(F2);
จบ;