首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

题目: C++ BUILDER AnsiString 用法(转)

2012-10-30 
标题: C++ BUILDER AnsiString 用法(转)//Ansistring 转 char void __fastcall TForm1::Button1Click(TObj

标题: C++ BUILDER AnsiString 用法(转)

//Ansistring 转 char
void __fastcall TForm1::Button1Click(TObject *Sender)
{
??? AnsiString Test = "哈哈";
??? char *chr = Test.c_str();
}
???


//char转Ansistring
#include <windef.h>
void __fastcall TForm1::Button1Click(TObject *Sender)
{
??? AnsiString str = "Sample";
??? char chr[MAX_PATH];
??? strcpy( chr , str.c_str() );
}
?


//Bool转AnsiString
void __fastcall TForm1::Button1Click(TObject *Sender)
{
AnsiString Test=BoolToStr(CheckBox1->Checked);
}
?


//Ansistring转bool
void __fastcall TForm1::Button1Click(TObject *Sender)
{ AnsiString Test="-1"
??? CheckBox1->Checked= StrToBool( Test );
}
?

//int转ansistring
void __fastcall TForm1::Button1Click(TObject *Sender)
{
??? int i = 123;
??? AnsiString str = IntToStr( i );
}
?


//AnsiString转double
void __fastcall TForm1::Button1Click(TObject *Sender)
{
??? AnsiString Test = "123";
??? long double d = StrToFloat( Test );
}
?


//double转AnsiString
void __fastcall TForm1::Button1Click(TObject *Sender)
{
??? double d = 123.456;
??? AnsiString str = FloatToStr( d );
}
?

//double转AnsiString并四舍五入
void __fastcall TForm1::Button1Click(TObject *Sender)
{
??? long double d = 123.456121212;
??? AnsiString str = FloatToStrF( d , ffFixed ,5 , 4 );
//说明FloatTostrF里5代表从第几个数字的后一位开始四舍五入,4代表取4位小数。
//执行后得到str是123.4600。:roll:
???
}


//double转AnsiString使用类似vb的format函数
void __fastcall TForm1::Button1Click(TObject *Sender)
{
??? double d = 123.456;
??? AnsiString str = FormatFloat( "000000.00" , d );
}
//得到 000123.45,当然你可以使用"# . , ; E+ E- xx"等符号,你自己试试 :wink:
?
//AnsiString转Tclor型
void __fastcall TForm1::Button1Click(TObject *Sender)
{
??? AnsiString Test = "0x00FF8080";
??? TColor Col = StringToColor( Test );
}


//Tcolor转AnsiString
void __fastcall TForm1::Button1Click(TObject *Sender)
{
??? TColor Col = 0x00FF8080;
??? AnsiString str = ColorToString( Col );
}


//消除AnsiString 中的一部分字符串 代码:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
??? AnsiString Test = "ABCDEF";
??? int First = 3;???? // 消除制定开头
??? int Length = 2;??? // 消除制定长度
??? AnsiString Dstr = Test.Delete( First , Length );
}//得到ABEF
?


//在AnsiString 中插入字符串
void __fastcall TForm1::Button1Click(TObject *Sender)
{
??? AnsiString Test = "ABCDEF";
??? AnsiString Ins = "12345";???? // 插入串
??? int Pos = 3;????????????????? // 在哪插
??? AnsiString Istr = Test.Insert( Ins , Pos );
//得到AB12345CDEF
}


//取得ansi某一位字符
void __fastcall TForm1::Button1Click(TObject *Sender)
{
??? AnsiString Test = "ABCDEF";
??? AnsiString Npos = Test[3];//得到C
}


//取得AnsiString里最后一个字符
void __fastcall TForm1::Button1Click(TObject *Sender)
{
??? AnsiString Test = "ABCDEF";
??? char *Lstr = Test.AnsiLastChar();//得到F
}


//取出AnsiString字符,这个类似vb的mid函数!
void __fastcall TForm1::Button1Click(TObject *Sender)
{
??? AnsiString Test = "ABCDEF";
??? int First = 3;???? // 3开始取
??? int Length = 2;??? // 取2位
??? AnsiString Getstr = Test.SubString( First , Length );
//得到CD
}


//AnsiString的字母比较
void __fastcall TForm1::Button1Click(TObject *Sender)
{
??? AnsiString Test = "ABCDEF";
??? AnsiString Sample = "abcdef";
??? int Result = Test.AnsiCompare( Sample );
//返回1,不同!分大小写。
}

void __fastcall TForm1::Button1Click(TObject *Sender)
{
??? AnsiString Test = "ABCDEF";
??? AnsiString Sample = "abcdef";
??? int Result = Test.AnsiCompareIC( Sample );
//返回0,相同!没有分大小写,哈哈
}


//在AnsiString中寻找字符
void __fastcall TForm1::Button1Click(TObject *Sender)
{
??? AnsiString Test = "ABCDEF";
??? AnsiString Sample = "E";
??? int Result = Test.Pos( Sample );
//返回5,如果你写Sample="haha",就返回0,找不到,哈哈
}


//在AnsiString中找字符串,和上一个类似
void __fastcall TForm1::Button1Click(TObject *Sender)
{
??? AnsiString Test = "ABCDEF";
??? AnsiString Sample = "EF";
??? int Result = Test.Pos( Sample );
//返回5,即E字符的位置
}


//判断字符串长度,类似vb的len
void __fastcall TForm1::Button1Click(TObject *Sender)
{
??? AnsiString Test = "拿金币来";
??? int Len = Test.Length();
//返回8
}


//取得字符串,类似vb的left
void __fastcall TForm1::Button1Click(TObject *Sender)
{
??? AnsiString Test = "小苹果然看了这篇文章";
??? AnsiString SLstr = Test.SetLength(6);
}//得到"小苹果"
?


//检测双字节字串
void __fastcall TForm1::Button1Click(TObject *Sender)
{
AnsiString ChkStr = "你好";
int ChkPos =? 1? ;
if ( ByteType( ChkStr , ChkPos ) == mbSingleByte ){
??? Edit1->Text="0";
??? }
??? else{
??? Edit1->Text="1";
??? }//返回1,如果你写ChkStr="fxxk",就返回0
}


//检测空字符串
void __fastcall TForm1::Button1Click(TObject *Sender)
{
??? AnsiString Test = "";
??? bool chk = Test.IsEmpty();
??? if (chk )
??? Edit1->Text="1";//返回1
}


//全部变小写vs全部变大写
void __fastcall TForm1::Button1Click(TObject *Sender)
{
??? AnsiString Test = "ABCdef";
??? AnsiString Lstr = Test.LowerCase();
}


代码:

void __fastcall TForm1::Button1Click(TObject *Sender)
{
??? AnsiString Test = "ABCdef";
??? AnsiString Ustr = Test.UpperCase();
}


//类似vb中Trim 的去空格函数
void __fastcall TForm1::Button1Click(TObject *Sender)
{
??? AnsiString Test = "???? ABCDEF????? ";
??? AnsiString TLstr = Test.TrimLeft();
?? AnsiString TRstr = Test.TrimRight();
? AnsiString Tstr = Test.Trim();
}
?


//但是,这个处理不了全角的空格 代码:
AnsiString __fastcall TForm1::TrimStr( AnsiString Tm , AnsiString LR )
{
??? // LR … L:左除去?? R:右除去?? B:dou除去
??? int len;
??? // 左除去
??? if ( LR == "L" || LR == "B" ){
??????? len = Tm.Length();
??????? while ( Tm.SubString(1,1) == " " || Tm.SubString(1,2) == " "){
??????????? // 半角除去
??????????? if ( Tm.SubString(1,1) == " " ){
??????????????? Tm = Tm.SubString(2,len);
??????????????? len = Tm.Length();
??????????? }
??????????? // 全角除去
??????????? else if ( Tm.SubString(1,2) == " " ){
??????????????? Tm = Tm.SubString(3,len);
??????????????? len = Tm.Length();
??????????? }
??????? }
??? }
??? // 右除去
??? if ( LR == "R" || LR == "B" ){
??????? len = Tm.Length();
??????? while ( Tm.SubString(len,1) == " " || Tm.SubString(len-1,2) == " " ){
??????????? // 半角除去
??????????? if ( Tm.SubString(len,1) == " " ){
??????????????? len = Tm.Length();
??????????????? Tm = Tm.SubString(1,len-1);
??????????????? len = Tm.Length();
??????????? }
??????????? // 全角除去
??????????? else if ( Tm.SubString(len-1,2) == " " ){
??????????????? len = Tm.Length();
??????????????? Tm = Tm.SubString(1,len-2);
??????????????? len = Tm.Length();
??????????? }
??????? }
??? }
??? return Tm;
}
void __fastcall TForm1::Button1Click(TObject *Sender)
{
??? AnsiString Test = "  拳脚  ";
??? AnsiString Ret = TrimStr(Test,"B")
}

?


//相同字符重复输入
void __fastcall TForm1::Button1Click(TObject *Sender)
{
??? AnsiString Soc = AnsiString::StringOfChar( '*' , 100 );
?? Edit1->Text=Soc ;//显示100个*

}


//字符串替换
void __fastcall TForm1::Button1Click(TObject *Sender)
{
??? AnsiString Str = "Borland C++ Builder is free";?
??? AnsiString From = "C++ Builder";?????????????????????
??? AnsiString To = "Delphi";?????????????????????????????
??? AnsiString Result;?????????????????????????????????????
??? Result = StringReplace( Str, From, To, TReplaceFlags() <<
rfReplaceAll << rfIgnoreCase );
//<<后是参数,得到Borland Delphi is free
}


//全角变半角
??? AnsiString Zen = "1234567890";
??? int Len = Zen.Length();
??? char buf[MAX_PATH];
??? ZeroMemory( buf, sizeof( buf ) );
??? LCMapString( GetUserDefaultLCID(), LCMAP_HALFWIDTH, Zen.c_str(), Len, buf, sizeof( buf ) );
??? AnsiString Han = AnsiString( buf );
??? Edit1->Text=Han;
?

//半角变全角
void __fastcall TForm1::Button1Click(TObject *Sender)
{
??? AnsiString Han = "1234567890";
??? int Len = Han.Length();
??? char buf[MAX_PATH];
??? ZeroMemory( buf, sizeof( buf ) );
??? LCMapString( GetUserDefaultLCID(), LCMAP_FULLWIDTH, Han.c_str(), Len, buf, sizeof( buf ) );
??? AnsiString Zen = AnsiString( buf );
}

?

<script type="text/javascript"></script>

热点排行