Q&A

  • StringGrid에서 ComboBox 사용
가끔 프로그램을 보면 StringGrid나 DBGrid의 Cell에서 ComboBox의 형태를 가진

컴포넌트를 보게 되는데 이렇게 생긴 컴포넌트가 있나요?

아니면 구현하는 방법은?



임시방편으로 Grid의 크기를 조절하고 Cell의 위에 ComboBox를 올려놓아

눈속임으로 만들어 보았는데 아무리 생각해봐도 이게 아닌 듯 싶거든요.

또, 안에 간단한 아이콘이나 그림이 들어가게 할려면 어떻게 해야하나요?

컴포넌트를 찾아보고, 눈속임으로 해보다가 여기에 질문을 올립니다.



3  COMMENTS
  • Profile
    강경중 1999.04.27 05:12
    저는 LAN에서 이루어 질수 있는 채팅 프로르램을 짤려고 하는데

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



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

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

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

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



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



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

    알 수 있는 방법



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



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

    않을 수 있는 방법





  • Profile
    구창민 1999.07.08 02:15
    이명학 께서 말씀하시기를...

    > 가끔 프로그램을 보면 StringGrid나 DBGrid의 Cell에서 ComboBox의 형태를 가진

    > 컴포넌트를 보게 되는데 이렇게 생긴 컴포넌트가 있나요?

    > 아니면 구현하는 방법은?

    >

    > 임시방편으로 Grid의 크기를 조절하고 Cell의 위에 ComboBox를 올려놓아

    > 눈속임으로 만들어 보았는데 아무리 생각해봐도 이게 아닌 듯 싶거든요.

    > 또, 안에 간단한 아이콘이나 그림이 들어가게 할려면 어떻게 해야하나요?

    > 컴포넌트를 찾아보고, 눈속임으로 해보다가 여기에 질문을 올립니다.

    >



    이명학님 안녕하세요?

    일전에 작성해본건데 스트링 그리드위에 체크박스를 올리는 겁니다.

    체크박스가 스트링그리드의 특정 위치를 클릭하면 그 위치에서

    뜨게 해 두었구요..

    참조되시길~

    그럼 즐거운 프로그래밍 되세요~



    procedure TForm1.StringGrid1DrawCell(Sender: TObject; Col, Row: Integer;

    Rect: TRect; State: TGridDrawState);

    begin

    if (gdFocused in state) then

    begin

    with CheckBox1 do

    begin

    Left := Rect.Left + StringGrid1.Left;

    Top := Rect.Top + StringGrid1.Top;

    Width := Rect.Right - Rect.Left;

    // Visible := true;

    end;

    end;

    end;



  • 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;

    그럼 즐거운 하루되셔요.



    • 정찬기
    • 1999.04.27 19:01
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 신인재
      1999.04.27 22:02
      Components 메뉴에 import ActiveX Control항목을 선택하면 ListBox에 인스톨이 가능한 ActiveX컨트롤들...
    • 이상국
    • 1999.07.08 03:27
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이상국
      1999.07.09 03:42
      이상국 께서 말씀하시기를... > Install Shield Pro 5.1로 BDE 5.0을 설치하려고 합니다. > > 근데 ww...
    • 이동수
    • 1999.04.27 02:26
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 안치봉
      1999.04.27 09:03
      이동수 wrote: > 일반적인 DLL의 사용은 하고 있는데 > 필요에 의해서 C로 만든 DLL을 사용해야 합니다....
    • 한경수
    • 1999.04.27 03:19
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 안치봉
      1999.04.27 08:59
      한경수 wrote: > 델파이 초보자 입니다. > > 소스를 분석하다 보면 > XXX.Create(Application); > ...
    • 박성훈
    • 1999.07.08 02:10
    • 10 COMMENTS
    • /
    • 0 LIKES
    • rain
      1999.04.27 04:49
    • 조복기
      1999.07.08 02:41
    • 신인재
      1999.04.27 07:29
    • 구창민
      1999.07.08 02:53
    • 구창민
      1999.07.08 03:20
    • 조복기
      1999.07.08 03:33
    • 구창민
      1999.07.08 04:05
    • • • •
    • 이명학
    • 1999.07.08 01:40
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 강경중
      1999.04.27 05:12
      저는 LAN에서 이루어 질수 있는 채팅 프로르램을 짤려고 하는데 어려운 점이 몇가지 있습니다. 좀 가르쳐 ...
    • 구창민
      1999.07.08 02:15
      이명학 께서 말씀하시기를... > 가끔 프로그램을 보면 StringGrid나 DBGrid의 Cell에서 ComboBox의 형태를...
    • 글쎄요.
      1999.04.27 20:09
      1.첫번째 질문 Edit1의 길이 제한을 두고 StrToIntDef함수를 사용해 체크하면 됩니다. 다음은 그 예(길이...
    • 한경수
    • 1999.04.26 23:34
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 안치봉
      1999.04.27 01:28
      한경수 wrote: > 하나의 윈도우에서 윈도우를 브라우저의 프레임을 나누어 왼쪽의 메뉴를 누를때 마다 각...
    • rain
      1999.04.27 05:09
      안치봉 wrote: > 한경수 wrote: > > 하나의 윈도우에서 윈도우를 브라우저의 프레임을 나누어 왼쪽의 메...
    • rain
      1999.04.27 04:49
      어플리케이션이 실행되면 보통 작업표시줄에 나타나게 되는데, 작업표시줄에 나타나지 않고 실행되게 하려...
    • 구창민
      1999.07.08 02:07
      서경철 께서 말씀하시기를... > 배열로 버튼을 만들때는 TButton.Create(Self); > 이렇게 해서 만들었는...
    • 신인재
      1999.04.27 07:29
      rain wrote: > 어플리케이션이 실행되면 보통 작업표시줄에 나타나게 되는데, > 작업표시줄에 나타나지 ...
    • 서경철
      1999.07.12 20:10
      > TImage.Create메소드는 TComponents 에서 override 된 메소드이므로 > 위와 같이 하셔도 동작되어야 합...
    • 이정욱
      1999.07.08 01:49
      음 이상하군요.. 당연히 되어야 하는데... 쩝.. 전 이렇게 합니다. var i : integer; Image : ar...
    • 강성만
    • 1999.07.08 01:06
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 고혜정
      1999.04.25 12:36
      안녕하세요.. 오래간 만에 들어와보니 달라 졌군요. 스토오드 프로시저 컴포넌트를 사용할 기회가 생겼는...
    • 신호성
      1999.07.08 19:02
      강성만 께서 말씀하시기를... > 안녕하세요... > 매번 여기서 답변을 얻는 방문객입니다.. > 질문에 답...
    • 신호성
      1999.04.27 04:11
      고혜정 wrote: > 안녕하세요.. 오래간 만에 들어와보니 달라 졌군요. > 스토오드 프로시저 컴포넌트를 ...
    • 노인네
      1999.07.08 00:25
      안녕하세요.. 다름이 아니라 일반 메모( Memo )컴퍼넌트에서는 Memo1.Lines.Add( ' Add line '); 을 ...
    • 신호성
      1999.04.27 03:49
      류 wrote: > 안녕하세요... > 질문을 드리게 됐네요... > > 2개의 테이블을 비교하여 즉 A 테이블과 B...
    • 구창민
      1999.07.08 01:38
      노인네 께서 말씀하시기를... > 안녕하세요.. > > 다름이 아니라 일반 메모( Memo )컴퍼넌트에서는 > ...
    • 구창민
      1999.04.26 22:20
      류 wrote: > 안녕하세요... > 질문을 드리게 됐네요... > > 2개의 테이블을 비교하여 즉 A 테이블과 B...
    • 한경수
    • 1999.04.27 03:19
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 안치봉
      1999.04.27 08:59
      한경수 wrote: > 델파이 초보자 입니다. > > 소스를 분석하다 보면 > XXX.Create(Application); > ...
    • 이정욱
      1999.07.08 01:46
      쩝.. 제가 사용하는 방법은 이렇습니다. 델파이로~ 먼저 전역변수를 하나 놓아야 겠죠? var Button...
    • 문보석
      1999.07.08 04:14
      답변감사드립니다... 쩝... 제가 원하는 것은 단순히 이정욱님의 말씀대로 버튼을 눌렀을때 루프문이...
    • 안치봉
      1999.07.08 04:18
      PeekMessage, GetMessage 를 사용해 보시죠... 자세한건 Win32 API 도움말을 참고하세요. 아니면 순...
    • 신인재
      1999.04.27 03:19
      박재근 wrote: > 프로그램을 작성중인데 입력받은 날짜(문자형)을 시간형으로 변경하여야 하는 데 > 그때...
    • tedeum
    • 1999.07.08 00:08
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최수영
      1999.07.11 20:22
      tedeum 께서 말씀하시기를... > with StProc do begin > If Active Then Close; > ParamByNam...