Q&A

  • 다음의 뜻을 해석해 주세요.. 죄송합니다.너무 실력이 없어서
Var I,code : integer;

begin

Val(Edit1.Text,I,code);

if Code<>0 then --> 이 구문은 무슨 뜻이지요??(O과 같지 않다라고 함은)



MessageDlg('Error at Position:'+IntToStr(Code),mtwaring,[mbok],0);

else

ShowMessage('value= 'IntToStr(I));

end;

2  COMMENTS
  • Profile
    액션가면 2001.01.06 00:11


    안녕하세염^^



    val프로시져는 문자형을 숫자형으로 변환가능한지를 체크해주는 역활을 합니다.

    (저도 헬프보고 알았네요..쓰질 않아서^^)

    아래의 영문헬프에서 말하는것처럼

    문자형에서 숫자형으로 변환이가능한지 판단해서

    변환에 문제가 없다면 code값을 zero로 세팅을 해주고

    만약 에러가 나는 부분이 있다면 그 부분의 위치값을 돌려줍니다.



    만약 edit1.text에 '12a3'이라는 값이 있다면

    a부분에서 에러가 나기때문에 code값을 3으로 던져주겠져?

    '123'이라면 아무 문제가 없기때문에 code값을 0으로 줍니다..

    그래서 if문에서 문자형에서 숫자형으로 변환가능한지 체크해주는겁니다..



    이해가 가실련지..



    좋은하루되세여^^



    If the string is invalid, the index of the offending character is stored in Code; otherwise, Code is set to zero. For a null-terminated string, the error position returned in Code is one larger than the actual zero-based index of the character in error.







    컴사랑 wrote:

    > Var I,code : integer;

    > begin

    > Val(Edit1.Text,I,code);

    > if Code<>0 then --> 이 구문은 무슨 뜻이지요??(O과 같지 않다라고 함은)

    >

    > MessageDlg('Error at Position:'+IntToStr(Code),mtwaring,[mbok],0);

    > else

    > ShowMessage('value= 'IntToStr(I));

    > end;

  • Profile
    바보감자 2001.01.06 00:00
    컴사랑 wrote:

    > Var I,code : integer;

    > begin

    > Val(Edit1.Text,I,code);

    > if Code<>0 then --> 이 구문은 무슨 뜻이지요??(O과 같지 않다라고 함은)

    >

    > MessageDlg('Error at Position:'+IntToStr(Code),mtwaring,[mbok],0);

    > else

    > ShowMessage('value= 'IntToStr(I));

    > end;





    안녕하세요 ^^

    if 문은 어떤건지 잘 아실꺼구요...

    조건이 맞으면...실행되는거죠...

    저말을 그대로 풀어볼께요...

    code 라는 변수에 들어있는값이.. code 란변수는 인티져네요..(숫자타입)

    0 이 아니면...

    에러 메세지가 출력되구요...

    0 이면. 다른 메세지가 출력되는거네요..

    ^^;;