Q&A

  • 폼생성시 edit 값들을 clear하고 싶은데요...초보의 질문^^
폼생성이 되면 이전에 조회했던 내용이 그대로 보여지는데요

폼생성시에 edit값들을 clear하려 하는데 clear하면 콤보박스의 item들도 clear

가 되더라구요,, 해결방법이 있나해서요,,

아참 그리구,, 질문 하나 더 있습니다,

checkbox를 dbgrid에 넣으려고 하는데 ? 부분을 어떻게 집어넣어야 하는지요
Parameters[19].Value:=checkbox2.?

이부분은 dbgrid에서 checkbox로 보내려는 부분인데 ?부분을 어떻게 해야하
는지 모르겠어요,,
checkbox2.?:=DBGRID1.Fields[19].?;

델파이 공부를 막시작하는 학생입니다.. 부끄럽기도 하지만, 부탁드립니다.
3  COMMENTS
  • Profile
    뚱~ 2004.01.20 00:59
    프로시저를 하나 만들어서 호출하시면 편할 겁니다.
    폼 생성시에, 새 데이터 입력시에 호출하면 되겠죠...^^
    인자값 Sender가 0이면 모든 컴포넌트의 텍스트를 지우고, 0이 아닌
    숫자를 주면 그숫자값이 태그에 있는 컴포넌트만 지웁니다.
    ** 이걸 응용해서 Enabled 프로퍼티를 조절하면 조회시에는 입력이나
    수정을 막고, 입력 버튼을 누를때만 편집할 수 있도록 할 수도 있겠죠..?

    ^^ 모르는 건 부끄러움이 아니랍니다.
    모르면서도 노력하지 않고, 아는척 하는게 진짜 부끄러운거죠..
    공부하시다가 많은 어려움에 부딪히겠지만, 용기를 내서 질문하시구요,
    다만 먼저 검색하는 습관을 들이시는게 좋습니다.
    아마 님이 원하시는 많은 부분의 해답이 있을겁니다.
    검색하는 습관을 잘 들이면 원하는 자료에 빨리 접근할 뿐만 아니라,
    어떤식으로 질문을 해야 빠른 답변이 올라오는지도 터득하게 된답니다.^^


    procedure TfrmGoods.ClearFocus(Sender: shortint);
    var
      i: integer;
    begin
      for i := 0 to ComponentCount -1 do
        if Sender =0 then begin
          if Components[i] is TFlatEdit then TFlatEdit(Components[i]).Text := '';
          if Components[i] is TFlatMemo then TFlatMemo(Components[i]).Text := '';
          if Components[i] is TwNumEdit then TwNumEdit(Components[i]).Value := 0;
          if Components[i] is TFlatComboBox then TFlatComboBox(Components[i]).ItemIndex := 0;
          if Components[i] is TwDateEdit then TwDateEdit(Components[i]).IsNull := True;
        end else begin
          if (Components[i] is TFlatEdit) and (TFlatEdit(Components[i]).Tag =Sender) then TFlatEdit(Components[i]).Text := '';
          if (Components[i] is TFlatMemo) and (TFlatMemo(Components[i]).Tag =Sender) then TFlatMemo(Components[i]).Text := '';
          if (Components[i] is TwNumEdit) and (TwNumEdit(Components[i]).Tag =Sender) then TwNumEdit(Components[i]).Value := 0;
          if Components[i] is TFlatComboBox then TFlatComboBox(Components[i]).ItemIndex := 0;
          if Components[i] is TwDateEdit then TwDateEdit(Components[i]).IsNull := True;
        end;
      wNumEdit9.Value := 2;  
    end;

  • Profile
    소울해커 2004.01.16 01:53
    폼 크리에이트 시에

    for i := 0 to ComponentCount - 1 do
      if Components[i].ClassName = 'TEdit' then
        TEdit(Components[i]).Text := '';

    하시면 되겠고...

    Parameters[19].Value := checkbox2.Checked;

    하시면 되겠죠.

    Parameters[19].Value 는 Boolean 값을 받을 수 있어야 합니다.

    만일 Parameters[19].Value가 숫자를 받을 수 있다면

    Parameters[19].Value := Ord(checkbox2.Checked);

    도 가능합니다. 그것도 아니고 문자를 받는다면

    Parameters[19].Value := IntToStr(Ord(checkbox2.Checked));

    하시면 되겠죠.

    그리고 마지막 꺼의 경우

    checkbox2.Checked := Bool(DBGRID1.Fields[19].AsBoolean);

    요렇게 하시면 되겠네요.

    이것도 필드의 형식이 문자일 경우엔

    checkbox2.Checked := Bool(StrToInt(DBGRID1.Fields[19].AsString));

    이렇게 하시면 되겠죠.

    True는 1이고 False는 0입니다.

    1/0으로 저장되지 않았다면 적당히 if문 써서 바꿔주시면 됩니다.



  • Profile
    강지형 2004.01.16 19:07
    좋은 답변 주셔서 정말 감사합니다, 열심히 공부하겠습니다..^^

    좋은하루 되세요

    • 김기성
    • 2004.01.16 23:37
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 석주현
      2004.01.18 09:06
      var   sr        : TSearchRec; begin   ...
    • 조용호
      2004.01.17 02:32
      FileListBox 라는 컴포넌트가 있습니다.. 무조권 리스트 박스에 읽어야 한다면 죄송..^^
    • 강지형
    • 2004.01.16 22:44
    • 2 COMMENTS
    • /
    • 0 LIKES
    • Crazy
      2004.01.17 02:25
      ADO Query 에 Datasource 가 연결되어 있지 않나요??? 연결되어 있다면 ADOQuery1.Delete 해보세요. 데이...
    • ^^!
      2004.01.17 00:30
      DBGrid가 연결되어 있는 쿼리/테이블 컴포넌트를 Close, Open 해주면 됩니다.
    • 강지형
    • 2004.01.16 20:13
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 꿈의대화
      2004.01.16 20:32
      .
    • 강지형
      2004.01.16 22:45
      님의 말씀대로 살펴보고 수정했더니 잘 되네여, ^^ 정말 감사합니다. 복많이 받으세요.,^^
    • 최용일
      2004.01.18 01:54
      안녕하세요. 최용일입니다. 파라매터에 TList형을 넣어야 하는데 Text형의 값이나 변수를 넣었을 때 발...
    • 시나브로
      2004.01.16 19:44
      불가능합니다. Windows CE 는 MS 에서 별도의 eMbeded C++ 4.0 같은 툴을 제공하고있습니다. PDA 나 ...
    • 김종오
    • 2004.01.16 06:54
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 석주현
      2004.01.18 08:57
      제가 알기론 GetWindowDC 해서 화면 DC를 얻어올 경우 다 쓰고 RealeaseDC를 해줘야 하는 걸로 알고 있...
    • 채창훈
    • 2004.01.16 04:16
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 김동주
    • 2004.01.16 03:01
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 진돌
    • 2004.01.16 02:30
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 김현주
      2004.01.16 03:53
      ex) ONDrawCell  event 에   with TStringGrid(Sender) do   begin ...
    • 진돌
      2004.01.16 04:33
      답변 감사합니다만... 셀의 색상이 아니구.. 선 색깔.... 기본적으로 회색으로 나오는데.. 검정색으로 하...
    • 최용일
      2004.01.16 05:04
      안녕하세요. 최용일입니다. 아래와 같이 해보세요... procedure TForm1.StringGrid1DrawCell(Sender:...
    • 최용일
      2004.01.16 04:22
      안녕하세요. 최용일입니다. 시작메뉴의 델파이 아이콘에서 등록정보를 보시면 시작위치가 있습니다. ...
    • 김영애
    • 2004.01.16 02:00
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 김영애
      2004.01.16 18:17
      두분 도움으로 해결했습니다. 감사드립니다.
    • 정말수
      2004.01.16 17:55
      query난 table을 open한다음 디자인 하시면 됩니다.
    • 손희석
      2004.01.16 08:01
      DBGrid1.Columns[(원하는 사이즈 컬럼인덱스)].Width := 원하는 사이즈; 초기화 할때 동적으로 설정해...
    • 강춘배
    • 2004.01.16 01:48
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 장덕곤
      2004.01.16 08:44
      var RR : Integer;     LS_IP,S_PARAM : String; begin     L...
    • 강춘배
      2004.01.16 21:27
      답변해 주셔서 정말 감사합니다. 꾸벅... 그런데 Ping이 되는지 안되는지를 어떻게 Check해야 되는지 모...
    • 임형호
    • 2004.01.16 01:24
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 김대식
    • 2004.01.16 00:49
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2004.01.16 04:26
      안녕하세요. 최용일입니다. 각각의 전문에 그 전문을 구별할 수 있는 식별자(ID)를 두어보세요... 그럼 ...
    • 박희경
    • 2004.01.16 00:26
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 박상기
      2004.01.16 01:25
      XXX.bpl이 없다고 메시지 나오면 XXX.dpk를 먼저 인스톨 하세요
    • 박희경
      2004.01.16 03:29
      답변 감사드립니다. 그런데 필요한 라이브러리 파일만 없다는 에러메시지만 나오지 무슨 bpl 인지는 나오...
    • 최용일
      2004.01.16 04:29
      안녕하세요. 최용일입니다. 퀀텀그리드는 안써봐서 잘 모르지만... Rx라이브러리는 안에 설치에 관한 도...
    • 박희경
      2004.01.16 19:31
    • 강지형
    • 2004.01.15 22:58
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 뚱~
      2004.01.20 00:59
      프로시저를 하나 만들어서 호출하시면 편할 겁니다. 폼 생성시에, 새 데이터 입력시에 호출하면 되겠죠......
    • 소울해커
      2004.01.16 01:53
      폼 크리에이트 시에 for i := 0 to ComponentCount - 1 do   if Components[i].ClassName = ...
    • 강지형
      2004.01.16 19:07
      좋은 답변 주셔서 정말 감사합니다, 열심히 공부하겠습니다..^^ 좋은하루 되세요
    • 박정순
    • 2004.01.15 21:20
    • 1 COMMENTS
    • /
    • 0 LIKES
    • KDDG_RNStone
      2004.01.16 00:06
      With  frmMain.Edit1  Do   Text := Text + m_signal; ^^; 즐프하세요....