Q&A

  • 형이 정의되어 있지 않은 변수
안녕하세요.

Procedure AssignFile(var F; FileName: string);

요기 보면 매개변수 첫번째 F를 보면 형이 정의되어 있지 않네요.

다른 예제들 보니까 흔히들 F를 TextFile형으로 많이 쓰던데... 아무튼 저런 경우에 F는 어떤 변수이며, 왜 저렇게 쓰인건지 궁금해요...
3  COMMENTS
  • Profile
    방재웅 2003.07.04 01:37

    함수정의에서 위처럼 (var F) 이런식으로 파라메터가 선언된
    의미는 F가 흔히 C언어에서 말하는 const 포인터 변수이기 때문입니다.

    예를들어

    procedure Test();
    var
       aryTest : Array[0..100] of char;

    begin
       FillChar(aryTest,sizeof(aryTest),0);
    end;

    FillChar함수는 C언어에서 memset() 함수와 비슷한 기능을 합니다.
    즉 길이만큼 지정된 값으로 채우는 기능을 하죠.

    여기서 aryTest는 배열 aryTest를 가리키는 주소값입니다.

    델파이 헬프에서 Untyped Parameter 부분을 찾아보시면 됩니다.

    그리고 델파이에 대해서 조금더 깊이 아실려면
    "델파이 개체참조모델"에 관해서 연구하세요.




  • Profile
    KDDG_RNStone 2003.07.03 23:04
    델파이에서 지원하는 File형에는 꼭 TextFile만 있는게 아닙니다. 여러 타입의 파일을 지원하려다 보니 그런것 같군요. ^^



  • Profile
    장태원 2003.07.04 00:21
    Filename 은 아마도 TextFile 로 선언된 객체일것입니다.