기존 integer 값 검증 함수다.
bool __fastcall IsInteger( const AnsiString &Value )
{
try
{
StrToInt( Value );
return true;
}
catch ( ... )
{
return false;
}
}
사용예
AnsiString Value = "10000";
int VInt = 0;
if ( IsInteger( Value ) == true )
{
VInt = StrToInt( Value );
}
숫자 변환함수를 호출하고 true 를 리턴한다.
에러가 발생하면 false 를 리턴한다.
이 방법은 exception 발생에 의한 방법이라 디버깅이 귀찮아 지게 된다.
다음은 검증/변환을 해주는 각종 VCL 함수다.
extern PACKAGE bool __fastcall TryStrToFloat(const AnsiString S, Extended &Value);
extern PACKAGE bool __fastcall TryStrToFloat(const AnsiString S, double &Value);
extern PACKAGE bool __fastcall TryStrToFloat(const AnsiString S, float &Value);
extern PACKAGE bool __fastcall TryStrToInt(const AnsiString S, int &Value);
extern PACKAGE bool __fastcall TryStrToDateTime(const AnsiString S, System::TDateTime &Value);
같은 이름 유형으로 함수가 더 있다.
이 함수들은 서로 다른 델파이 함수를 포장해 논 것이다.
이 외에서 StrToIntDef 등의 변환 오류시 기본값으로 반환하는 함수도 있다.
사용예
AnsiString Value = "1000";
int VInt = 0;
if ( TryStrToInt( Value, VInt ) == true )
{
}
'Windows > RAD Studio' 카테고리의 다른 글
[CB] KeyPad Virtual Key Value (0) | 2007.06.09 |
---|---|
[DEL] Deprecated Lists (0) | 2007.06.02 |
[CB] TCppWebBrowser 를 이용한 웹페이지 값 추출 (0) | 2007.05.25 |
[CB] TQuickRep 출력순서 (1) | 2007.05.13 |
[CB] 쓰레드끼리는 마구 침범할 수 없다. (0) | 2007.04.15 |