Q&A

  • 기초중에 기초 질문
어떻게든 실행해야 하는데 강인규님 좀전에 감사합니다. 근데 에러가 많네여.

중요한건 제가 에러 잡을 실력이 안된다는 겁니다.

도와주세여. 짠주한잔 살게여 ^.^



unit Unit1;



interface



uses

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

StdCtrls;



type

TForm1 = class(TForm)

Edit1: TEdit;

Button1: TButton;

Edit2: TEdit;

private

{ Private declarations }

public

{ Public declarations }

end;



var

Form1: TForm1;



implementation



{$R *.DFM}



procedure TForm1.Button1Click(Sender: TObject);

var

i : Integer;

begin

i := strtoint(edit1.Text)-1;

Edit2.Text := FormatDateTime('yyyy''년''mm''월',now-i);

end;



end.



1  COMMENTS
  • Profile
    돌머리 2000.09.19 23:28
    안녕하세요 김동원입니다.



    mickyblue 님

    먼저 FormatDateTime 함수형식을 익혀야 겠네요..

    도움말을 보면 자세히 나와 있습니다.



    function FormatDateTime(const Format: string; DateTime: TDateTime): string;



    Format 은 DateTime을 표시하는 형식을 말합니다.

    구성되는 내용은

    yy => 연도

    mm => 달

    dd => 일

    hh => 시간

    nn => 분

    ss => 초

    로 구성됩니다.

    자동 완성 const도 있는데 이건 도움말을 참조하시고

    그외의 문자는 그대로 표시합니다.

    아래 예제는

    i := strtoint(edit1.Text)-1;

    Edit2.Text := FormatDateTime('yyyy''년''mm''월',now-i);

    몇가지 부분에서 잘못 되어 있군요.

    먼저 ['yyyy''년''mm''월']은 하나의 문자열로 만들어야 합니다.

    예를 들면 ['yyyy'+'년'+'mm'+'월']이나 ['yyyy년mm월']로 말입니다.

    후자가 훨씬 깔끔하겠지요..



    그리고.. 두번째 문제는

    Now는 현재 날짜시간을 리턴하는 함수 입니다.

    Now - 1 은 어제의 이시간을 뜻하는 것이고

    Now + 1 은 내일의 이시간을 뜻합니다.

    문제는 표시형식에는 달 까지만 표시하게 해놓고..

    숫자를 1,2,3, 순으로 더하거나 뺀다고 해서 무조건 달이 변하는것은

    아니라는 것입니다.

    오늘이 이달의 마지막 날이라면 Now에 1을 더할경우 다음달

    1일로 바뀌면서 달이 변하겠지만 말입니다.



    님이 원하는게 날짜렬 변화시켜 출력하는 것이라면

    Edit2.Text := FormatDateTime('yyyy년mm월dd일',now+(변화하고자하는날짜수));

    이렇게 하면 될것이고...

    날짜가 아닌 달을 변화시키려한다면.

    조금의 코딩이 필요하겟지요..



    즐코하세요..



    mickyblue wrote:

    > 어떻게든 실행해야 하는데 강인규님 좀전에 감사합니다. 근데 에러가 많네여.

    > 중요한건 제가 에러 잡을 실력이 안된다는 겁니다.

    > 도와주세여. 짠주한잔 살게여 ^.^

    >

    > unit Unit1;

    >

    > interface

    >

    > uses

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

    > StdCtrls;

    >

    > type

    > TForm1 = class(TForm)

    > Edit1: TEdit;

    > Button1: TButton;

    > Edit2: TEdit;

    > private

    > { Private declarations }

    > public

    > { Public declarations }

    > end;

    >

    > var

    > Form1: TForm1;

    >

    > implementation

    >

    > {$R *.DFM}

    >

    > procedure TForm1.Button1Click(Sender: TObject);

    > var

    > i : Integer;

    > begin

    > i := strtoint(edit1.Text)-1;

    > Edit2.Text := FormatDateTime('yyyy''년''mm''월',now-i);

    > end;

    >

    > end.

    >