Delphi中常见字符串操作

 

(1) 字符串

//最常用的 string
var
str:
string; {定义}
begin
str :
= '万一'; {赋值}
ShowMessage(IntToStr(Length(str)));
{长度是: 4}
str:
='AA';
ShowMessage(IntToStr(Length(str)));
{长度是: 2}
str:
=#$AA;
ShowMessage(IntToStr(Length(str)));
{长度是: 1}
end;

(2) 字符

 

 
   
// 单字符 Char, 只有 1 字节大小
var
c: Char;
{ Char 类型的取值范围是: #0..#255, 用十六进制表示是: #$0..#$FF }
begin
{ 用十进制方式赋值: }
c :
= # 65 ;
ShowMessage(c);
{ A }

{ 用十六进制方式赋值: }
c :
= #$ 41 ;
ShowMessage(c);
{ A }

{ 用 Chr 函数代替 # 符号 }
c :
= Chr( 65 );
ShowMessage(c);
{ A }
c :
= Chr($ 41 );
ShowMessage(c);
{ A }

{ Char 长度当然会是 1 }
ShowMessage(IntToStr(Length(c)));
{ 1 }

{ Char、AnsiChar 允许这样方便地赋值(也就是和 1 字节长度的字符串是兼容的): }
c :
= ' B ' ;
ShowMessage(c);
{ B }
end ;

(3) 字符串和字符数组

 

 
   
{ 字符串 < > 字符数组 }
var
arr:
array [ 0 .. 5 ] of Char;
str:
string ;
begin
{ 可以把字符串常量直接赋给字符数组; 但超界不行 }
arr :
= ' Delphi ' ;
ShowMessage(arr);
{ Delphi }

{ 可以把字符数组直接赋给字符串变量 }
str :
= arr;
ShowMessage(str);
{ Delphi }

{ 其实字符串内部也是包含了一个字符数组, 所以能索引访问, 不过它的索引起始于 1 }
ShowMessage(str[
1 ]); { D }
ShowMessage(arr[
0 ]); { D }

{ 但不能把一个字符串变量赋给字符数组 }
// arr : = str; { 错误; 这需要用其他手段实现, 譬如复制或移动内存 }
end ;

 

(4)Char 与 Byte,Ord和Chr

     Byte是一个Integer类型的变量,取值范围 0..255,即 unsigned 8-bit

 

 
   
var
c: Char;
b: Byte;
begin
c :
= ' A ' ;
ShowMessage(c);
// A

b :
= 65 ;
ShowMessage(IntToStr(b));
// 65

c :
= Chr( 66 );
ShowMessage(c);
// B

b :
= Ord( ' B ' );
ShowMessage(IntToStr(b));
// 66
end ;

Ord函数是用于取得一个ASCII码的数值。     Chr函数正好相反,用于取得一个数值的ASCII值

 

 
   
{ Char 类型与其编码值的转换: }
var
b: Byte;
c: Char;
begin
b :
= Ord( ' A ' ); { 返回: 65 }
b :
= Ord(# 65 ); { 返回: 65 }
b :
= Ord($ 41 ); { 返回: 65 }
b :
= Ord(#$ 41 ); { 返回: 65 }

b :
= Byte( ' A ' ); { 返回: 65 }
b :
= Byte(# 65 ); { 返回: 65 }
b :
= Byte($ 41 ); { 返回: 65 }
b :
= Byte(#$ 41 ); { 返回: 65 }

c :
= Chr( 65 ); { 返回: A }
c :
= Chr($ 41 ); { 返回: A }

c :
= Char( 65 ); { 返回: A }
c :
= Char($ 41 ); { 返回: A }
end ;

 

 

 

 

转载于:https://www.cnblogs.com/icky/archive/2010/02/17/1668865.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值