//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 的基本特点是使用 char 类型的数组来存储字符串数据,每个元素占用一个字节。这样可以节省内存空间,提高程序的运行效率。 在实际应用中,AnsiString 广泛应用于字符串的操作和处理,例如字符串的连接、...
《深入解析AnsiString在Delphi中的应用》 在Delphi编程环境中,AnsiString是一种非常重要的字符串类型,它能够处理ASCII字符集,是初学者和专业...掌握AnsiString的使用方法,对于Delphi程序员来说是至关重要的技能。
### AnsiString 在 C++Builder 中的应用与特性 #### 前言 在 C++Builder 这一...掌握 `AnsiString` 的使用方法对于开发高质量的 C++ 应用程序至关重要。希望本文能够帮助开发者更好地理解和应用这一重要数据类型。
一、AnsiString类的基本概念 AnsiString类是基于ANSI字符集的字符串类型,它以动态数组的形式存储字符,长度可以在运行时改变。与其他字符串类相比,AnsiString的主要优势在于它的内存管理机制,它自动处理内存的...
本文将详细介绍C++ Builder VCL库中的一些常用函数及其功能,帮助开发者更好地理解和使用这些函数。 #### 内存管理函数 1. **AllocMem** - **函数原型**: ```cpp void* __fastcall AllocMem(Cardinal Size); ...
标题"D7WideStringAnsiStringTest"暗示了这是一个关于Delphi编程语言的测试项目,主要关注`WideString`和`AnsiString`两种字符串类型的使用和比较。在Delphi中,字符串处理是日常编程中的常见任务,理解这两种类型的...
下面将详细解释文件中提到的一些常用VCL函数及其用法,帮助您更好地理解和运用这些函数。 ### 内存管理函数 #### AllocMem `AllocMem`函数用于在堆上分配指定大小的内存区域,所有分配的内存都将被初始化为0。函数...
本文将通过一个具体的示例——实现Windows NT的自动登录功能——来详细介绍`TRegistry`类的使用方法。 #### TRegistry 类的属性 `TRegistry`类提供了几个关键属性用于管理注册表的访问: 1. **CurrentKey (int)**...
包括但不限于文件对话框的应用、文件与文件夹的基本管理、文本文件的读写、使用`SHFileOperation`函数进行更复杂的文件操作以及遍历指定文件夹的方法。通过本文的学习,读者能够掌握在实际项目开发中对文件系统进行...
该函数采用PKCS#5填充方法,具体步骤如下: 1. **计算剩余字节数**:首先计算出字符串长度对16取模的结果,从而得到距离下一次16字节边界还差多少个字节。 2. **填充操作**:使用这个剩余字节数作为填充字符,重复...
例如,如果你有一个Unicode字符串,但需要将其转换为ASCII,可以使用`AnsiString`类型和`TEncoding.ASCII.GetBytes`方法: ```delphi uses System.SysUtils, System.Classes; var UnicodeStr: UnicodeString; ...
在C++ Builder中进行数据库应用开发,涉及到的关键知识点主要包括数据库设计、C++ Builder的基本使用以及ADO(ActiveX Data Objects)组件的运用。以下是对这些知识点的详细解释: 1. **数据库设计**: - **实体...
在进行转换时,可以使用 TEncoding.GetString 和 TEncoding.GetBytes 方法,前者将字节数组转换为字符串,后者将字符串转换为字节数组。 总的来说,“字符串与Unicode互转工具”是一个非常实用的编程工具,它帮助...
本文将详细介绍如何使用C++Builder 开发Web应用程序,包括Web应用程序的基本原理、开发流程以及实例演示。 #### Web应用程序原理与类型 Web应用程序是一种运行在服务器端的软件,能够接收来自客户端(通常是Web...
基本用法 您需要关注此板条箱中的三种主要类型: ANSIString , Style和Colour 。 Style保存样式信息:前景色和背景色,无论文本应为粗体,闪烁还是其他属性。 “ Colour枚举代表可用的颜色。 ANSIString是与...
以上介绍了如何在 C++ 中操作 INI 文件的基本方法,包括使用字符串列表类 `TStringList` 进行读写,使用标准 I/O 函数进行低层文件操作,以及利用专用库如 `iniFiles.hpp` 实现更复杂的功能。这些方法可以根据具体...
3. **ReadBytes 方法**:如果字符串前有固定长度的标识符或长度字段,可以先使用 `ReadBytes` 获取长度,然后根据长度读取字符串。 **二、字符串发送** 1. **Write 方法**:最基础的发送字符串方法,通过 `A...
Delphi使用PChar和AnsiString,而C#则使用字符串和byte数组。在传输过程中,需要将Delphi的AnsiString转换为C#的UTF-8编码的字符串,反之亦然。同时,密钥和初始化向量也需要在两种语言间进行适当的类型转换。 在...
这涉及到字符编码的理解、Windows API 的使用以及具体的实现方法。 ### 字符编码简介 在讨论具体代码之前,我们先简单了解一下涉及到的字符编码。 1. **GB2312**:这是一种简体中文编码标准,主要在中国大陆使用...
### Access数据库中大文件存取的方法 在Access数据库中存储和检索大文件是一项常见的需求,尤其是在需要处理多媒体数据(如图像、文档等)的应用场景下。本文将详细探讨如何利用Access数据库来存取这些大型文件。 ...