Q&A

  • case 문에 관하여.
adkey1= record case byte of

0 : (key1 : byte;

key2 : btdate;

key3 : bttime;

key4 : byte);

1 : (blk : array[1..10] of char;);

end;



구조체를 선언하는데 이렇게 했더라구요..

이건 무슨 의미인지..

전 비베를 하는 사람으로 델파이 소스를 보고 비베로 컨버전(??? 사실 짜기 싫어서 소스를 구했는데... 후후..) 할려고 하는데 도데체 어떻게 변수를 선언해야 하는 건지 아리까리 해서...



부탁함다.......

1  COMMENTS
  • Profile
    치치 2001.12.28 03:18
    그런 형태는 C 에서 Union 에 해당한다고 보면 됩니다.

    구조체가 여러가지 형태를 가질수 있는 것을 그렇게 정의하죠.

    일단 TRect 의 구조체도

    TRect = record case integer of

    0: (TopLeft: TPoint,

    BottomRight: TPoint);

    1: (Left: Longint;

    Top: Longint;

    Right: Longint;

    Bottom: Longint);

    end;



    위의 것처럼 하죠.

    그래서 Rect.TopLeft 나 Rect.Top 로 접근할 수 있는거죠.



    유형종 wrote:

    > adkey1= record case byte of

    > 0 : (key1 : byte;

    > key2 : btdate;

    > key3 : bttime;

    > key4 : byte);

    > 1 : (blk : array[1..10] of char;);

    > end;

    >

    > 구조체를 선언하는데 이렇게 했더라구요..

    > 이건 무슨 의미인지..

    > 전 비베를 하는 사람으로 델파이 소스를 보고 비베로 컨버전(??? 사실 짜기 싫어서 소스를 구했는데... 후후..) 할려고 하는데 도데체 어떻게 변수를 선언해야 하는 건지 아리까리 해서...

    >

    > 부탁함다.......