본문 바로가기
Delphi/문법

델파이 집합, 열거형, 열거형루프, 객체형

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

델파이 집합, 열거형, 열거형루프, 객체형

 

델파이 집합, 열거형, 객체형

 

집합 - 여러개의 원소를 가질수 있고, 교집합/차집합 등의 연산을 할 수 있습니다.

 

원소를 표현할때는 '[' ']'기호를 이용합니다.

 

type

  TMYEdges = set of ( deLeft, deTop, deRight, deBottom);

 

var

  Edges: TMyEdges;

begin

  Edges := [deLeft, deTop];

  Edgeg := [deLeft, deTop] - [deLeft, deRight]; // = [deLeft]

end;

 

열거형 : 개체 중에서 단 하나의 값만 가질 수 있습니다

 

type

  TMyEdgeStyle = ( desNone, desFlat, desRaised, desRaisedHeavy, desSunken,

                          desSunkenHeavy, desBump, desEtched );

var

  MyEdgeStyle: TMyEdgeStyle;

begin

  MyEdgeStyle := desNone;
  MyEdgeStyle := desEtched;

end;

 

객체형 : 사용하기 전에 생성해야하고 사용 후에 소멸시켜야 합니다.

 

type

  TMyLabel = class(TCustomLabel)

var

  MyLabel: TMyLabel;

 

begin

  MyLabel := TMyLabel.Create(Self);

  MyLabel.Caption := '라벨';

  ......

  MyLabel.Free;

end;

 

열거형 루프 

 

type

  TWeekdays = (Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday);

  Twonon = ( a = 5, b=10, c= 1+2, d = a+b);

  Tho = Tuesday..Friday;

 

procedure TForm2.Button1Click(Sender: TObject);

var

  wd : TWeekdays;

  won : Twonon;

begin

  { for wd := Low(TWeekdays) to High(TWeekdays) do

    begin

      ShowMessage(GetEnumName(TypeInfo(TWeekdays), Ord(wd)));

      ShowMessage(ord(wd).ToString);

    end; }

    won := a;

    ShowMessage(ord(won).ToString);

end;

728x90
반응형

댓글