随机函数(10分)

  • 主题发起人 主题发起人 我饿了
  • 开始时间 开始时间

我饿了

Unregistered / Unconfirmed
GUEST, unregistred user!
请问Delphi的随机函数是什么????<br>需要能产生大小写字母.数字.特殊字符!<br>请具体说明一下函数的用法.<br>谢谢!
 
function Random [ ( Range: Integer) ];<br>Description<br>Random returns a random number within the range 0 &lt;= X &lt; Range. If Range is not<br>specified, the result is a real-type random number within the range<br>0 &lt;= X &lt; 1.<br><br>可以通过设置Range来限制得到的随机数的范围。<br>如:<br>&nbsp; 产生大写字母: Char(Byte('A')+Byte(Random(26)));<br>&nbsp; ...数字: Char(Byte('0')+Byte(Random(10)));<br>&nbsp; 同时产生数字或大写字母:<br>&nbsp; &nbsp; i:=Random(10+26);<br>&nbsp; &nbsp; if i&gt;=26 then<br>&nbsp; &nbsp; &nbsp; Caption:=Char(Byte('0')+Byte(i-26))<br>&nbsp; &nbsp; else<br>&nbsp; &nbsp; &nbsp; Caption:=Char(Byte('A')+Byte(i));<br><br>与之相关的还有 Randomize 和 RandSeed,参见Delphi的帮助。
 
不明白.<br>帮我写个源程好吗?<br>单击按钮后将随机数显示出来.(最好能特定长度)<br>谢谢!
 
10分?!送佛送上西吧!<br><br>var<br>&nbsp; i:Integer;<br>&nbsp; mstr:String;<br>begin //产生含有ASCII 33--126字符的长度为8的随机字符串,32是空格,126以上不可显示<br>&nbsp; Randomize;<br>&nbsp; mstr:='';<br>&nbsp; for i:=1 to 8 do<br>&nbsp; &nbsp; mstr:=mstr+Char(Byte(' ')+1+Byte(Random(125-32)));<br>&nbsp; Caption:=mstr;<br>end;
 
我忘了在哪有一篇资料,说的是用时和这个函数,那个才是真正的随机函数
 
先谢谢了.但是有几点还是不明白.<br>为什么要有mstr:='';<br>而mstr+Char(Byte(' ')+1+Byte(Random(125-32)));又是什么意思?<br>谢了~~~~
 
//faint<br>你还是先看一看Pascal的语法书吧。先打一点基础,写几个简单的程序(COPY书上的例子也可以提高<br>水平),然后深入进去,这期间中遇到什么问题再提出来问一下大家。像我上面的程序,看一看书<br>就可以理解的,虽然本人很懒,但是学习编程语言从来没有含糊过。<br><br>解释:<br>mstr:='';<br>&nbsp; 将字符串mstr赋值为一个空串——不含任何字符的字符串<br>mstr+Char(Byte(' ')+1+Byte(Random(125-32))); //125-32应改为126-32<br>&nbsp; 在字符串mstr的末尾添加一个字符,而这个字符是在ASCII 33-126之间的随机字符。<br>由于空格的ASCII码是32,而Random(N)的值域是0到N-1,为了将产生的字符控制在预定的范围之内,<br>将32+1-&gt;33,再加上后面的随机数,范围就在33-126之间了。
 
基本上是明白了.<br>可是还有个别地方含糊.<br>还有个问题.<br>在你上面的源码中.Caption:=mstr;这个语句前面为什么不用家From就可以直接显示在From<br>的Caption中?<br>另外要说的是.我是个初学者.以后有很多事情要麻烦各位.能不能麻烦creation-zy.把您的OICQ或者Email什么的给我.到时有问题好直接问你.(因为我没有多少分呀~)<br>谢了.
 
后退
顶部