Q&A

  • txt파일 삭제하는법좀 알려 주세요
여러개의 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-->
2  COMMENTS
  • Profile
    최용일 2005.10.28 02:32
    안녕하세요. 최용일입니다.

    ls_path+sFileName란 파일이 존재하는지 먼저 확인해보시구요...

    MoveFile의 리턴값이 뭐인지 보세요... 파일이동이 안
  • Profile
    서재덕 2005.10.28 18:42
    말씀하신대로 중간중간 try로 해서 잡아내니깐 되네요..

    감사합니다. 꾸벅 (_ _)