`

ansistring 基本用法

    博客分类:
  • BCB
阅读更多

//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 );

}

 

文章出处:http://blog.sina.com.cn/s/blog_63ac730e0100ky27.html

 

分享到:
评论

相关推荐

    C++ Buikder VCL AnsiString操作总结

    本人总结的最常用的AnsiString操作用法

    AnsiString总结

    在C++builder中对AnsiString用法的一些总结,主要个人搜集整理的资料。

    Ansistring使用大全.doc

    这是讲解AnsiStirng类型字符串的用法的文档,里面提及了该类的诸多常用方法

    AnsiString 使用大全.txt

    AnsiString 使用大全.txt 适合初学者使用

    delphi7高精度计算单元 high.dcu

    基于ansistring类型开发了delphi7的高精度计算单元high.dcu,其中包含高精度加法、减法、乘法、除法、最小公倍数、最大公约数 等计算函数或过程。其接口文件如下: unit high; interface const intmax=32767; ...

    FastReport4.14.1EnterpriseFullSourceD4-RADStudioXE4_CS

    delphi15 hint: frxGraphicUtils.pas(187) Warning: W1057 Implicit string cast from 'AnsiString' to 'string' delphi15 hint: frxGraphicUtils.pas(189) Warning: W1057 Implicit string cast from 'AnsiChar' to...

    C++与C#间的函数替换

    C++与C#间的函数替换,包括函数、变量以及其他相应的头文件转换。

    Delphi中String与WideString的区别2.docx

    Delphi中String与WideString的区别2.docx

    UTF8与ansi string转换处理(DELPHI7开发)

    delphi 开发的UTF8 ansistring转换动态库。 通过DELPHI与C++测试。 前面上传的资源未经过仔细验证,有问题,不好意思,重新修正上传

    Delphi通过主机名获取IP

    解决办法2:传入参数的时候就使用AnsiString,一切如同在Delphi2007下使用一样。只是这时候参数不再使用String,而是必须显式地使用AnsiString。 函数里使用参数的时候,仍要注意pchar都要改成pansichar,代码修改...

    Delphi2009、Delphi2010的GBK繁体转简体函数

    Delphi2007之前的API繁简转函数在Delphi2009版本出现后不能用,原因在于之前版本的String默认为AnsiString,而Delphi2007之后的String默认为WideString,同样,PChar指针也就为PAnsiString,所以调用Windows API函数...

    utf8处理接口动态库(Delphi7开发)

    1.实现utf8与ansiString的互转; 2.实现从指定UTF8文件中加载内容,返回ansiString串指针; 3.实现将ansiString保存成utf8文件;

    substr-ansi:获取`String#substr`正确处理ansi转义码

    安装 $ npm install --save substr-ansi用法 var substrAnsi = require ( 'substr-ansi' ) ;console . log ( substrAnsi ( '\u001b[47mHi\u001b[49m' , 0 , 2 ) ) ;//=&gt; HiNote that the ansi code are preserved : ...

    11 X 12中文点阵字库及其使用方法

    AnsiString LIBFileName=ExtractFilePath(Application-&gt;ExeName)+"HZK12.bin"; TFileStream * FilePtr = NULL; try { FilePtr = new TFileStream( LIBFileName,fmOpenRead | fmShareDenyRead ); } catch...

    Delphi Logger

    引用本单元即可使用 一共四个方法 procedure log4error(msg: AnsiString); //写ERROR级别的日志 procedure log4info(msg: AnsiString); //写INFO级别的日志 procedure log4debug(msg: AnsiString); //写DEBUG级别...

    ZipForge 6.93 OnlyForDelphi 10.4 Sydney

    void compressFile(AnsiString srcDir, AnsiString dstFile) { ZipForge1-&gt;FileName = dstFile; ZipForge1-&gt;OpenArchive(); ZipForge1-&gt;BaseDir = srcDir; ZipForge1-&gt;AddFiles("*.*"); ZipForge1-&gt;...

    string_quick_ref.zip_C Builder_Quick

    An AnsiString class reference

    Delphi简体转繁体—繁体转简体

    function GBCht2Chs(GBStr: string): AnsiString; function GBChs2Cht(GBStr: string): AnsiString; implementation function GBCht2Chs(GBStr: string): AnsiString; {进行GBK繁体转简体} var Len: integer; ...

    UTF8文本处理动态库

    UTF8字符串与AnsiString(string)字符串转换 将AnsiString字符串保存成utf8文件; 从UTF8文件中读取(文本)内容;

    选择文件夹 dll 封装

    使用方法: char sPath[1000]; void _stdcall (*GetSelectPath)(char*sPath,AnsiString sTitle); HMODULE pHModule; pHModule=::LoadLibraryA("GetPath.dll"); if(pHModule&gt;0) { (FARPROC&)GetSelectPath=::...

Global site tag (gtag.js) - Google Analytics