//字符串是否含有中文,true 表示含有中文,false 表示不含中文
bool TForm1::isContainEng(AnsiString ID)
{
bool rtn = false;
try
{
AnsiString::TStringMbcsByteType temp;
for (int i=0;i < ID.Length();i++)
{
temp = ID.ByteType(i);
if(temp != mbSingleByte)
{
rtn = true;
break;
}
}
}
catch(...)
{
}
return rtn;
}
下面的一段代码是老妖提供的,当时我的目的是用来分离AnsiString 型字符串中的数字和字符串,我看你的问题比我得问题更简单,适当的修改一下下面的程序,就可以达到你的目的,提示很简单,就不帮你写出完整代码了,有利于你水平的提高。
float *Cmd;
TStringStream *ss = new TStringStream(string);
TParser *pParser = new TParser(ss);
int i = 0;
Cmd = new float[8];
for(;;)
{
String strTokenValue = pParser->TokenString();
char cTokenType = pParser->Token;
switch(cTokenType)
{
// case toSymbol:
// Memo1->Lines->Add(strTokenValue + " 是一个符号");
// break;
case toInteger:
Cmd[i++] = StrToFloat(strTokenValue);
break;
case toFloat:
Cmd[i++] = StrToFloat(strTokenValue);
break;
// case toString:
// Memo1->Lines->Add(strTokenValue + " 是一个字符串");
// case toWString:
// Memo1->Lines->Add(strTokenValue + " 是一个宽字符串");
// break;
default:
ShowMessage("包含非法字符!");
break;
}
if(pParser->NextToken() == toEOF)
break;
}
delete pParser;
delete ss;