Q&A

  • 젤 초보가...
매번 죄송합니다. ㅠ.ㅠ

에디트두개 만들고 에디트1에 1을 넣고 enter를 치면 에디트2에 날짜가 생성되게 하려고 하는데여 제가 실력으론 엔터쳐서 뭔가 생성된다는게 힘들어서여

코딩한건 그냥 참고입니다.

부탁합니다. 넙죽

바보라고 해두 좋아여, 배울수만 있다면,,,



procedure TForm1.Edit1Change(Sender: TObject);



begin

Edit1.Text := '1';

end;



procedure TForm1.Edit2Change(Sender: TObject);



begin

Edit2.Text := FormatDateTime( 'YYYY.MM', IncMonth(Now,-2) )

+ ' ~ ' + FormatDateTime( 'YYYY.MM', IncMonth(Now,-1) );

end;



procedure TForm1.Edit1Change(Sender: TObject);



begin

Edit1.Text :='2';

end;





procedure TForm1.Edit2Change(Sender: TObject);



begin

Edit2.Text := FormatDateTime( 'YYYY.MM', IncMonth(Now,-3) )

+ ' ~ ' + FormatDateTime( 'YYYY.MM', IncMonth(Now,-4) );

end;



end.

3  COMMENTS
  • Profile
    왕초보 2000.09.29 00:00
    질문에 대한 답이 맞는지 모르겠내요^^

    procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;

    Shift: TShiftState);

    begin

    if key = vk_return then

    begin

    <---------필요한 작업

    end;

    end;



    mickyblue wrote:

    > 매번 죄송합니다. ㅠ.ㅠ

    > 에디트두개 만들고 에디트1에 1을 넣고 enter를 치면 에디트2에 날짜가 생성되게 하려고 하는데여 제가 실력으론 엔터쳐서 뭔가 생성된다는게 힘들어서여

    > 코딩한건 그냥 참고입니다.

    > 부탁합니다. 넙죽

    > 바보라고 해두 좋아여, 배울수만 있다면,,,

    >

    > procedure TForm1.Edit1Change(Sender: TObject);

    >

    > begin

    > Edit1.Text := '1';

    > end;

    >

    > procedure TForm1.Edit2Change(Sender: TObject);

    >

    > begin

    > Edit2.Text := FormatDateTime( 'YYYY.MM', IncMonth(Now,-2) )

    > + ' ~ ' + FormatDateTime( 'YYYY.MM', IncMonth(Now,-1) );

    > end;

    >

    > procedure TForm1.Edit1Change(Sender: TObject);

    >

    > begin

    > Edit1.Text :='2';

    > end;

    >

    >

    > procedure TForm1.Edit2Change(Sender: TObject);

    >

    > begin

    > Edit2.Text := FormatDateTime( 'YYYY.MM', IncMonth(Now,-3) )

    > + ' ~ ' + FormatDateTime( 'YYYY.MM', IncMonth(Now,-4) );

    > end;

    >

    > end.

  • Profile
    강인규 2000.09.28 23:01
    거의 다 하셨구만요.

    진짜루 바보는 모르면서 알려구하지 않는 사람이지요.



    생각하신 작업을 하실려면 keyDown Event나 KeyPress Event에서 해주셔야 합니다.



    keydown시....



    if key=vk_return then begin//만일 엔터키를 눌렀다면.....

    Edit2.Text := FormatDateTime( 'YYYY.MM', IncMonth(Now,-(strtoint(edit1.text)+1) )

    + ' ~ ' + FormatDateTime( 'YYYY.MM', IncMonth(Now,-(strtoint(edit1.text)) );

    end;



    keypress시.....

    if key=#13 then begin//만일 엔터키를 눌렀다면.....

    Edit2.Text := FormatDateTime( 'YYYY.MM', IncMonth(Now,-(strtoint(edit1.text)+1) )

    + ' ~ ' + FormatDateTime( 'YYYY.MM', IncMonth(Now,-(strtoint(edit1.text)) );

    end;



    변수를 하나 쓰시면 코딩이 훨 간편하겠죠?

    var

    minusMunce : integer;



    minusMunce := strtoint(edit1.text); //이런식으루...



    keydown 이벤트를 쓰시려면 form의 keypreview를 true로 설정해주셔야 합니다.

    모르는게 있으면 재질문주세요.



    mickyblue wrote:

    > 매번 죄송합니다. ㅠ.ㅠ

    > 에디트두개 만들고 에디트1에 1을 넣고 enter를 치면 에디트2에 날짜가 생성되게 하려고 하는데여 제가 실력으론 엔터쳐서 뭔가 생성된다는게 힘들어서여

    > 코딩한건 그냥 참고입니다.

    > 부탁합니다. 넙죽

    > 바보라고 해두 좋아여, 배울수만 있다면,,,

    >

    > procedure TForm1.Edit1Change(Sender: TObject);

    >

    > begin

    > Edit1.Text := '1';

    > end;

    >

    > procedure TForm1.Edit2Change(Sender: TObject);

    >

    > begin

    > Edit2.Text := FormatDateTime( 'YYYY.MM', IncMonth(Now,-2) )

    > + ' ~ ' + FormatDateTime( 'YYYY.MM', IncMonth(Now,-1) );

    > end;

    >

    > procedure TForm1.Edit1Change(Sender: TObject);

    >

    > begin

    > Edit1.Text :='2';

    > end;

    >

    >

    > procedure TForm1.Edit2Change(Sender: TObject);

    >

    > begin

    > Edit2.Text := FormatDateTime( 'YYYY.MM', IncMonth(Now,-3) )

    > + ' ~ ' + FormatDateTime( 'YYYY.MM', IncMonth(Now,-4) );

    > end;

    >

    > end.

  • Profile
    임형호 2000.09.28 22:31
    위의 말씀하고 코딩하고는 어디가 좀 맞지 않는 느낌입니다. 제가 이해를 잘못했나???

    암튼...

    edit1에서 enter키를 치면 edit2에 날짜를 생성되게 한다는 말씀이죠?

    그건 edit1의 keypress나 keydown 이벤트를 이용하세요.



    keypress 이벤트라면



    procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);

    begin

    if key=#13 then //눌려진 key가 enterkey이면

    edit2.text:=어쩌구 저쩌구.....(실제처리할 내용)

    end;





    mickyblue wrote:

    > 매번 죄송합니다. ㅠ.ㅠ

    > 에디트두개 만들고 에디트1에 1을 넣고 enter를 치면 에디트2에 날짜가 생성되게 하려고 하는데여 제가 실력으론 엔터쳐서 뭔가 생성된다는게 힘들어서여

    > 코딩한건 그냥 참고입니다.

    > 부탁합니다. 넙죽

    > 바보라고 해두 좋아여, 배울수만 있다면,,,

    >

    > procedure TForm1.Edit1Change(Sender: TObject);

    >

    > begin

    > Edit1.Text := '1';

    > end;

    >

    > procedure TForm1.Edit2Change(Sender: TObject);

    >

    > begin

    > Edit2.Text := FormatDateTime( 'YYYY.MM', IncMonth(Now,-2) )

    > + ' ~ ' + FormatDateTime( 'YYYY.MM', IncMonth(Now,-1) );

    > end;

    >

    > procedure TForm1.Edit1Change(Sender: TObject);

    >

    > begin

    > Edit1.Text :='2';

    > end;

    >

    >

    > procedure TForm1.Edit2Change(Sender: TObject);

    >

    > begin

    > Edit2.Text := FormatDateTime( 'YYYY.MM', IncMonth(Now,-3) )

    > + ' ~ ' + FormatDateTime( 'YYYY.MM', IncMonth(Now,-4) );

    > end;

    >

    > end.