|
파일관련 함수중에..
FileAge()
이 함수를 이용하면 쉽게 해결됩니다..
참고 하세요..
<형식>
int FileAge(AnsiString FileName);
<예>
if(OpenDialog1->Execute())
Edit1->Text = FileAge(OpenDialog1->FileName);
반환되는 값을 비교해서 다르면 파일을 리오픈 하세염..
타이머를 이용해서 주기적으로 스캔해야 될 듯..
<참고>
반환값은 숫자로 나옵니다..
그냥봐서는 뭔지 알수 없지요.
비교외의 다른 목적으로(예. 사람이 확인할려면) 사용 할려면..
다음함수를 이용해서 날짜데이터로 변환후 사용해도 됨.
TDateTime FileDateToDateTime(int FileDate);
<예>
if(OpenDialog1->Execute())
Edit1->Text = (FileDateToDateTime(FileAge(OpenDialog1->FileName))).DateTimeString();
그리고..
FileOpen(OpenDialog1->FileName, fmOpenRead | fmShareDenyNone);
여기서 옵션을 fmShareDenyNone로 설정하면 다른 프로그램에서 쓰기가 안될듯한데염..
옵션을
fmShareCompat // 다른프로그램에서 읽기,쓰기 가능..
위의 옵션으로 바꾸시는게 좋을 듯합니다.
Gangs 님이 쓰신 글 :
: 로그 파일 입출력에 관련된 질문입니다.
:
: 프로그램을 돌리면서 (서비스 프로그램) 로그 파일을 작성하고 있을때
: 다른 프로그램에서 그 로그 파일을 참조하도록 할려고 하는데
:
: FileOpen(OpenDialog1->FileName, fmOpenRead | fmShareDenyNone);
:
: 이런식으로 파일을 열면 읽혀지기는 하지만 계속 추가되는 로그는 읽을수가 없습니다.
: 즉. 그때까지만 write 된 로그 파일을 읽게 되는데 계속 추가되는 로그를 잡아서
: 보여줄 방법이 없을까요.?
:
|