我很难将变量 String 和 Integer 分开以传入“if()”语句。我有两个变量"buffString"
,"buffInteger"
当我将 buffString 放入“if()”语句时,我想在 buffString 变量中取字符串“Data Stop”,然后设置为 RichEdit 以显示“Data Stop”,但问题是当填充与其错误buffInteger
相同的过程中。buffString
并且编译器说"Data Stop"
不是有效的整数值
void __fastcall TfrmServer::ComPort1RxChar(TObject *Sender, int Count)
{
String buff;
ComPort1->ReadStr(buff,255);
BUF_RX->Data_suhu = buff; // source
int bufferInteger;
String bufferString;
try{
if(!buff.IsEmpty())
{
bufferInteger = StrToInt(BUF_RX->Data_suhu);
bufferString = BUF_RX->Data_suhu;
if(bufferString == "Data Stop")
{
ad_log_Serial("AT89S52 -> "+BUF_RX->Data_suhu,clRed);
}
else
{
ad_log_Serial("AT89S52 -> "+IntToStr(bufferInteger),clRed);
txtTemp->Text = IntToStr(bufferInteger).c_str();
}
LedRx->States->Items[0]->Value = true;
}
else
{
LedRx->States->Items[0]->Value = false;
}
}__finally
{
delete(BUF_RX);
}
}
我应该怎么做这个代码?