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);
Var I,code : integer; begin Val(Edit1.Text,I,code); if Code0 then --> 이 구문은 무슨 뜻이지요??(O과 같지 않다라고 함은) MessageDlg('Error at Position:'+IntToStr(Code),mtwaring,[mbok],0); else ShowMessage('value= 'IntToStr...
안녕하세염^^
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;