文档章节

其它 Helper

涂孟超
 涂孟超
发布于 2014/09/26 15:32
字数 403
阅读 9
收藏 0

TByteHelper

TShortIntHelper

TSmallIntHelper

TWordHelper

TCardinalHelper

TIntegerHelper

TInt64Helper

TUInt64Helper

TNativeIntHelper

TNativeUIntHelper

// 它们定义在 System.SysUtils, 功能基本一样, 常用的有:
var
  I: Integer;
  S: string;
begin
  I := I.MaxValue;     //  2147483647
  I := I.MinValue;     // -2147483648
  I := I.Size;         // 4
  I := I.Parse('123'); // 123

  I := 255;
  S := I.ToString();     // '255'
  S := I.ToHexString;    // FF
  S := I.ToHexString(4); // 00FF
end;


TBooleanHelper

TByteBoolHelper

TWordBoolHelper

TLongBoolHelper

// 它们定义在 System.SysUtils, 基本无用.



TSingleHelper

TDoubleHelper

TExtendedHelper

// 它们定义在 System.SysUtils, 功能基本一样, 常用的有:
var
  F: Double;
  S: string;
begin
  F := F.MaxValue;      // 1.7976931348623157081e+308
  F := F.MinValue;      // -1.7976931348623157081e+308
  F := F.Size;          // 8
  F := F.Parse('3.14'); // 3.14

  F := Pi * 100;
  s := F.ToString();                      // 314.159265358979
  S := F.ToString(ffExponent, 6, 3);      // 3.14159E+002
  S := F.ToString(ffFixed, MaxInt, 2);    // 314.16; 保留两位小数点; 同 S := Format('%.2f', [F]);
  S := F.ToString(ffCurrency, MaxInt, 4); // ¥314.1593
end;


TCharHelper

// 它们定义在 System.Character, 它可以彻底替代同单元的 TCharacter 结构体. 主要方法有:
function IsControl: Boolean;
function IsDigit: Boolean;
function IsHighSurrogate: Boolean;
function IsInArray(const SomeChars: array of Char): Boolean;
function IsLetter: Boolean;
function IsLetterOrDigit: Boolean;
function IsLower: Boolean;
function IsLowSurrogate: Boolean;
function IsNumber: Boolean;
function IsPunctuation: Boolean;
function IsSeparator: Boolean;
function IsSurrogate: Boolean;
function IsSymbol: Boolean;
function IsUpper: Boolean;
function IsWhiteSpace: Boolean;
function ToLower: Char;
function ToUpper: Char;
function ToUCS4Char: UCS4Char;

// 以后可以不用 CharInSet()了, 不过得引用 System.Character 单元

uses System.Character;

procedure TForm1.FormCreate(Sender: TObject);
begin
  KeyPreview := True;
end;

procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
  if Key.IsInArray(['1', '2', '3', '4', '5', '6', '7', '9', '0']) then
    ShowMessage('按下了数字键');

  if Key.IsNumber then
    ShowMessage('真的按下了数字键');
end;


System.SysUtils 还给了一个 TGuidHelper

var
  G: TGUID;
  S: string;
  bs: TBytes;
begin
  G := G.NewGuid;
  S := G.ToString;
  bs := G.ToByteArray;
end;

// XE4 中还看到几个 Helper, 如:
TCriticalSectionHelper
TConditionVariableHelper
CFGregorianDateHelper
TD2DMatrix3x2FHelper
TDSSessionHelper
TCanvasHelper
TStyleManagerHelper
TBitmapHelper
TContextHelper
TElementMarginsHelper
TThemeServicesClassHelper

// 这都不常用了, 不过这东西确实方便批量地扩展功能, 这或许会成为写代码的一种基本手法, 譬如:
// System.Rtti 单元中的 TListHelper, TArrayHelper 和 System.Classes 单元中的 TUInt32Helper

本文转载自:http://www.cnblogs.com/del/archive/2013/06/15/3138133.html

共有 人打赏支持
涂孟超
粉丝 12
博文 2011
码字总数 14107
作品 0
深圳
程序员
私信 提问
ASP.NET MVC项目中App_Code目录在程序应用

学习ASP.NET MVC,如果你是开发ASP.NET MVC项目的,也许你去为项目添加前ASP.NET项目的APP_Code目录,在这里创建与添加的Class类,也许你无法在MVC项目所引用。 那这样说,是不是一没有作用了...

Insus.NET
2018/10/28
0
0
[Erlang 0102] 愚人节消息 too_big_to_fail_process

Joe Armstrong 在愚人节介绍了toobigtofail flag,这个东西真是好多疑问啊,希望只是愚人节的一个玩笑. 介绍 Toobigtofailprocess进程平时和正常进程一样,一旦需要更多内存的时候面目就开始狰狞...

唐玄奘
2017/12/01
0
0
git 每次提交需要输入密码

  亲测可行(第一种)   原文:git每次提交都要输入密码怎么办   ================COPY=========================== 不少用户反映在使用G...

戎码半生
2017/03/06
0
0
OpenVPN-2.1.1在windows上的编译

一、 总述: 1. 对于openvpn-2.1.0的编译,由于微软cl编译器和GNU的gcc行为不同,需要修改不多的几个源文件来适应微软的编译器 2. 对于openvpn-2.1.1的编译,根目录下没有了Makefile.w32-vc...

晨曦之光
2012/04/10
1K
0
Python + Selenium + Chrome 使用代理 auth 的用户名密码授权

米扑代理,全球领导的代理品牌,专注代理行业近十年,提供开放、私密、独享代理,并可免费试用 米扑代理官网:https://proxy.mimvp.com 本文示例,是结合米扑代理的私密、独享、开放代理,专...

sunboy2050
2018/07/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Go Timer实现原理剖析

简介 快速使用 操作介绍

恋恋美食
19分钟前
2
0
记录一个奇怪的问题

环境:jdk1.8虚拟机参数:-verbose:gc -XX:+PrintGCDetails -Xmx20m -Xms20m -Xmn10m -XX:SurvivorRatio=8  -XX:+HeapDumpOnOutOfMemoryError 可以看出,eden占8M却放不下6M数据,发生了......

暗中观察
47分钟前
2
0
【git搭建】创建多个git账号

实习开发中我们可能一个机子上配置多个git账号,如github.com,oschina.com 或者工作账号,私人账号,这时候就2个账号用一个key,肯定会冲突,有一个会提示没权限(账号和密码对应不上) ssh ...

echojson
50分钟前
2
0
rabbitmq安装教程

RabbitMQ有Windows与Linux版本的,这里先写Windows版本的安装。 以前安装软件总是在百度上找某某安装教程,结果能按照教程安装好的软件真的不多。想起先前以为大牛说的一句话,去官网按照官网...

em_aaron
今天
7
0
Android 贝塞尔曲线实践——波浪式运动

一、波浪效果如下 贝塞尔曲线自定义波浪效果的案例很多,同样方法也很简单,大多数和本案例一样使用二次贝塞尔曲线实现,同样还有一种是PathMeasure的方式,这里我们后续补充,先来看贝塞尔曲...

IamOkay
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部