Q&A

  • CompareStr 함수의 리턴값의 의미는?
다음의 예문을 보아 주십시오.



var

String1, String2 : String;

i : integer;

begin

String1 := 'STEVE';

String2 := 'STEVe';

I := CompareStr(String1, String2);

if I<0 then <--------------------------------요 부분입니다.

ShowMessage('스트링값이 틀림니다.')

end;



왜 String 문자값이 같지 않은 것이 0 보다 작은 값이 나오지요?

같으면 0 이 되나요?

고수분들의 답변 부탁 드립니다.



2  COMMENTS
  • Profile
    나그네 2000.11.22 00:20
    delpo wrote:

    > 다음의 예문을 보아 주십시오.

    >

    > var

    > String1, String2 : String;

    > i : integer;

    > begin

    > String1 := 'STEVE';

    > String2 := 'STEVe';

    > I := CompareStr(String1, String2);

    > if I<0 then <--------------------------------요 부분입니다.

    > ShowMessage('스트링값이 틀림니다.')

    > end;

    >

    > 왜 String 문자값이 같지 않은 것이 0 보다 작은 값이 나오지요?

    > 같으면 0 이 되나요?

    > 고수분들의 답변 부탁 드립니다.

    >

    ShowMessage(IntToStr(i));

    해서 i값이 얼마가 나오는지 확인하면 간단 할듯..



  • Profile
    김일영 2000.11.22 00:17
    Delphi IDE에서 F1을 치면 나오는 헬프에

    CompareStr이라고 치시면 다음과 같은 내용이 나옵니다.



    CompareStr compares S1 to S2, with case-sensitivity. The return value is less than 0 if S1 is less than S2, 0 if S1 equals S2, or greater than 0 if S1 is greater than S2. The compare operation is based on the 8-bit ordinal value of each character and is not affected by the current Windows locale.



    위에서 less than / greater than의 의미는 비교하는 두 문자열을 사전식으로 놓는다고

    가정하면 어느 문자열이 앞에 놓이느냐 하는 의미입니다. (less가 앞입니다.)



    Help를 꼭 확인합시다.