Q&A

  • 네트웍 초보자의 어려움
저는 LAN에서 이루어 질수 있는 채팅 프로르램을 짤려고 하는데

어려운 점이 몇가지 있습니다. 좀 가르쳐 주십시요.



숫자형 변수 := strtoint(EditBox.Text);

이때 EditBox.Text 값이 숫자형으로 변하면 다행인데

문자같은 숫자로 바꿀수 없다면 메시지를 띄우고

다시 문자를 받아 들이는 방법



델파이에서 버튼을 클릭 했을때 .EXE 파일을 실행시키는 방법



ServerSockek이나 ClientSocket으로 자기 컴퓨터의 IP Address

알 수 있는 방법



Form1.Showmodal => Showmodal이게 뭐하는 것입니까?



윈도우의 닫기 버튼을 클릭해도 프로그램을 종료하지

않을 수 있는 방법





1  COMMENTS
  • Profile
    글쎄요. 1999.04.27 20:09
    1.첫번째 질문

    Edit1의 길이 제한을 두고 StrToIntDef함수를 사용해 체크하면 됩니다.

    다음은 그 예(길이 제한 5자리)

    var

    Number : Integer;

    begin

    Number := StrToIntDef( Edit1.Text , 100000 );

    if Number = 100000 then

    begin

    Application.MessageBox( '잘못 입력하셨습니다. 다시 입력해 주세요.', '알림', MB_OK+MB_DEFBUTTON1+MB_APPLMODAL );

    Edit1.Text := '';

    Edit1.SetFocus;

    Exit;

    end;

    end;



    2.두번째 질문

    WinExec함수를 사용해 보셔요. 아마 여러 팁란에 나와 있을 겁니다.

    procedure TAutoForm.Button1Click(Sender: TObject);

    begin

    WinExec('ServerSetup.exe',SW_SHOWNORMAL);

    end;



    3.세번째 질문

    네트워크 프로그램을 짤 때 보통 ip주소는 세팅할 수 있게 합니다.

    user가 세팅 할 수 있게 하면 됩니다.(서버 ip주소)서버에 접속이 되면

    접속된 클라이언트의 ip주소는 소켓의 프로퍼티로 알 수 있습니다.

    소켓에서 지원하니까 프로퍼티를 찾아 보셔요. 그리고 델파이에서 주는

    소켓 콤퍼넌트는 별로 좋지 않아서 안 쓰시느 것이 좋아요. 저는

    DWINSOCK 콤퍼넌트를 씁니다. 델코의 자료실에 있으니까 사용해 보셔요.



    4.Showmodal은 윈도우를 modal로 띄우는 겁니다. 그 윈도우가 종료되지

    않으면 다른 윈도우로 갈 수가 없습니다.



    5.CloseQuery이벤트의 CanClose를 False로 주면 종료가 안 되죠.

    혹은 아예 종료버튼을 사용하지 못하게 할 수도 있습니다.

    아마 여러 팁에 예제가 있을 겁니다. 찾아 보셔요.



    procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);

    begin

    if //조건 then

    begin

    //어떤 메쎄지 뿌려주셔요.

    CanClose := False;

    end

    else

    CanClose := True;

    end;

    그럼 즐거운 하루되셔요.