Q&A

  • 개방형 배열의 핸들링방법이???
안녕하세여.. 타락임다. ^^



procedure Someone(A: array of const);



이런 개방형 배열을 가지는 함수를 만들고 싶어여..



함수에 값을 주는것 하고,



함수 안에서 개방형 배열의 인자의 타입은 알수 있는데,



배열의 인자를 핸들링을 못하겠네여..



왕고수님의 답변 바랍니다..



왕초보 타락천사. ㅠㅠ

1  COMMENTS
  • Profile
    최용일 2000.05.19 06:20
    안녕하세요. 최용일입니다.



    일반적인 배열처럼 사용하시면 됩니다. 배열의 크기는 High함수를 사용하시면 되구요.



    아래는 델파이 헬프에 있는 예제입니다.



    function MakeStr(const Args: array of const): string;

    const

    BoolChars: array[Boolean] of Char = ('F', 'T');

    var

    I: Integer;

    begin

    Result := '';

    for I := 0 to High(Args) do // 0 부터 배열의 끝까지

    with Args[I] do

    // Args[I] := 100; VType = vtInteger;

    // Args[I] := 'string' VType = vtString;

    case VType of

    vtInteger: Result := Result + IntToStr(VInteger);

    vtBoolean: Result := Result + BoolChars[VBoolean];

    vtChar: Result := Result + VChar;

    vtExtended: Result := Result + FloatToStr(VExtended^);

    vtString: Result := Result + VString^;

    vtPChar: Result := Result + VPChar;

    vtObject: Result := Result + VObject.ClassName;

    vtClass: Result := Result + VClass.ClassName;

    vtAnsiString: Result := Result + string(VAnsiString);

    vtCurrency: Result := Result + CurrToStr(VCurrency^);

    vtVariant: Result := Result + string(VVariant^);

    vtInt64: Result := Result + IntToStr(VInt64^);



    end;

    end;



    MakeStr(['test', 100, ' ', True, 3.14159, TForm])의 결과 값

    Return Value = test100 T3.14159TForm



    ^^ 항상 즐코하세요.

    타락천사 wrote:

    > 안녕하세여.. 타락임다. ^^

    >

    > procedure Someone(A: array of const);

    >

    > 이런 개방형 배열을 가지는 함수를 만들고 싶어여..

    >

    > 함수에 값을 주는것 하고,

    >

    > 함수 안에서 개방형 배열의 인자의 타입은 알수 있는데,

    >

    > 배열의 인자를 핸들링을 못하겠네여..

    >

    > 왕고수님의 답변 바랍니다..

    >

    > 왕초보 타락천사. ㅠㅠ