|
StrToFloatDef 함수를 살펴보세요.
예외 발생안하고 지정한 기본값을 반환합니다.
아리 님이 쓰신 글 :
: 저장되어있는 엑셀파일을 열어서 그안에 데이타를 분석하고 에러인지 아닌지 판단하려고 하는데요.
: 엑셀파일 1~ 4열 까지는 한글로 데이타에 대한 정보가 저장되어있습니다.
: =======================================================================================
: 버전 : ver1.1.0.ha
: Date : 08/1/8
: hh:mm:ss data1 data2 data3
: 6:31:53 204 25 2
: 6:31:55 213 29 2
: 6:31:57 207 32 2
: 6:31:59 gdg 32 2
: =======================================================================================
: 이렇게 되어있는데 이게 문자열이 있으면 에러가 발생합니다.
: try~catch를 써서 에러처리를 생각하는데 잘 안되네요.
: 중간에 데이타에서 문자가 있으면 에러 카운터를 세려고 하는데
: 문자열 검사는 어떻게 해야 할지 답변 부탁드립니다.
:
: while(iRow <= data->Count){ //while
: iEnd = iRow - 1;
: if(iBegin > 0 && iEnd > 0 && iBegin < iEnd){//if3
: asString = asBuffer.SubString(iBegin, iEnd - iBegin + 1);
: // StringList에 넣은 후, comma로 구분한다.
: slTemp = new TStringList;
: slTemp->Clear();
: slTemp->Delimiter = char(9);
: slTemp->DelimitedText = asString;
:
: if(slTemp->Count == 4){//if4
:
: try{
: press = StrToFloat(slTemp->Strings[1]);
: temp = StrToFloat(slTemp->Strings[2]);
: state = StrToFloat(slTemp->Strings[3]);
: Form3->s_press_f->Checked = true;
: }
: catch(Exception& e){//문자에 대한 예외 처리
:
: }
:
: } //if4
: delete slTemp;
: slTemp = NULL;
: iRow++;
: }//if3
:
: if(!iFileHandle){
: FileClose(iFileHandle);
: iFileHandle = NULL;
: }
: iRow++;
: }//while
|