Q&A

  • Class 정의 문제
>type
>  PointDataStructure = record
>     x : Single
>     y : Single
>     z : Single
>  end;
>  TShipStation = Class(TObject)
>  Public
>    Ship_St of Array PointDataStructure;
>  End;
>
>
>사용할때 비베에서는 Redim  
>
>Delphi 에서는 Setlength(Ship_St, 27);
>
>^^ 똑같죠
>
>소스에서 보면
>  ReDim Preserve Mb_ShipLine(1 To Mb_iStacnt)
>이부문은
>  Setlength(Mb_ShipLine, Mb_ILineCnt - 1);
>  For j := 0 To Mb_ILineCnt - 1
>이런식으로 대치됩니다.
>
--------------------------------------------------------------------
답변 잘 봤습니다.

그런 데 문제가 있어요~~

아래와 같이 ShipLine()이 하나의 Array이고 이것 바로 밑에 Point()가 또 Array로 구성되어 있거든요...

Mb_ShipLine(i).point(j).x, Mb_ShipLine(i).point(j).y, Mb_ShipLine(i).point(j).z

예를 들어 Mb_ShipLine(27).Point(12).x
              Mb_ShipLine(27).Point(12).y
              Mb_ShipLine(27).Point(12).z

와 같을 경우는 어떻게 하지요...

결국에 생기는 데이타는 1~27에 각각 12개의 Data가 생기지요..

27x12= 324개의 X Data, Y Data, Z Data가 생기지요

이것도 가능한가요
1  COMMENTS
  • Profile
    이중철 2004.05.28 01:13
    Mb_ShipLine 에 Point 말고 다른 레코드 멤버가 있나요

    Case 없을경우

    type
      PointDataStructure = record
        X, Y, Z : Single;
      end;
      TShipStation = Class(TObject)
      Public
        Mb_ShipLine : Array of Array of PointDataStructure;
      end;
    ....
      Setlength(Mb_ShipLine, 27);
      for i := 0 to 26 do
        SetLength( Mb_ShipLine[i], 12) ;
    ....
    사용시
       Mb_ShipLine[26, 3].X := ????
       Mb_ShipLine[26, 3].Y := ????
       Mb_ShipLine[26, 3].Z := ????

    Case 있을경우

    type
      PointDataStructure = record
        X, Y, Z : Single;
      end;

      PointData = record
        Point : Array of PointDataStructure;
      end;

      TShipStation = Class(TObject)
      Public
        Mb_ShipLine : Array of PointData;
      end;
    ....
      Setlength(Mb_ShipLine, 27);
      for i := 0 to 26 do
        SetLength( Mb_ShipLine[i].Point, 12) ;
    ....
    사용시
       Mb_ShipLine[26].Point[3].X := ????
       Mb_ShipLine[26].Point[3].Y := ????
       Mb_ShipLine[26].Point[3].Z := ????