随机函数问题(100分)

  • 主题发起人 lgsonline
  • 开始时间
L

lgsonline

Unregistered / Unconfirmed
GUEST, unregistred user!
如何随机产生一个8位的字符串(包括数字字母和符号),请详细写出程序,谢谢
 
能不能用随机产生的一串数字作为8位的字符串的ASCII码,然后转回来。
 
randomize();
edit1.Text :='';
for i:=0 to 7 do
edit1.Text :=edit1.Text+chr(random(128));
 
如果用转换的办法就不用说了!
系统还带有一个可以实现这功能的函数我不记得了!
 
以下是随机产生一个8位字符串:只包括数字和大小写字符
randomize();
edit1.Text :='';
for i:=0 to 7 do
begin
j:=random(61);
case j of
0..9:j:=j+48;
10..35:j:=j+55;
36..61:j:=j+61;
end;
edit1.Text :=edit1.Text+chr(j);
end;
 
pipi_lu:
谢谢,出现了一个不可输入的字符象‘l’,我不知道到底是什么字符,并且不能
从0到7循环否则产生7位数,我从1到8可以的,请你在帮我看看
 
randomize();
edit1.Text :='';
for i:=0 to 7 do
begin
j:=random(61);
case j of
0..32:j:=j+2;
33..51:j:=j+55;
52..61:j:=j+61;
end;
edit1.Text :=edit1.Text+chr(j);
end;
随便改啦,最好不要小于#32
 
procedure TForm1.Button2Click(Sender: TObject);
const
s='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-+=_()&*^%$#@!~`;:"<>,.//|''';
var
n,i:integer;
ss:string;
begin
randomize();
n:=length(s);
ss:='';
for i:=0 to 7 do
ss:=ss+s[random(n)+1];
showmessage(ss);
end;
 
谢谢大家帮忙
 
顶部