delphi 随机函数单元uRandomUtils


本文整理自网络,侵删。

 
unit uRandomUtils; //晓不得2013 QQ:26562729

interface

uses system.math, system.SysUtils;

function GetRandomCharStr(ADig: integer): string;
function GetRandomNumStr(ADig: integer): string; overload;
function GetRandomNumStr(AStart, AEnd: integer): string; overload;
function GetRandomHanziStr(ADig: integer): string;

implementation

type
  TGetRandomChar = reference to function: Char;

const
  HanZi = '平丽强勇军梅建化国中天莉尚丰田开杰锦思小晓伦春满淋叶风亚唯赵';

function GetRandomString(ADig: integer; AGetRadomChar: TGetRandomChar): string; overload;
var
  i: integer;
begin
  Result := '';
  if ADig < 1 then exit;
  for i := 1 to ADig do
  begin
    Randomize;
    Result := Result + AGetRadomChar;
  end;
end;

function GetRandomCharStr(ADig: integer): string;
var
  AChar: TGetRandomChar;
begin
  AChar := function: Char
    begin
      Result := Char(RandomRange(65 + 32, 91 + 32));
    end;
  Result := GetRandomString(ADig, AChar);
end;

function GetRandomNumStr(ADig: integer): string;
var
  AChar: TGetRandomChar;
begin
  AChar := function: Char
    begin
      Result := inttostr(RandomRange(0, 10))[1];
    end;
  Result := GetRandomString(ADig, AChar);
end;

function GetRandomNumStr(AStart, AEnd: integer): string; overload;
begin
  Result := IntToStr(RandomRange(AStart, AEnd + 1));
end;

function GetRandomHanziStr(ADig: integer): string;
var
  AChar: TGetRandomChar;
  nHanzi: integer;
begin
  nHanzi := length(HanZi) + 1;
  if nHanzi <= 1 then exit('');
  AChar := function: Char
    begin
      Result := HanZi[RandomRange(1, nHanzi)];
    end;
  Result := GetRandomString(ADig, AChar);
end;

end.

相关阅读 >>

Delphi 跨平台打开网址链接

Delphi中如何向某个ip不间断的发送数据

Delphi 运行时提升软件到管理员权限

Delphi获得某个磁盘或是文件夹的所有子目录

简单的rs232c/ttl电平转换和串口取电

Delphi 检测url地址是否有效

Delphi date 返回当前的日期

Delphi sqlite防止插入重复数据的方法

Delphi png异形窗口

winapi 字符及字符串函数(5): ischaralpha - 是否是个字母

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...