안녕 하세요..
요즘 만들어 놓은 프로그램에 DB 백업용으로 압축 프로그램을 삽입 하려고 하니 어렵네요.. 압축은 어떻게 해 보겠는데.. 풀기가 않됩니다.
환경
MSACCESS DB
델파이 6
아래에 소스가 있습니다.. 한번 보시고 문제점 알려 주세요.. 부탁드립니다.
procedure TfrmDbZip.tbnUZipClick(Sender: TObject);
var
strRestoreDir: string; // 화일 위치
aDir : String; // 설치할 폴더
i: integer;
begin
if ActiveControl <> grdF01 then exit;
if grdF01.Cells[0,grdF01.Row] <> '' then begin
// 설치할 폴더 정하기
aDir := Copy(grdF01.Cells[0,grdF01.Row],1,4)+Copy(grdF01.Cells[0,grdF01.Row],6,2)+
Copy(grdF01.Cells[0,grdF01.Row],9,2)+grdF01.Cells[1,grdF01.Row];
///////
// 설치할 폴더 path 저장////
strRestoreDir := fDbPath+'DB'+aDir;
// 설치할 폴더가 존재 하는지 점검
IF Not DirectoryExists(strRestoreDir) then
ForceDirectories(strRestoreDir);
// strRestoreDir 의 마지막에 있는지 점검
IF Copy(strRestoreDir, Length(strRestoreDir), 1) <> '' Then
strRestoreDir := strRestoreDir + '';
// 압축 풀기
with ZipMaster1 do begin
ExtrBaseDir := strRestoreDir;
ZipFilename := strRestoreDir+grdF01.Cells[3,grdF01.Row];
FSpecArgs.Clear;
FSpecArgs.Add(strRestoreDir + grdF01.Cells[3,grdF01.Row] );
intTotalFileSize := 0;
try
Extract;
AboutBox(250,250,1,'알림','복원작업이 완료되었습니다.');
except
Warnings('경고', grdF01.Cells[3,grdF01.Row]+#13+'복원중 장애가 발생했습니다.');
edtF01.SetFocus;
edtF01.SelectAll;
exit;
end;
end;
end;
end;