//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
相关推荐
本人总结的最常用的AnsiString操作用法
在C++builder中对AnsiString用法的一些总结,主要个人搜集整理的资料。
这是讲解AnsiStirng类型字符串的用法的文档,里面提及了该类的诸多常用方法
AnsiString 使用大全.txt 适合初学者使用
基于ansistring类型开发了delphi7的高精度计算单元high.dcu,其中包含高精度加法、减法、乘法、除法、最小公倍数、最大公约数 等计算函数或过程。其接口文件如下: unit high; interface const intmax=32767; ...
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#间的函数替换,包括函数、变量以及其他相应的头文件转换。
Delphi中String与WideString的区别2.docx
delphi 开发的UTF8 ansistring转换动态库。 通过DELPHI与C++测试。 前面上传的资源未经过仔细验证,有问题,不好意思,重新修正上传
解决办法2:传入参数的时候就使用AnsiString,一切如同在Delphi2007下使用一样。只是这时候参数不再使用String,而是必须显式地使用AnsiString。 函数里使用参数的时候,仍要注意pchar都要改成pansichar,代码修改...
Delphi2007之前的API繁简转函数在Delphi2009版本出现后不能用,原因在于之前版本的String默认为AnsiString,而Delphi2007之后的String默认为WideString,同样,PChar指针也就为PAnsiString,所以调用Windows API函数...
1.实现utf8与ansiString的互转; 2.实现从指定UTF8文件中加载内容,返回ansiString串指针; 3.实现将ansiString保存成utf8文件;
安装 $ npm install --save substr-ansi用法 var substrAnsi = require ( 'substr-ansi' ) ;console . log ( substrAnsi ( '\u001b[47mHi\u001b[49m' , 0 , 2 ) ) ;//=> HiNote that the ansi code are preserved : ...
AnsiString LIBFileName=ExtractFilePath(Application->ExeName)+"HZK12.bin"; TFileStream * FilePtr = NULL; try { FilePtr = new TFileStream( LIBFileName,fmOpenRead | fmShareDenyRead ); } catch...
引用本单元即可使用 一共四个方法 procedure log4error(msg: AnsiString); //写ERROR级别的日志 procedure log4info(msg: AnsiString); //写INFO级别的日志 procedure log4debug(msg: AnsiString); //写DEBUG级别...
void compressFile(AnsiString srcDir, AnsiString dstFile) { ZipForge1->FileName = dstFile; ZipForge1->OpenArchive(); ZipForge1->BaseDir = srcDir; ZipForge1->AddFiles("*.*"); ZipForge1->...
An AnsiString class reference
function GBCht2Chs(GBStr: string): AnsiString; function GBChs2Cht(GBStr: string): AnsiString; implementation function GBCht2Chs(GBStr: string): AnsiString; {进行GBK繁体转简体} var Len: integer; ...
UTF8字符串与AnsiString(string)字符串转换 将AnsiString字符串保存成utf8文件; 从UTF8文件中读取(文本)内容;
使用方法: char sPath[1000]; void _stdcall (*GetSelectPath)(char*sPath,AnsiString sTitle); HMODULE pHModule; pHModule=::LoadLibraryA("GetPath.dll"); if(pHModule>0) { (FARPROC&)GetSelectPath=::...