Q&A

  • Checkbox, RadioButton에 관한 질문 입니다.
안녕하세요
수고 많습니다.
궁금한 것이 있어서 질문 합니다.

아래는 CheckBox을 체크를 할때 EditBox가 값이 없을경우 메세지를
띄우는 작업입니다.
그런데 작업을 하다 보니
메세지가 두번 나타나는데 한번 나타나게 하는 방법이 없을까요
  
procedure TFAccountcust.CheckBox1Click(Sender: TObject);
begin

if (FlatEdit1.text='') then
   begin
   Application.MessageBox(PChar('Please Confirm... Customer Code is
                                                  not empty..'),
                                                  'Confirm',mb_Ok+mb_iconwarning);
   Checkbox1.Checked:=False; //이부분에서 한번더 내부를 들어가서
                                               한번더 실행을 하니까 두번 메세지가
                                               나타납니다. 이부분을 한번만 실행되게끔
                                              하는  방법이나, Property 설정이 없을까요
                            
   FlatEdit1.Setfocus;
   exit;
   end;
end;
5  COMMENTS
  • Profile
    최용일 2003.01.08 20:36
    안녕하세요. 최용일입니다.

    비교하실때 Checkbox1.Checked를 비교해보시면 되겠네요...

    if (FlatEdit1.text='') and CheckBox1.Checked then
    begin
        ....
    end;

    ^^ 항상 즐코하세요...

  • Profile
    김수경 2003.01.08 20:40
    CheckBox1MouseUp 즉, OnMouseUp Event에서 처리하는 것도
    한 방법일 것 같습니다.

    참고하시구여~


  • Profile
    Galaxy 2003.01.08 21:08
    답변에 너무너무 감사 드립니다.
    한가지 더 질문이 있어서 이렇게 질문을 합니다.

    이럴 경우에는 어떻게 해야 합니까?
    이것도 위에서 질문한것 처럼 내부로 들어가서 두번이 실행이 됩니다.
    이것은 다른 문제 인지 알고 싶습니다.

    procedure TFAccountcust.Button1Click(Sender: TObject);
    begin
    DateEdit1.Clear;//이부분에서 내부로 들어감
    end;

    procedure TFAccountcust.DateEdit1Change(Sender: TObject);
    begin
    with kg1 do
         begin
         SCells[0, Row]:=DateEdit1.Text;
         BIll_Seq:=BillSeq_Call('PAID',DateWrite(DateEdit1.text), 4);
         SCells[1, Row]:='PAID';
         SCells[5, Row]:='PAID';
         DateEdit1.Visible:=False;
         end;
    end;


    P.S
    아무리 노력을 해도 되지 않아서 이런 문제가 발생하면
    이렇게 사용하고 있습니다.
    procedure TFAccountcust.Button1Click(Sender: TObject);
    var
    i1:integer;
    begin
    i1:=1;
    DateEdit1.Clear;//이부분에서 내부로 들어감
    i1:=0;
    end;

    procedure TFAccountcust.DateEdit1Change(Sender: TObject);
    begin
    if (i1 <> 1) then
    with kg1 do
         begin
         SCells[0, Row]:=DateEdit1.Text;
         BIll_Seq:=BillSeq_Call('PAID',DateWrite(DateEdit1.text), 4);
         SCells[1, Row]:='PAID';
         SCells[5, Row]:='PAID';
         DateEdit1.Visible:=False;
         end;
    end;

    정답을 모르니 이렇게 사용했습니다.
    이해 주세요

    그럼 수고 하세요

  • Profile
    최용일 2003.01.08 22:03
    안녕하세요. 최용일입니다.

    아까와 같은 경우입니다.

    DateEdit1.Clear; 를 하시면 DateEdit1가 변경이 되었기 때문에 OnChange이벤트를 호출하게 됩니다.

    뭐 여러가지 방법이 있지만 아까와는 다른 방법을 알려드리죠...
    DateEdit1.Clear;호출하시기 전에 이벤트링크를 제거해보세요. 물론 끝난뒤에는 원상복귀해주셔야겠죠...

    procedure TFAccountcust.Button1Click(Sender: TObject);
    begin
        DateEdit1.OnChange := nil;
        DateEdit1.Clear;
        DateEdit1.OnChange := DateEdit1Change;
    end;

    ^^ 항상 즐코하세요...

  • Profile
    Galaxy 2003.01.08 23:42
    • 강재규
    • 2003.01.09 03:11
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 정종필
      2003.01.09 20:29
      저도 델파이 잘 하진 못하지만.. 제 짧은 소견으로는.. 에러메세지에 나온 그대도.. 확보 해 놓지 않은 (...
    • 김용덕
      2003.01.09 06:12
      안녕하세요. 제가보기에는 좀 문제가 있어 보이는군요. 핸들값이 일정치 않게 바뀐다고 하셨는데요. 제...
    • JJH
    • 2003.01.09 01:37
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 임형호
      2003.01.09 02:53
      OpenDialog.Files.Count
    • 세라핌
    • 2003.01.08 21:31
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 포맷
    • 2003.01.08 20:36
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 구창민
      2003.01.08 22:24
      안녕하세여~ 구창민입니다. 1. Windows.pas 에 선언되어 있습니다. 2. WaitFor 함수의 Result 겠군여...
    • 포맷
      2003.01.08 23:01
      1.  windows.pas에  INFINITE = DWORD($FFFFFFFF);     { Infini...
    • 김만구
    • 2003.01.08 20:34
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 구창민
      2003.01.08 21:26
      안녕하세요~ 구창민입니다. SetValue 프로시져에서 FloatToStr 로 치환해서 대입해보세요. Self.Text...
    • 김만구
      2003.01.09 02:48
      정말 감사합니다...^^
    • shem
    • 2003.01.08 20:06
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 구창민
      2003.01.08 21:07
      안녕하세용 구창민입니다. 코드 어디에선가 무한루프를 돌지 않는지 확인해보세요. F7, F8 을 이용해...
    • 김수경
      2003.01.08 20:53
      뾰족한 답이 없는 질문이네염 ^^; stack overflow 에러는 말 그대로 Stack이 모자란 경우입니다. 일반...
    • Galaxy
    • 2003.01.08 20:02
    • 5 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2003.01.08 20:36
      안녕하세요. 최용일입니다. 비교하실때 Checkbox1.Checked를 비교해보시면 되겠네요... if (FlatEdit...
    • 김수경
      2003.01.08 20:40
      CheckBox1MouseUp 즉, OnMouseUp Event에서 처리하는 것도 한 방법일 것 같습니다. 참고하시구여~
    • Galaxy
      2003.01.08 21:08
      답변에 너무너무 감사 드립니다. 한가지 더 질문이 있어서 이렇게 질문을 합니다. 이럴 경우에는 어떻...
    • 최용일
      2003.01.08 22:03
      안녕하세요. 최용일입니다. 아까와 같은 경우입니다. DateEdit1.Clear; 를 하시면 DateEdit1가 변경...
    • Galaxy
      2003.01.08 23:42
    • (_^^)~U
    • 2003.01.08 19:21
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 프리맨
      2003.01.08 19:53
      용량 줄이시려면 압축률을 조정하시면 되구요... 보간법으로 줄이실때는 가장 크기가 비슷한(보다 큰) ...
    • (_^^)~U
      2003.01.08 20:18
      답변 감사 합니다. 밑에 소스가 델마당에서 가져온 소스거든요 제가 이미지 처음 다뤄봐서 그러거든요 ...
    • 최은하
    • 2003.01.08 18:58
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2003.01.08 20:41
      안녕하세요. 최용일입니다. List := IdTCPServer1.Threads.LockList;    위 부분이 주석...
    • 최은하
      2003.01.09 20:08
           이제서야 뭔가가........... 정말 고맙습니다.   또.. 질문한다는...
    • 전원이
    • 2003.01.08 18:15
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2003.01.08 20:44
      안녕하세요. 최용일입니다. 말 그대로입니다. 양쪽 컴퓨터의 FlatStyle컴포넌트가 다르나 보네요... ...
    • 전원이
      2003.01.08 21:04
      양쪽 컴포넌트는 똑같거든요... 그쪽 컴에 있는거 복사해서 설치했고... 또한 인터넷에서 받아서도 설치...
    • 최용일
      2003.01.08 21:58
      안녕하세요. 최용일입니다. 델파이의 에러메세지는 믿을만 합니다. 터보C와는 달리 정확합니다... RP...
    • 최호석
    • 2003.01.08 09:12
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 박장용
      2003.01.08 20:06
      win2000이나 xp에서 개발된 프로그램을 98에서 실행할 경우 한글폰트에 문제가 발생합니다. 영문 Charset...
    • 임청택
    • 2003.01.08 07:34
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 미리내
    • 2003.01.08 03:44
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 고재남
      2003.01.08 19:31
      @^^; 저도 초보라 답변이 될런지... qrshape component를 detail band에 놓으시고 qrshape property...
    • 넘버3
      2003.01.08 03:50
      다음 함수를 이용하세요.그럼 즐프~~~~ function ExtractFileDir(const FileName: string): string; ...
    • KDDG_ZZOM
      2003.01.08 03:44
      예전에 어떤분이 알려주신건데 성함을 잘모르겠네요...^^ 즐프하세요... unit Unit1; interface ...
    • 하병준
    • 2003.01.08 03:06
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 채경수
    • 2003.01.08 02:32
    • 0 COMMENTS
    • /
    • 0 LIKES