본문 바로가기
Delphi/문법

열거형의 사용방법

by MonoSoft 2021. 10. 8.
728x90
반응형

열거형의 사용방법

 

unit Unit1;

 

interface

 

uses

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

  StdCtrls, ExtCtrls;

 

type

  TForm1 = class(TForm)

    Memo1: TMemo;

    Panel1: TPanel;

    Button1: TButton;

    procedure Button1Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

 

var

  Form1: TForm1;


implementation

 

{$R *.DFM}


type

 { 열거형을 정의한다 }

 DayOfWeek = (Mon, Tue, Wed, Thu, Fri, Sat, Sun);

var

 {열거형 변수를 선언 }

 today: DayOfWeek;

 

{ 열거형을 사용하는 방법을 보여주는 함수이다 }

function WordDay( TargetDay: DayOfWeek ): string;

var

   dayStr: string;

begin

    case TargetDay of

       Mon : dayStr := 'Monday';

       Tue : dayStr := 'Tuesday';

       Wed : dayStr := 'Wednesday';

       Thu : dayStr := 'Thursday';

       Fri : dayStr := 'Friday';

       Sat : dayStr := 'Saturday';

       Sun : dayStr := 'Sunday';

   else

       dayStr := 'Unknown';

    end; { case }

    result := dayStr;  { Note the implicit identifier here. }

end; { Procedure WordDay }

 

procedure TForm1.Button1Click(Sender: TObject);

begin

    { Mon 을 대입한다  }

    today := Mon;

    { WordDay 함수를 호출  }

    Memo1.Lines.Add(WordDay(today) );

    {다음 것을 기준으로 삼는다}

    today := succ( today );

    Memo1.Lines.Add( WordDay(today) );

    {이전것을 기준으로 삼는다 }

    today := pred( today );

    Memo1.Lines.Add( WordDay(today) );

    { Ord 함수는 몇번째에 있는지 알고 싶을때  }

    { 유용하게 사용할수 있다                  }

    Memo1.Lines.Add(IntToStr( ord(Mon) ));

    Memo1.Lines.Add(IntToStr( ord(Sun) ));

end;

 

end.

728x90
반응형

댓글