Delphi Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
델파이 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
FreePascal/Lazarus
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
델마당
볼랜드포럼 광고 모집

델파이 Q&A
Delphi Programming Q&A
[5336] [질문] 네트워크상의 파일 읽기->내용 갱신이 안되네요?
candk2 [ ] 1183 읽음    1998-12-02 05:59
충주성심학교 교사 김원석입니다.
학교 컴퓨터실에서 학생들의 조작 미숙으로 프로그램이 자꾸 지워져서
탐색기를 수업시간에만 사용하도록 하려고 합니다.

컴퓨터가 랜으로 연결되어 있기에, 교사용 컴퓨터에 있는 'allow.ini'파일에
쓰여진 내용에 따라 학생용 컴퓨터에서 탐색기 실행여부를 결정하도록 했습니다.
탐색기 자체에 신호를 주고 받는 것은 아니고, 가짜 탐색기 아이콘을 만들고
이 아이콘을 통해서 'allow.ini'를 읽고 탐색기를 실행시키도록 했습니다.

그런데 단순히 네트워크 드라이브명을 직접 써 넣어서 했더니
갱신된 내용이 나타나지 않고 처음 읽은 내용만 나타나는 군요.

<< 갱신된 내용이 바로바로 반영되도록 하려면 어떻게 해야 하나요? >>
쉽게 생각했더니 네트워크를 활용하는 건 역시 어렵군요.

//-----------------------------
//학생용 컴퓨터에 설치한 파일.
//-----------------------------
unit A_explorp;
... 중간 생략 ...

procedure TForm1.FormCreate(Sender: TObject);
var
usercheck : integer ;
inifile : tinifile;

begin
inifile := tinifile.create('\\s00\c\allow.ini');
          // 네트워크상의 교사용 컴퓨터에 있는 allow.ini파일 읽음.
          // 한컴퓨터('c:\allow.ini'로지정) 에서는 갱신된 내용이
          // 바로바로 읽혔으나,
          // 네트워크 디렉토리를 사용할 경우에는
          // 이 부분에서 갱신된 내용이 읽히지 않고 처음 읽은 내용만 나타남.
try
    begin
       usercheck:=inifile.readinteger('allowexplorer','allowYesNo',0);
       inifile.free;
       // allow.ini 파일의 내용이 1 이면 실행,  0 이면 실행 불가.
      if usercheck = 1 then
         winexec('C:\WINDOWS.000\EXPLORER.EXE /n,/e,C:\',SW_SHOWNORMAL)
                  // 학생용 컴퓨터 탐색기 실행
      else
         showMessage('지금은 탐색기를 사용할 수 없습니다.'
          +#13+'수업시간에는 선생님께 문의하세요.');

  end;
  except on E: EInOutError do
       // 교사용 컴퓨터가 꺼져 있거나 파일이 없을 경우.
       showMessage('지금은 탐색기를 사용할 수 없습니다.'
       +#13+'수업시간에는 선생님께 문의하세요.');
  end;


end;

procedure TForm1.Button1Click(Sender: TObject);
begin
close 
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
close //  프로그램이 실행되자마자 종료되도록 함.
end;

end.

//-----------------------------
//교사용 컴퓨터에 설치한 파일.
//-----------------------------
unit C_explorp;
... 중간 생략 ...

procedure TForm1.RadioGroup1Click(Sender: TObject);
var
usercheck : integer ;
inifile : tinifile;

begin
usercheck := 0 ;
  case RadioGroup1.ItemIndex of
    0 : usercheck :=1 ; // 사용 가
    1 : usercheck :=0 ; // 사용불가
  end;

inifile := tinifile.create('c:\allow.ini');
   try
      begin
       inifile.writeinteger('allowexplorer','allowYesNo',usercheck);
       inifile.free;
      end;
    except on E: EInOutError do
       showMessage('파일 수정이 안됩니다.');
    end;
end;

end.
//-------------------------------------------------------------
감사합니다.


+ -

관련 글 리스트
5336 [질문] 네트워크상의 파일 읽기->내용 갱신이 안되네요? candk2 1183 1998/12/02
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.