Q&A

  • 동적배열에 관한 초보적인 질문좀....
안녕하세요.. 델파이 초보자예요..

배열을 사용하다가 Visual Basic 에서는

dim 품목명_Col as integer

품목명_Col=Grid.recordcount

REdim Arr(3, 품목명_Col)으로 배열을 선언하면 실행이 되는데 델파이에서는 어떻게 하는지요..

Arr: array(0..3, 0..품목명_Col)으로 하나깐 에러가 나더라구요...

행값은 그대로 상수값으로 주고, 열 값을 동적으로 할당하고 싶은데 도움을 주시면 감사하겠니다. Var 부분에서 부터 구체적으로 답변 부탁드릴께요...

1  COMMENTS
  • Profile
    김정 2000.10.14 06:54
    안녕하세요?

    고드름 김정입니다.



    var

    myArray : array of integer;

    yourArray : array of array of integer;

    nLen : integer;

    begin

    nLen := 10;

    SetLength( myArray, nLen );

    ... // 이렇게 사용하시면 됩니다.



    SetLength( myArray, 3 );

    SetLength( myArray[1], 3 );

    SetLength( myArray[2], 2 );

    SetLength( myArray[3], 1 );



    // 이렇게하시면 역삼각형 배열도 잡으실 수 있습니다.



    참고로 헬프에서는 256 byte 이내에서 사용하라고 권장하고 있습니다.

    내부 메모리 관리 문제 때문에 그런 것 같습니다.



    더 큰 메모리의 경우, pointer 형으로 잡고 GetMem() API 를 사용하세요.

    그럼.



    Kheart wrote:

    > 안녕하세요.. 델파이 초보자예요..

    > 배열을 사용하다가 Visual Basic 에서는

    > dim 품목명_Col as integer

    > 품목명_Col=Grid.recordcount

    > REdim Arr(3, 품목명_Col)으로 배열을 선언하면 실행이 되는데 델파이에서는 어떻게 하는지요..

    > Arr: array(0..3, 0..품목명_Col)으로 하나깐 에러가 나더라구요...

    > 행값은 그대로 상수값으로 주고, 열 값을 동적으로 할당하고 싶은데 도움을 주시면 감사하겠니다. Var 부분에서 부터 구체적으로 답변 부탁드릴께요...