随机函数如何取得如下规则的信息量
我想取得:
------------------------------------------
范围如下
大写字母:   A------------Z
小写字母:   a------------z
------------------------------------------
大小写字母混合的六位随机字母

解决方案 »

  1.   

    根据 ACCSII 码值,随机取。
      

  2.   

    分太少了吧,你可是富翁!
    参考一下
    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;
      

  3.   

    楼主都是富农了,还发这1分的贴子,51.61%的结贴率,又能让几人愿意回答你的问题,不过出于负责的考虑,我还是把
    主要思路说一下:
    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,那个随机函数不知道写对了没有,你查查看
      

  4.   

    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'; 
    Randomize; 
    result:=ss[Random(52)]; 
    ss.free; 
    end; 
    //看到2楼的例子,发现随机函数果然写错了,修改如上
    2楼给的方法是取得2个值,而楼主要的只有一个值,即要么是大写字母,要么是小写字母,所以2楼的不是正确答案