線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:3459
推到 Plurk!
推到 Facebook!

BCB 亂數每次執行跑的值都要不一樣?

答題得分者是:nlj859
wolfmiller
一般會員


發表:1
回覆:1
積分:0
註冊:2004-12-20

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-01-09 14:16:12 IP:163.28.xxx.xxx 未訂閱
產生亂數的函數 AnsiString Rand16() { randomize(); int index=rand(); AnsiString array[16]={0,1,2,3,4,5,6,7,8,9,'A','B','C','D','E','F'}; return array[index]; } //---------------------------------- Edit1->Text=Rand16() Rand16() Rand16(); 出來的值會是BBB,333,888,呼叫三次函數出來的亂數值都一樣 可是我想要的是B38...469...039 每次呼叫函數出來的值都不一樣 而且我希望下次再執行這程式的時候出來的值, 不再等於上次的亂數(B38,469,039)...也就是可能出現D75,C29,5A2,...等再次新的亂數 我是BCB的新手.. 請問各位大大要怎麼寫?謝謝
nlj859
資深會員


發表:139
回覆:375
積分:322
註冊:2004-03-20

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-01-09 15:20:09 IP:219.80.xxx.xxx 未訂閱
Hello wolfmiller,    把randomize()放到FormCreate()
void __fastcall TForm1::FormCreate(TObject *Sender)
{
  randomize();
  Edit1->Text=rand16() rand16() rand16();
}    AnsiString TForm1::rand16(void)
{
  int a;
  AnsiString v[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
  a=random(16);
  return v[a];
}
發表人 - nlj859 於 2005/01/09 15:44:09
wolfmiller
一般會員


發表:1
回覆:1
積分:0
註冊:2004-12-20

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-01-09 15:48:02 IP:163.28.xxx.xxx 未訂閱
謝謝大大 我知道了^^
系統時間:2024-07-01 17:07:34
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!