最近在做一个小软件,需要随机生成一些密码之类的,于是乎就整了这么一个函数,用于随机生成一定长度的大/小写字母和0-9的数字。
function GetRandStr(len : Integer; lowercase : Boolean = True;
num : Boolean = True; uppercase : Boolean = False) : string;
const
upperStr = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
lowerStr = 'abcdefghijklmnopqrstuvwxyz';
numStr = '0123456789';
var
sourceStr : string;
i : Integer;
begin
sourceStr := '';
Result := '';
if uppercase = True then
sourceStr := sourceStr + upperStr;
if lowercase = True then
sourceStr := sourceStr + lowerStr;
if num = True then
sourceStr := sourceStr + numStr;
if (sourceStr = '') or (len<1) then
exit;
Randomize;
for i:=1 to len do
begin
Result := Result + sourceStr[Random(Length(sourceStr)-1)+1];
end;
end;