zoukankan      html  css  js  c++  java
  • 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;
    
    
  • 相关阅读:
    webservice呈现调用导致呈现当机.
    【ES6】Promise用法
    腾讯地图JavaScript API调用
    【微信小程序】微信开发者工具快捷键汇总
    【微信小程序】小程序模拟调用本地json接口数据
    【微信小程序】小程序系统API
    【git和GitHub】分布式版本控制Git和代码远程仓库GitHub
    【微信小程序】组件化开发
    【微信小程序】小程序开发注意事项
    【微信小程序】引入外部js 方法
  • 原文地址:https://www.cnblogs.com/zhangdongsheng/p/2046123.html
Copyright © 2011-2022 走看看