여러개의 txt 파일을 하나씩 읽어서 차례로 DB에 입력하고 입력완료된 txt 파일은 다른 폴더로 옮길려고 하는데
CopyFile 한후 DeleteFile을 하면 파일이 안지워지네요..
MoveFile을 해도 마찬가지고요...
당췌 무슨 이유때문인지 모르겠습니다. 고수님들의 조언 부탁드립니다.
참고로 소스를 올립니다.
<!--CodeS-->
try
{$I-}
AssignFile(ReadFile, ls_path+'IFCCSPMSF01_'+ls_today+'.dat');
iConnectCnt := 0;
Reset(ReadFile);
while not Eof(ReadFile) do
Begin
ReadLn(ReadFile, sData);
with Qry do
begin
DB Insert 문장
end;
End;
CloseFile(ReadFile);
{$I+}
except
on E:Exception do
begin
LogWriter('에러',WM_SYSLOG_WRITE, frmMain.Handle);
end;
end;
sFileName := 'IFCCSPMSF01_'+ ls_today+'.dat';
if MoveFile(pChar(ls_path+sFileName),pChar(ls_path2+sFileName)) then
begin
logStr := sFileName + ' 파일 이동 완료';
SysLogMemo.Lines.Add('[ ' + FormatDateTime('HH:MM:SS', Now) + ' ] - ' +logStr);
LogWriter(logStr,WM_SYSLOG_WRITE, frmMain.Handle);
end
else
begin
logStr := sFileName + ' 파일 이동 실패';
SysLogMemo.Lines.Add('[ ' + FormatDateTime('HH:MM:SS', Now) + ' ] - ' +logStr);
LogWriter(logStr,WM_SYSLOG_WRITE, frmMain.Handle);
end;
sFileName := 'IFCCSPMSF01_'+ ls_today+'.AUDIT';
if MoveFile(pChar(ls_path+sFileName),pChar(ls_path2+sFileName)) then
begin
logStr := sFileName + ' 파일 이동 완료';
SysLogMemo.Lines.Add('[ ' + FormatDateTime('HH:MM:SS', Now) + ' ] - ' +logStr);
LogWriter(logStr,WM_SYSLOG_WRITE, frmMain.Handle);
end
else
begin
logStr := sFileName + ' 파일 이동 실패';
SysLogMemo.Lines.Add('[ ' + FormatDateTime('HH:MM:SS', Now) + ' ] - ' +logStr);
LogWriter(logStr,WM_SYSLOG_WRITE, frmMain.Handle);
end;
try
{$I-}
AssignFile(ReadFile, ls_path+'IFCCSPMSF02_'+ls_today+'.dat');
Reset(ReadFile);
While(Not EOF(ReadFile)) do
Begin
ReadLn(ReadFile, sData);
with Qry do
begin
DB Insert 문장
end;
End;
CloseFile(ReadFile);
{$I+}
except
on e:exception do
begin
LogWriter('에러',WM_SYSLOG_WRITE, frmMain.Handle);
end;
end;
sFileName := 'IFCCSPMSF02_'+ ls_today+'.dat';
if MoveFile(pChar(ls_path+sFileName),pChar(ls_path2+sFileName)) then
begin
logStr := sFileName + ' 파일 이동 완료';
SysLogMemo.Lines.Add('[ ' + FormatDateTime('HH:MM:SS', Now) + ' ] - ' +logStr);
LogWriter(logStr,WM_SYSLOG_WRITE, frmMain.Handle);
end
else
begin
logStr := sFileName + ' 파일 이동 실패';
SysLogMemo.Lines.Add('[ ' + FormatDateTime('HH:MM:SS', Now) + ' ] - ' +logStr);
LogWriter(logStr,WM_SYSLOG_WRITE, frmMain.Handle);
end;
sFileName := 'IFCCSPMSF02_'+ ls_today+'.AUDIT';
if MoveFile(pChar(ls_path+sFileName),pChar(ls_path2+sFileName)) then
begin
logStr := sFileName + ' 파일 이동 완료';
SysLogMemo.Lines.Add('[ ' + FormatDateTime('HH:MM:SS', Now) + ' ] - ' +logStr);
LogWriter(logStr,WM_SYSLOG_WRITE, frmMain.Handle);
end
else
begin
logStr := sFileName + ' 파일 이동 실패';
SysLogMemo.Lines.Add('[ ' + FormatDateTime('HH:MM:SS', Now) + ' ] - ' +logStr);
LogWriter(logStr,WM_SYSLOG_WRITE, frmMain.Handle);
end;
<!--CodeE-->
ls_path+sFileName란 파일이 존재하는지 먼저 확인해보시구요...
MoveFile의 리턴값이 뭐인지 보세요... 파일이동이 안