随机函数如何取得如下规则的信息量
我想取得:
------------------------------------------
范围如下
大写字母: A------------Z
小写字母: a------------z
------------------------------------------
大小写字母混合的六位随机字母
我想取得:
------------------------------------------
范围如下
大写字母: A------------Z
小写字母: a------------z
------------------------------------------
大小写字母混合的六位随机字母
解决方案 »
- 向其他程序的groupbox里的控件TeEdit发送消息,发送不过去
- DBGrid的colume的显示问题
- delphi6中如何使用fastreport,fastreport在哪里下载?
- 请问怎么删除SQL Server的服务?
- F1
- 类似友情强档(outlook)的日历怎么做?
- 请问怎样将三个变量用SQL语句分别存入指定*.DB表的字段中?
- 怎样打看‘com’---串口,我想用assignfile(),rewrite(),write(),直接向串口,里写。
- 如何连接同一数据库中不同用户所属的表?
- 谁各位大侠引引路?
- 怎样实现多栏多项目报表
- 使用Indy如何让客户端在局域网中查找所有的服务端并建立通讯
参考一下
uses
math;
procedure TForm1.Button1Click(Sender: TObject);
VAR
x,y: integer;
a,b: char;
begin
randomize;
x:=RandomRange(65,90);
y:=RandomRange(97,122);
a:=chr(x);
b:=chr(y);
end;
主要思路说一下:
1楼的根据ASCII码取是一种方法,不过因为楼主要取所有的大写字母和小写字母,而大小字母的ASCII码值并没有挨着,所以感觉这种方法不太可取,现说一下我的方法:
function GetAChar:string;
var
ss:TStringList;
begin
ss:=TStringlist.create;
ss.Delimiter:=',';
ss.DelimitedText:='a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z';
Radomize;
result:=ss[radom(52)];
ss.free;
end;
上面这个函数,可以实现你的目的,可惜手边没有D,那个随机函数不知道写对了没有,你查查看
var
ss:TStringList;
begin
ss:=TStringlist.create;
ss.Delimiter:=',';
ss.DelimitedText:='a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z';
Randomize;
result:=ss[Random(52)];
ss.free;
end;
//看到2楼的例子,发现随机函数果然写错了,修改如上
2楼给的方法是取得2个值,而楼主要的只有一个值,即要么是大写字母,要么是小写字母,所以2楼的不是正确答案