关于AnsiSting的使用大全(1)

arrow:

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

}

ansistring转int

代码:

void __fastcall TForm1::Button1Click(TObject *Sender)

{

AnsiString Test = "123";

int i = StrToInt( Test );

}

int转ansistring

代码:

void __fastcall TForm1::Button1Click(TObject *Sender)

{

int i = 123;

AnsiString str = IntToStr( i );

}

ansisting转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:

ansi转Tclor型(从现在开始AnsiSting简称ansi

代码:

void __fastcall TForm1::Button1Click(TObject *Sender)

{

AnsiString Test = "0x00FF8080";

TColor Col = StringToColor( Test );

}

Tclor转ansi

代码:

void __fastcall TForm1::Button1Click(TObject *Sender)

{

TColor Col = 0x00FF8080;

AnsiString str = ColorToString( Col );

}

ansi的一部分消除,哈哈,类似vb里的mid函数,不过是反的~

代码:

void __fastcall TForm1::Button1Click(TObject *Sender)

{

AnsiString Test = "ABCDEF";

int First = 3; // 消除制定开头

int Length = 2; // 消除制定长度

AnsiString Dstr = Test.Delete( First , Length );

}//得到ABEF

ansi的一部分插入

代码:

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

}

取得ansi里最后一个字符

代码:

void __fastcall TForm1::Button1Click(TObject *Sender)

{

AnsiString Test = "ABCDEF";

char *Lstr = Test.AnsiLastChar();//得到F

}

取出ansi字符,这才是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

}

ansi的字母 是否相同比较

代码:

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,相同!没有分大小写,哈哈

}

在ansi中寻找字符

代码:

void __fastcall TForm1::Button1Click(TObject *Sender)

{

AnsiString Test = "ABCDEF";

AnsiString Sample = "E";

int Result = Test.Pos( Sample );

//返回5,如果你写Sample="haha",就返回0,找不到,哈哈

}

在ansi中找字符串,和上一个类似

代码:

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

}

但是,这个处理不了全角的空格 怎么办ni~

代码:

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个*

}

关于AnsiSting的使用大全(2)

字符串替换

代码:

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

}

设置日期格式为YYYY-MM-DD

DateSeparator = '-';

ShortDateFormat = "yyyy-mm-dd";

让控件随窗口尺寸更改而更改(by jishiping)

用 ScaleBy(int M, int D); 函数就可以了。例如窗口放大到125%: ScaleBy(125, 100);

C++Builder 常用String的更多相关文章

  1. Python 常用string函数

    Python 常用string函数 字符串中字符大小写的变换 1. str.lower()   //小写>>> 'SkatE'.lower()'skate' 2. str.upper ...

  2. string类(二、常用string函数)

    常用string相关,参至System.String类: 1/ string.Length a.Length字符串长度 string a="a5"; //a.Length==2 s ...

  3. Android开发——Notification通知的使用及NotificationCopat.Builder常用设置API

    想要看全部设置的请看这一篇 [转]NotificationCopat.Builder全部设置 常用设置: 设置属性 说明 setAutoCancel(boolean autocancel) 设置点击信 ...

  4. java常用string inputStream转换

    1.String –> InputStream InputStrem is = new ByteArrayInputStream(str.getBytes()); 或者 ByteArrayInp ...

  5. Flash Builder常用快捷键

    红色为常用 Ctrl-Shift-O - Organize imports,去除无用的导入类 Ctrl+F11 - 运行(在浏览器浏览) F11 - 调试 Alt+/ - 内容辅助 Ctrl+Alt+ ...

  6. 常用string格式化

    1.格式化货币(跟系统的环境有关,中文系统默认格式化人民币,英文系统格式化美元) string.Format("{0:C}",0.2) 结果为:¥0.20 (英文操作系统结果:$0 ...

  7. 常用string函数分析

    string函数分析string函数包含在string.c文件中,经常被C文件使用.1. strcpy函数原型: char* strcpy(char* str1,char* str2);函数功能: 把 ...

  8. C++常用string函数

    来自https://www.cnblogs.com/jm-Xu/p/9318705.html string(s小写)是C++标准库中的类,纯C中没有,使用时需要包含头文件#include<str ...

  9. php常用string函数

    http://www.w3school.com.cn/php/php_ref_string.asp1.addcslashes() 返回在指定的字符前添加反斜杠的字符串2.addslashes() 返回 ...

随机推荐

  1. 剑指offer——06二叉树的下一个节点

    题目描述 给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回.注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针.   题目的意思是,在一颗二叉树的中序遍历中,给出其中一 ...

  2. 关于合并pdf文件出现的问题

    输出端出现以下问题: PdfReadWarning: Xref table not zero-indexed. ID numbers for objects will be 解决方案: import ...

  3. 数据分析相关概念(numpy)

    矢量 矢量是指一堆形成的集合. 多维数组也叫做矢量化计算. 单独一个数叫做标量 例: import datetime as dt import numpy as np n2=10000 start2 ...

  4. 1-MySQL高级-视图

    视图 1. 问题 对于复杂的查询,往往是有多个数据表进行关联查询而得到,如果数据库因为需求等原因发生了改变,为了保证查询出来的数据与之前相同,则需要在多个地方进行修改,维护起来非常麻烦 解决办法:定义 ...

  5. LeetCode 31. Next Permutation【Medium】

    Implement next permutation, which rearranges numbers into the lexicographically next greater permuta ...

  6. 修改input标签placeholder文字颜色

    input::-webkit-input-placeholder, textarea::-webkit-input-placeholder { /* WebKit browsers */ color: ...

  7. kerberos协议介绍

    一.kerberos认证过程: client向kerberos服务请求,希望获取访问server的权限.kerberos得到了这个消息,首先得判断client是否是可信赖的,也就是白名单黑名单的说法. ...

  8. 分布式唯一ID实现

    ID生成的核心需求 全局唯一 趋势有序 为什么要全局唯一 避免ID冲突 著名的例子就是身份证号码,身份证号码确实是对人唯一的,然而一个人是可以办理多个身份证的,例如你身份证丢了,又重新补办了一张,号码 ...

  9. 微信公众号支付出现:“当前页面的URL未注册”

    微信公众号H5调起支付时,点击支付按钮出现“当前页面的URL未注册”的提示.解决办法:由于2017年8月1日微信官方把关于支付的信息转移到了商户平台:公众平台微信支付公众号支付授权目录.扫码支付回调U ...

  10. [JZOJ6272] 2019.8.4【NOIP提高组A】整除

    题目 题目大意 求方程\((x^m-x)\mod n=0\)在整数范围\([1,n]\)的解的个数. \(n=\sum_{i=1}^{c}p_i\) 给出\(c\)和\(p_i\) 思考历程 作为数论 ...