如字符串:
str:='!@#$%^&*()QWRRTT...等键盘上的一些可用字符';
我想用一段程序随机得到其中的任何四个字符这,这如何实现?

解决方案 »

  1.   

    产生一个1 到你这个字符串长度之间的随机数,然后取得Pos值为随机位置的字符,连接不就可以了么?
      

  2.   

    产生一个1 到你这个字符串长度之间的随机数,然后取得Pos值为随机位置的字符,连接不就可以了么?
    --------
    注意 随机数不重复 不然就取到一样的了
      

  3.   

    这个不简单么?你把产生的随机数放到数组或者其他什么地方,判断一下就OK了
    或者更复杂一点,每个字符不都有ASCII 码么?你可以产生随机的ASCII码值,转换成你想要的字符
      

  4.   

    RANDOMIZE
    for J:=0 to 3 do   //四个随机数
    begin
       I:=random(length(str));  
       a[I]:=copy(str,I,I+1);
    end;
    ----------------------------------
    a[]是个数组,大概就是上边的样子
      

  5.   

    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]
      

  6.   

    解决了,感觉还是自己的代码好看。
    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;