随机生成一个生僻字的函数: function genahz:string; var q,w:word; begin Randomize; q:=$d8+random($1f); w:=$a1+random($5d); genahz:=chr(q)+chr(w); end;
符合你要求较完整的程序(含字符及生僻字): function genahz:string; var c:byte; q,w:word; begin c:=random(10); if c<=5 then begin q:=$d8+random($1f); w:=$a1+random($5d); genahz:=chr(q)+chr(w); end else begin c:=$41+random($19); genahz:=chr(c); end; end; procedure TForm1.Button1Click(Sender: TObject); var i:integer; s:string; begin s:=''; Randomize; for i:=1 to 100 do s:=s+genahz(); memo1.lines.add(s); end;
你只要将区位设定为5601-8794(用随机生成),就可以了(汉字的内码为D8A1-F7FE)
那如何调用呢?老大,200分不够吗?
function genahz:string;
var
q,w:word;
begin
Randomize;
q:=$d8+random($1f);
w:=$a1+random($5d);
genahz:=chr(q)+chr(w);
end;
function genahz:string;
var
c:byte;
q,w:word;
begin c:=random(10);
if c<=5 then
begin
q:=$d8+random($1f);
w:=$a1+random($5d);
genahz:=chr(q)+chr(w);
end else
begin
c:=$41+random($19);
genahz:=chr(c);
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
s:string;
begin
s:='';
Randomize;
for i:=1 to 100 do
s:=s+genahz();
memo1.lines.add(s);
end;