본문 바로가기
Delphi Tip/파일

델파이 파일복사 방법

by MonoSoft 2021. 10. 1.
728x90
반응형

델파이 파일복사 방법

 

 

unit Unit1;

 

interface

 

uses

 

Windows, Messages, SysUti= False;

 

end;

 

end;

 

// 파일의 존재여부 검사

function CheckSrcF(st: string): boolean;

begin

Resr(tgtfname);

inf.fFlags := 0 or FOF_MULTIDESTFILES;

if SHFileOperation(inf) = 0 tte(srcfname, fmOpenRead);

try

t := TFileStream.Create(tgtfname,fmOpenWrite or fmCreate );

try

t.CopyFrom(s, s.Size);

finally

t.Free;

end;

finally

s.Free;

end;

end;

 

// Block단위의 복사

function fcMemBlock(srcfname,tgtfname: string): boolean;

var

srcf,tgtf: file;

NumR,NumW: integer;

buff: array[1..2048] of char;

begin

Result := False;

if not CheckSrcF(srcfname) then

System.Exit;

if not OverWriteTgt(srcfname,tgtfname) then

System.Exit;

 

Result := True;

AssignFile(srcf, srcfname);

Reset(srcf, 1); {Open file, Record size = 1}

AssignFile(tgtf, d;

end;

 

// 위의 6가지 복사함수를 호출하는 루틴

function DoCopy(srcf,tgtf: string; cpm: TCopyMethod): boolean;

begin

case cpm of

cmMemStream : result := fcMemStream(srcf, tgtf);

cmMemBlock : result := fcMemBlock(srcf, tgtf);

cmLZCopy : result := fcLZCopy(srcf, tgtf);

cmFileStream : result := fcFStream(srcf, tgtf);

cmAPICopy : result := fcAPICopy(srcf, tgtf);

cmSHCopy : result := fcSHCopy(srcf, tgtf);

end;

end;

 

procedure TForm1.Button1Click(Sender: TObject);

begin

// 사용예

if DoCopy('c:\temp\smail.txt', 'c:\zzz\smail.txt', cmSHCopy) then

ShowMessage('복사 성공')

else

ShowMessage('복사 실패');

end;

end.

 

728x90
반응형

'Delphi Tip > 파일' 카테고리의 다른 글

Unix파일 (.sam) 델파이에서 읽기 방법  (0) 2021.10.06
텍스트 파일읽기 비교  (1) 2021.10.05
파일크기 구하기  (0) 2021.09.30
ini 파일 읽기/생성  (0) 2021.09.29
UTF-8 인코딩 파일 읽기  (0) 2021.09.28

댓글