Q&A

  • SetLength 매소드에 관한 질문이요~
도움말을 보면 procedure SetLength(var S; NewLength: Integer); 되어 있던데..

그렇다면 변수 a는 string형의 'abc'란 글자가 들어있고 변수 b는 longint형의 2002 라면
setlength(a, b); 게 했을시에는 어떻게 되는건가요?
1  COMMENTS
  • Profile
    강형철 2002.05.03 22:41
    SetLength 함수는 여러가지 기능이 있습니다.

    1. 첫번째로 문자열의 크기를 임의적으로 설정하는 것입니다.
      szStr := 'abc';  // 크기 3
      ShowMessage( IntToStr( Length( szStr ) ) );  // 3을 표시
      SetLength( szStr, 2002 );  // String형의 szStr 변수의 크기를 2002로 설정
       // 참고로.. 이전의 크기보다 클경우 내용은 보존되고 작으면 나머지는 짤립니다.
      ShowMessage( IntToStr( Length( szStr ) ) );  // 2002을 표시

    2. 둘째로 동적 배열의 크기를 설정합니다. 설정된 메모리의 시작은
        0번째부터 시작합니다.
      var
         ArrayInt : Array of Integer;
         nIndex : Integer;
       begin
              SetLength( ArrayInt, 10 );  // 배열이 10개인 동적 메모리 할당
              for nIndex := 0 to 9 do
                   ArrayInt[ nIndex ] := nIndex;
             ArrayInt := nil;                  // 동적 메모리 해제
       end;      

    그럼 이만... 도움이 되기를...