文档章节

Delphi 2009 新增单元 Character[2]: IsLetter、IsUpper、IsLower、IsDigit、IsNumber

涂孟超
 涂孟超
发布于 2014/09/26 15:33
字数 505
阅读 11
收藏 0
IsLetter: {是否是个字母; 范围 A..Z 与 a..z}
IsUpper:  {是否是个大写字母; 范围 A..Z}
IsLower:  {是否是个小写字母; 范围 a..z}
IsDigit:  {是否是个十进制数字; 范围 0..9}
IsNumber: {是否是个数字符号; 范围包括 0..9, 还有 ASCII 码中的 178、179、185、188、189、190 等}

 
 
 
 
 

 

 

  
测试代码:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Button5: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

uses Character;

{IsLetter: 是否是个字母}
procedure TForm1.Button1Click(Sender: TObject);
var
  b1,b2,b3: Boolean;
begin
  b1 := IsLetter('A'); {是}
  b2 := IsLetter('a'); {是}
  b3 := IsLetter('9'); {否}
  ShowMessageFmt('%s,%s,%s', [BoolToStr(b1,True),BoolToStr(b2,True),BoolToStr(b3,True)]);
  {True,True,False}

  b1 := IsLetter('D2009', 1);
  b2 := IsLetter('D2009', 2);
  ShowMessageFmt('%s,%s', [BoolToStr(b1,True),BoolToStr(b2,True)]);
  {True,False}
end;

{IsUpper: 是否是个大写字母}
procedure TForm1.Button2Click(Sender: TObject);
var
  b1,b2,b3: Boolean;
begin
  b1 := IsUpper('A'); {是}
  b2 := IsUpper('a'); {否}
  b3 := IsUpper('9'); {否}
  ShowMessageFmt('%s,%s,%s', [BoolToStr(b1,True),BoolToStr(b2,True),BoolToStr(b3,True)]);
  {True,False,False}

  b1 := IsUpper('Delphi', 1);
  b2 := IsUpper('Delphi', 2);
  ShowMessageFmt('%s,%s', [BoolToStr(b1,True),BoolToStr(b2,True)]);
  {True,False}
end;

{IsLower: 是否是个小写字母}
procedure TForm1.Button3Click(Sender: TObject);
var
  b1,b2,b3: Boolean;
begin
  b1 := IsLower('A'); {否}
  b2 := IsLower('a'); {是}
  b3 := IsLower('9'); {否}
  ShowMessageFmt('%s,%s,%s', [BoolToStr(b1,True),BoolToStr(b2,True),BoolToStr(b3,True)]);
  {False,True,False}

  b1 := IsLower('Delphi', 1);
  b2 := IsLower('Delphi', 2);
  ShowMessageFmt('%s,%s', [BoolToStr(b1,True),BoolToStr(b2,True)]);
  {False,True}
end;

{IsDigit: 是否是个十进制数字}
procedure TForm1.Button4Click(Sender: TObject);
var
  b1,b2,b3: Boolean;
begin
  b1 := IsDigit('A'); {否}
  b2 := IsDigit('½'); {否}
  b3 := IsDigit('9'); {是}
  ShowMessageFmt('%s,%s,%s', [BoolToStr(b1,True),BoolToStr(b2,True),BoolToStr(b3,True)]);
  {False,False,True}

  b1 := IsDigit('D2009', 1);
  b2 := IsDigit('D2009', 2);
  ShowMessageFmt('%s,%s', [BoolToStr(b1,True),BoolToStr(b2,True)]);
  {False,True}
end;

{IsNumber: 是否是个数字符号}
procedure TForm1.Button5Click(Sender: TObject);
var
  b1,b2,b3: Boolean;
begin
  b1 := IsNumber('A'); {是}
  b2 := IsNumber('½'); {是}
  b3 := IsNumber('9'); {否}
  ShowMessageFmt('%s,%s,%s', [BoolToStr(b1,True),BoolToStr(b2,True),BoolToStr(b3,True)]);
  {False,True,True}

  b1 := IsNumber('123¹²³¼½¾', 1);
  b2 := IsNumber('123¹²³¼½¾', 4); {这里的 9 个字符全都复合}
  ShowMessageFmt('%s,%s', [BoolToStr(b1,True),BoolToStr(b2,True)]);
  {True,True}
end;

end.

 
 
 
 
 

 

 

  

本文转载自:http://www.cnblogs.com/del/archive/2008/08/28/1278232.html

共有 人打赏支持
涂孟超
粉丝 12
博文 2011
码字总数 14107
作品 0
深圳
程序员
Unity char字符类型的判断

在Unity里(C#),判断一个未知字符的类型要用到内置结构体:char 这是一些主要静态函数(后面举的例子都是亲自测试的,汉字属于字母,但是既不是大写字母,也不是小写字母): char.IsControl...

qq_24378389
2017/06/10
0
0
C标准库参考指南系列译文(2)ctype.h

英文原文:http://www.acm.uiuc.edu/webmonkeys/book/c_guide/2.2.html 原文作者:Eric Huss 中文译者:柳惊鸿 Poechant 版权声明:本文的原文版权归Eric Huss所有,中文译文版权归Poechant所...

晨曦之光
2012/04/24
51
0
ctype.h中的函数及其用法

ctype.h里的函数 1 字符测试函数 1> 函数原型均为int isxxxx(int) 2> 参数为int, 任何实参均被提升成整型 3> 只能正确处理处于[0, 127]之间的值 2 字符映射函数 1> 函数原型为int toxxxx(in...

员凯
2012/03/26
0
0
python中,为什么str没有实现__cmp__方法,但是却可以用cmp函数进行比较?

>>> dir(str) ['__add__', '__class__', '__contains__', '__delattr__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__getslic......

huey2672
2015/03/26
732
3
cctype头文件 cstring头文件

#include <cctype> 对string对象中单个字符进行处理 cctype下标准库函数: isalnum(c);isalpha(c);isdigit(c);isxdigit(c);islower(c);isupper(c);isspace(c); isgraph(c);iscntrl(c);ispun......

钓灵感
2012/11/06
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周六乱弹 —— 放假前期焦虑症晚期

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @andonny :分享Matteo的单曲《Panama》: 《Panama》- Matteo 手机党少年们想听歌,请使劲儿戳(这里) @新垣吉衣OSC :我发现只要去有小朋友...

小小编辑
14分钟前
21
4
wait()被notify()后,接着执行wait()后面的语句

wait()被notify()后,接着执行wait()后面的语句

noteman
46分钟前
1
0
Ubuntu集群-使用MAAS开始裸机安装

Ubuntu使用MAAS装机的七个步骤。 1、Setup your hardware You need one small server for MAAS and at least one server which can be managed with a BMC. It is recommended to have the M......

openthings
59分钟前
3
0
OSX | SafariBookmarksSyncAgent意外退出解决方法

1. 启动系统, 按住⌘-R不松手2. 在实用工具(Utilities)下打开终端,输入csrutil disable, 然后回车; 你就看到提示系统完整性保护(SIP: System Integrity Protection)已禁用3. 输入reboot回车...

云迹
今天
4
0
面向对象类之间的关系

面向对象类之间的关系:is-a、has-a、use-a is-a关系也叫继承或泛化,比如大雁和鸟类之间的关系就是继承。 has-a关系称为关联关系,例如企鹅在气候寒冷的地方生活,“企鹅”和“气候”就是关...

gackey
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部