Q&A

  • 상수(const문) 사용법을 알고 싶습니다


얼마전부터 델파이를 공부하기 시작했는데..

상수사용법을 잘모르겠더군요.

아시는 분은 좀 자세히 설명을 해주셨으면 합니다.

그럼 더운 날씨에 수고 하시고..건강하시길....

1  COMMENTS
  • Profile
    노을 2000.08.05 07:22
    안녕하세요 노 을 입니다..



    음.. Uses 이하



    implementation 보다는 위에



    선언해서 사용하는 것입니다.





    const



    라고 해주면 그 부분 부터는 상수 선언부분이 되는 것이죠..

    (음.. 기억으로 원래 Pascal에서는 선언 순서까지 무자게 따졌다고 들었음

    Turbo-Pascal로 넘어오면서 순서 상관 없어진걸로 알고 있음..)



    그 다음에는



    (상수명) = (상수값)



    요렇게 사용 하면 됩니다.



    예를 들면,



    Pi = 3.141



    (--;.. 음 Pi 설마 미리 정의된 값은 아니겠지..)

    조런식으로 선언하고 나서



    S := 2*Pi*R;



    요런식으로 사용하면 됩니다.



    조것은..



    S := 2*3.141*R;



    과 동일하게 되죠 ^^..



    마찬가지로..



    String도 됩니다..



    TestString = '요건 TestString 이래요!!!~~';



    요렇게 선언해 주면,



    TestString은 '요건 TestString 이래요!!!~~' 와 같은 의미를 가지는 거죠..



    변수와는 틀린 겁니다.



    변수는 얼마든지 바꿀 수 있는 수...



    상수는 1,2,3... 같은 바꿀 수 없는 수..



    설마 --;..



    1 := 2*3;



    요런게 가능하리라 보지는 않으시겠죠?..



    요렇게 놓고 보면 쉽게 이해 되시겠죠 ^^..

    (웅 --;.. 너무 Over했나?...)



    상수 선언의 끝은..



    다른 선언의 시작 부분이라고 보면 됩니다..



    예를 들면,





    Type XXX = Record~~



    나 ..



    Var 나..



    Implementation 이나 등.. ^^..



    음... 추가로 말씀드리자면, Const 즉.. 상수 선언을 사용할 경우의 잇점은..



    문법책에 의하면,



    Application Code Page의 효율적인 저장 장소에 저장해서...



    성능을 최적화 한다네요 ^^..



    마지막으로 구체적 예



    -----------------

    unit CnstTEST;



    interface



    Const // 요기서 부터 상수 선언



    A = 10;

    B = 20;

    C = 'abc';

    D = 'def'; // 요기가 끝이네요.... 그 다음이 implementation 이니...



    implementaition



    ------------------



    가장 간단한 unit 하나네요 ^^..



    저런식으로 상수 선언만한 UNIT으로



    따로 독립해서 쓸수도 있어요.. (저렇게 하면,

    Source가 상당히 클때, 번잡함을 피할 수 있죠 ^^..)



    저렇게 선언한 상수는..



    Uses CnstTEST;



    요렇게 Uses에 추가해 주면 쓸 수 있구요 ^^..















    그럼 이만...



    꾸벅..



    꼭대기에 오르지 못한이에겐 꿈이 있기에 행복하다

    늘 푸르고 큰 꿈을 가지고 살아가는 사나이 노 을



    EzyRyder wrote:

    >

    > 얼마전부터 델파이를 공부하기 시작했는데..

    > 상수사용법을 잘모르겠더군요.

    > 아시는 분은 좀 자세히 설명을 해주셨으면 합니다.

    > 그럼 더운 날씨에 수고 하시고..건강하시길....