Ansistring char 转换代码

代码
//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;

 

posted on 2010-03-16 08:21  yxh  阅读(423)  评论(0编辑  收藏  举报