Q&A

  • SOS...
오늘날짜, 이번달, 다음에 버튼3을 눌렀을때 한달지난 다음달이 출력되게 할려면 어떻하나여

부탁드려여...



procedure TForm1.Button1Click(Sender: TObject);

begin

edit1.text:= '오늘은' + datetoStr(now);

end;



procedure TForm1.Button2Click(Sender: TObject);

begin

edit2.text:= '이번달은 ' + FormatDateTime('MM',now);

end;



procedure TForm1.Button3Click(Sender: TObject);

begin

edit3.text:= '다음달은 ' + FormatDateTime('MM',now-1);

end;



end.





2  COMMENTS
  • Profile
    방기남 2000.09.26 13:07
    주석문만으로도 충분히 알 수 있을거라 생각합니다.

    그런데, 만들어 놓고보니, 더 어렵게 해 놓았네요. 죄송 ^^



    unit Unit1;



    interface



    uses

    Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

    StdCtrls;



    type

    TForm1 = class(TForm)

    Edit1: TEdit; // 오 늘 출력창

    Edit2: TEdit; // 이번달 출력창

    Edit3: TEdit; // 다음달 출력창

    Button1: TButton; // 오 늘 버튼

    Button2: TButton; // 이번달 버튼

    Button3: TButton;

    procedure Button1Click(Sender: TObject);

    procedure Button2Click(Sender: TObject);

    procedure Button3Click(Sender: TObject); // 다음달 버튼

    private

    { Private declarations }

    public

    { Public declarations }

    function TestDate : String;

    end;



    var

    Form1: TForm1;

    Y1, M1, D1 : String;



    Y, M, D : Word;

    MyDate : TDateTime;



    implementation



    {$R *.DFM}



    procedure TForm1.Button1Click(Sender: TObject);

    begin

    // 이 방식은 2000-09-26 등과 같이 나타나죠.

    // 단순이 26일이라는 것만 나타내기 위해서는 차라리 함수를 하나 만드는 것이

    // 편할수도 있습니다.

    Edit1.Text := DateToStr(Now);



    // 또는 아래와 같이 사용하면 '26' 만 나오겠지요?

    // Edit1.Text := Copy(TestDate, 7, 2);

    end;



    // 날짜를 되돌려주는 함수

    function TForm1.TestDate : String;

    begin

    MyDate := Now;

    DecodeDate(MyDate, Y, M, D);



    // 구한 년, 월, 일 자료를 전역변수로..

    Y1 := IntToStr(Y);

    if Length(IntToStr(M)) < 2 then M1 := '0' + IntToStr(M)

    else M1 := IntToStr(M);

    if Length(IntToStr(D)) < 2 then D1 := '0' + IntToStr(D)

    else D1 := IntToStr(D);



    // 이렇게 하면, '20000926' 과 같이 하나의 문자열로 만들어지겠죠?

    // 이걸 잘라쓰는 무식한 방법을 사용합니다 ^^

    Result := Y1 + M1 + D1;

    end;



    procedure TForm1.Button2Click(Sender: TObject);

    begin

    Edit2.Text := Copy(TestDate, 5, 2);

    end;



    procedure TForm1.Button3Click(Sender: TObject);

    begin

    Inc(M);

    Edit3.Text := IntToStr(M);

    end;



    end.



  • Profile
    하얀까마귀 2000.09.25 21:31
    안녕하세요 하얀까마귀 입니다..



    검색해 보시면 나올텐데....



    IncMonth 라는 함수가 있구요..



    도움말에 보시면 자세히 나와 있습니다.. 그럼...



    즐거운시간 되세요



    - 초보 하얀까마귀 -

    mickyblue wrote:

    > 오늘날짜, 이번달, 다음에 버튼3을 눌렀을때 한달지난 다음달이 출력되게 할려면 어떻하나여

    > 부탁드려여...

    >

    > procedure TForm1.Button1Click(Sender: TObject);

    > begin

    > edit1.text:= '오늘은' + datetoStr(now);

    > end;

    >

    > procedure TForm1.Button2Click(Sender: TObject);

    > begin

    > edit2.text:= '이번달은 ' + FormatDateTime('MM',now);

    > end;

    >

    > procedure TForm1.Button3Click(Sender: TObject);

    > begin

    > edit3.text:= '다음달은 ' + FormatDateTime('MM',now-1);

    > end;

    >

    > end.

    >

    >