通常,AnsiString類的的存取函數在大多數情況下已經夠用.不過有時嫌繁瑣.比方說,
求已知某AnsiString,解析其每個字符,其中字母為命令,數字為參數.
按照AnsiString的函數寫,如下:
AnsiString IPData;
IPData = Uppercase(IPData);
for(int i = 1;i <= IPData.Length();i++)
{
if( IPData.SubString(i,1) >= "A" && IPData.SubString(i,1) < "Z"
|| IPData.SubString(i,1) == "Z" )
{
// 這是命令;
}
else
if( IPData.SubString(i,1) >= "0" && IPData.SubString(i,1) < "9"
|| IPData.SubString(i,1) == "9" )
{
// 這是數字
}
}
如果黨成字符數組,則可做如下操作:
AnsiString IPData;
IPData = Uppercase(IPData);
for(int i = 1;i <= IPData.Length();i++)
{
if( IPData[i] >= 'A' && IPData[i] < 'Z' || IPData[i] == 'Z' )
{
// 這是命令;
}
else
if( IPData[i] >= '0' && IPData[i] < '9' || IPData[i] == '9' )
{
// 這是數字
}
}
注意,數組的首個元素為1,而不是0,Why???
感覺上,此種方法速度要快,不知道是否為真,因為沒有研讀源碼,無從驗證.
這是幾年前,2000年吧,剛學bcb時,不懂AnsiString,只知道數組與指針,做了很多實驗,用
ShowMessage看結果,發現還能用.
也許很土,好象是采用連加法做乘法一樣.前幾天翻看以前的東西,發現自己在字符串的處理
上竟然困住了很久.
往事不堪回首.從單片機匯編到計算機c,c++我用了太長的時間.現在的感覺,是,用是夠了,可理論
仍然不完善.
我的本行是機電一體化.對編計算機程序是個外行,永遠都會是.因為我沒有學過操作系統,數據結構,
沒有基礎,永遠只是門外漢.
說句好聽的,我是屬于邊緣性人才吧.就象雙料間諜,必須承受太多的痛苦.