chartest_mainform.pas
来自「source code for the Marco Cantu s book D」· PAS 代码 · 共 102 行
PAS
102 行
unit CharTest_MainForm;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TFormCharTest = class(TForm)
btnInc: TButton;
Memo1: TMemo;
btnFor: TButton;
btnSet: TButton;
btnUpcase: TButton;
btnUTF16: TButton;
procedure btnIncClick(Sender: TObject);
procedure btnForClick(Sender: TObject);
procedure btnSetClick(Sender: TObject);
procedure btnUpcaseClick(Sender: TObject);
procedure btnUTF16Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FormCharTest: TFormCharTest;
implementation
uses
Character;
{$R *.dfm}
procedure TFormCharTest.btnForClick(Sender: TObject);
var
ch: Char;
str: string;
begin
str := '';
for ch := #32 to High(Char) do
str := str + ch;
Memo1.Lines.Text := str;
end;
procedure TFormCharTest.btnIncClick(Sender: TObject);
var
ch: Char;
begin
ch := 'a';
Inc (ch, 100);
Memo1.Lines.Add ('ch: ' + ch);
Inc (ch, 1000);
Memo1.Lines.Add ('ch: ' + ch);
Inc (ch, 20000);
Memo1.Lines.Add ('ch: ' + ch);
end;
// large set (won't compile)
//type
// intpart = 1..1000;
// ipset = set of intpart;
procedure TFormCharTest.btnSetClick(Sender: TObject);
var
// charSet: set of Char;
charSet: set of AnsiChar; // suppress warning
begin
charSet := ['a', 'b', 'c'];
// if 'a' in charSet then
if AnsiChar('a') in charSet then // suppress warning
Memo1.Lines.Add ('OK');
end;
procedure TFormCharTest.btnUTF16Click(Sender: TObject);
var
str1: string;
begin
str1 := '1.' + #9 + ConvertFromUtf32 (128) + ConvertFromUtf32($1D11E);
Memo1.Lines.Add (str1);
Memo1.Lines.Add (BoolToStr (
TCharacter.IsNumber(str1, 1), True));
Memo1.Lines.Add (BoolToStr (
TCharacter.IsPunctuation (str1, 2), True));
Memo1.Lines.Add (BoolToStr (
TCharacter.IsWhiteSpace (str1, 3), True));
Memo1.Lines.Add (BoolToStr (
TCharacter.IsControl(str1, 4), True));
Memo1.Lines.Add (BoolToStr (
TCharacter.IsSurrogate(str1, 5), True));
end;
procedure TFormCharTest.btnUpcaseClick(Sender: TObject);
var
ch1: Char;
ch2: AnsiChar;
begin
ch1 := '
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?