关于Label和Edit组件的字符串转换的问题。高手请围观!
小弟现在想写一个小程序,我不打算建立数据库,主窗口直接从各个子窗口读取相应数据,我想的是从子窗口Label->Caption或者Edit->Text中读出相应的字符串,然后运用StrToInt()函数对其进行转换后,参与主窗口后面的运算。
现在问题出现了,运用StrToInt()函数转换后的数据好像不能直接参与运算,提示有错误!(编译的时候没有错误但是运行时出现了提示框,具体信息如下所述)
对话框中的错误提示:
project ×××.exe raised exception class EConvertError with message '''is not a valid integer value'.process stopped .Use Step or Run to continue.
[解决办法]
不是所有字符串都能转int 看错误的提示很显然你取到的值是空
[解决办法]
如果字符串不是一个合法的整数,在转换时就会抛出EConvertError一场,一般这样处理
try {
nValue = Edit1->Text.ToInt();
} catch ( EConvertError &e ) {
ShowMessage("请输入有效的数值");
Edit1->SetFocus();
return false;
}
.......
[解决办法]