16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル
"RE^2:文字変数の比較を簡単に"
この発言は #00935 ひの さんのRE:文字変数の比較を簡単に に対するコメントです
この発言に対し以下のコメントが寄せられています
#00937 ひの さん RE:RE^2:文字変数の比較を簡単に
ども、 ひの さん こんにちは
//「ゼニならなんぼでもはろうたるさかい、飛ばしてや!!」タイプ
var
tbl: array [0..255] of Boolean;
function Func4(ch: Char): Boolean;
const
Ini: Boolean = True;
var
i: Integer;
begin
if Ini then begin
for i := 0 to 255 do
tbl[i] := Chr(i) in ['0'..'9','A'..'Z','a'..'z'];
Ini := False;
end;
Result := tbl[Ord(ch)];
end;
procedure TForm1.Button1Click(Sender: TObject);
type
TFuncCc = function (c: Char): boolean;
const
tc = 10000000;
var
rs: Integer;
procedure Test(fn: String; fc: TFuncCc);
var
t1,t2,i: Integer;
begin
RandSeed := rs;
t1 := GetTickCount;
for i := 1 to tc do
fc(Chr(Random(256)));
t2 := GetTickCount;
Memo1.Lines.Add(fn+' : '+IntToStr(t2-t1));
end;
begin
rs := Random(MaxInt);
Test('Func1',Func1);
Test('Func2',Func2);
Test('Func3',Func3);
Test('Func4',Func4);
end;
Delphi4 でやってみた結果です。
Func1 : 1622
Func2 : 1021
Func3 : 1072
Func4 : 761
kiima(CXG00064) http://www.mars.dti.ne.jp/~kiima
Original document by kiima 氏 ID:(CXG00064)
ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。
Copyright 1996-2002 Delphi Users' Forum
|