高手帮忙:如何从指定字符串中随机得到4个字符 如字符串:str:='!@#$%^&*()QWRRTT...等键盘上的一些可用字符';我想用一段程序随机得到其中的任何四个字符这,这如何实现? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 产生一个1 到你这个字符串长度之间的随机数,然后取得Pos值为随机位置的字符,连接不就可以了么? 产生一个1 到你这个字符串长度之间的随机数,然后取得Pos值为随机位置的字符,连接不就可以了么?--------注意 随机数不重复 不然就取到一样的了 这个不简单么?你把产生的随机数放到数组或者其他什么地方,判断一下就OK了或者更复杂一点,每个字符不都有ASCII 码么?你可以产生随机的ASCII码值,转换成你想要的字符 RANDOMIZEfor J:=0 to 3 do //四个随机数begin I:=random(length(str)); a[I]:=copy(str,I,I+1);end;----------------------------------a[]是个数组,大概就是上边的样子 i1:=Random(1,length(str));i2:=Random(1,length(str));i3:=Random(1,length(str));i4:=Random(1,length(str));{判断i1--i4是否相等}if 不等str[i1]+str[i2]+str[i3]+str[i4] 解决了,感觉还是自己的代码好看。vari,j:integer;beginedit1.Text:='';for i:=1 to 4 do begin Randomize; j :=33+Random(40); edit1.Text:= edit1.Text+chr(j);end; 程序员兄弟们,我们以后的路在何方? 怎样删除明细表的记录! vclsin 对 ActionMainMenuBar制作的菜单为什么没有效果? 谁知道FoxMail的那个工具栏是用什么控件做的? 数据同步 请问用ADOConnection动态连接数据库的问题? 如何限制鼠标,也就是鼠标 怎样控制EDIT里的光标的位置 怎样才能访问另一个Form单元定义的变量? 关于多线程问问大家 服务器端和客户端的远程连接? 关于提示框的问题,请各位高手帮忙....
--------
注意 随机数不重复 不然就取到一样的了
或者更复杂一点,每个字符不都有ASCII 码么?你可以产生随机的ASCII码值,转换成你想要的字符
for J:=0 to 3 do //四个随机数
begin
I:=random(length(str));
a[I]:=copy(str,I,I+1);
end;
----------------------------------
a[]是个数组,大概就是上边的样子
i2:=Random(1,length(str));
i3:=Random(1,length(str));
i4:=Random(1,length(str));
{判断i1--i4是否相等}
if 不等
str[i1]+str[i2]+str[i3]+str[i4]
var
i,j:integer;
begin
edit1.Text:='';
for i:=1 to 4 do begin
Randomize;
j :=33+Random(40);
edit1.Text:= edit1.Text+chr(j);
end;