Q&A

  • 문자열 관련 문의좀 드리겠습니다.
다름이 아니구요...

제가 파일을 실시간 감시하여 변경된 내용을 뛰워야 하거든요...

procedure TForm1.Timer1Timer(Sender: TObject);
var
aa : THandle;  crFileTime: TFileTime;  laFileTime: TFileTime;  lwFileTime: TFileTime;  lcFT : TFileTime;  lc  : Integer;  Td : TDateTime;
begin
  aa := FileOpen('c:\123.txt', fmOpenRead or fmShareDenyNone);
  GetFileTime(aa, @crFileTime , @laFileTime, @lwFileTime );
  FileTimeToLocalFileTime(lwFileTime, lcFT);
  FileTimeToDosDateTime(lcFT, LongRec(lc).Hi, LongRec(lc).Lo);
  Td := FileDateToDateTime(lc);
  edit2.Text := FormatDateTime('yyyy-mm-dd hh:nn:ss:zzz', Td);
  FileClose(aa);

  if edit1.text <> edit2.text then begin
    edit1.Text := edit2.Text;
    showmessage('11');
  end;
end;

이런식으로 만들었거든요...

프로그램 시작시 edit1에 123.txt파일 최종변경시간 저장하고 타이머로 감시하여 123.txt 최종변경 시간이 변경되면
edit2에 저장함과 동시에 edit1에 저장된 값을 비교하여 일치하지 않으면 업데이트로 간주 그후 edit1에 다시 최종변경시간을 업데이트 하는 방식으로 감시부분은 완성을 했습니다.

근데 문제는 123.txt 파일에 글자들이 계속 업데이트 되는데요.....
젤 마지막 업데이트된 부분을 감지하여서 메세지창을 뛰어야 하거든요...

[PO] OP=1
[P0] OP=2
[2009-23232]

이런식으로 계쏙 데이타가 쌓이는데요...
파일변경시 변경된 파일 젤 마지막부분 PO의 OP 값을 가져와서
메세지창을 뛰어야 하거든요.......

이건 어떻게 하면 되나요?
POS로 하면 된다고 하시는것 같던데.....
도통 알수가 없어서요 ㅠㅠ;;

실례가 안된다면 샘플코드라도 부탁드리면 안될까요? ㅠㅠ
0  COMMENTS