因為VC++沒有支援Hex2Dec,所以只好自己寫了
因為對VC++不熟,外加搞不清楚狀況,所以寫了好久
不過也因為如此,學會如何簡單的寫VC++了
int Hex2Dec( System::Windows::Forms::TextBox^ textBox)
{
int Val = 0;
int Sum = 0;
int Count = 0;
if (textBox->TextLength <= 2)
{
String^ str = textBox->Text;
do
{
Sum *= 16;
if ( str[Count]>='0' && str[Count]<='9' )
{
Val = Convert::ToInt32( str[Count] ) - '0';
}
else if ( str[Count]>='A' && str[Count]<='F' )
{
Val = Convert::ToInt32( str[Count] ) - 'A' + 10;
}
else if ( str[Count]>='a' && str[Count]<='f' )
{
Val = Convert::ToInt32( str[Count] ) - 'a' + 10;
}
else
{
// failed!!!
}
Count++;
Sum += Val;
}while( textBox->TextLength - Count );
//textBox2->Text =Sum.ToString();
}
else
{
// format error!!!
}
return Sum;
}
使用方式
textBox2->Text =Hex2Dec( textBox1 ).ToString();
終於搞定入門款了
有內建的拉
回覆刪除int::Parse(strRx[i],System::Globalization::NumberStyles::HexNumber);
[版主回覆07/21/2013 20:29:39]有需要include 什麼header file 嗎?
不需要特別include什麼,但我用.Net,不知道是不是.Net才有?
回覆刪除[版主回覆07/23/2013 21:56:09]VC++ 比較特殊。 我是找不到相對應的hex2dec的函式,所以只好自己寫, 但用VC#的話, 就有函式可以CALL了, 因為GUI 不是我的主力, 所以我就混著用,主要看sample code有什麼,就用什麼 XDDD
我是用VS2010,語言選C++,還是會有.Net的東西可以用,我介紹給你的function就是
回覆刪除不過我最近愛上BCB6,hex2dec很簡單,就在HEX的字串前加上"0x",然後ToInt()就完成了,不必自己用手刻
回覆刪除[版主回覆07/24/2013 21:49:43]BCB6最大的問題是很久沒有更新了,怕有相容性的問題。 所以我還是盡量雖M$的東西,雖然還挺另人感冒的就是了XDDD