• AnsiString用法(转)


    源: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 ); 
    }
  • 相关阅读:
    HDU1496(巧妙hash)
    SPOJ(后缀数组求不同子串个数)
    django-admin自定义登录
    Bootstrap实现的页面
    ImageMagick来处理图片,缩放,调整高度等操作
    xlrd,xlwt操作Excel实例
    匹配图片修改图片名称
    python 的两个模块xlwt,xlrd,写入和读取Excel数据
    Excel常见操作,重复数据,去除数据关联
    Excel数据常用操作,vlookup,text,trim,数据格式导致出错
  • 原文地址:https://www.cnblogs.com/LittleTiger/p/4738602.html
Copyright © 2020-2023  润新知