问题1:
程序初始化时,怎么产生不同的随机变量?比如第一次运行程序时
产生的是情况a,第二次运行程序时就产生情况b。
问题2:
怎么使程序结束时,保存变量?比如定义一个变量a,程序运行结束时,
a为3,那么下一次运行程序时就要使a等于3,怎么办?
请指教!!

解决方案 »

  1.   

    怎么使程序结束时,保存变量?比如定义一个变量a,程序运行结束时,
    a为3,那么下一次运行程序时就要使a等于3,怎么办?
    ////
    存入ini文件或者數據庫,總之要一個載體,因為你最後肯定什麼都nothing掉了問題一我先測一下
      

  2.   


    Private Sub Command1_Click()
    Dim MyValue
    MyValue = Int((6 * Rnd) + 1)   ' 產生 1 到 6 之間的亂數值。
    Debug.Print MyValueEnd Sub我不清楚你說的根據第幾個數字產生,還是直接command click 2次。
    如果復雜一點可以根據原來的數字產生亂數就一定不會相通
      

  3.   

    问题一
        你是否想产生类似于每日一帖的随机效果啊?应该很简单啊,用Rnd(),再randomize一下就可以每次产生可能不同的随机数啊.问题二
        如果想保留这种变量值,就必须在程序推出之前将它保存.可以用INI技术,数据库,或者在注册表内保存....:)
      

  4.   

    保存是时,如:savesetting "kk1","login","sever",a
    读取时,如:值=getsetting("kk1","login","sever")
    ----------------------------------------------------
      

  5.   

    程序初始化时,怎么产生不同的随机变量?
    --------------------------------------------------------------------------
    Private Sub Form_Load()
        Dim mIniRnd
        Randomize
        mIniRnd = Int(Rnd * 99) + 1
        MsgBox mIniRnd
    End Sub怎么使程序结束时,保存变量?
    --------------------------------------------------------------------------
    程序结束了,变量单元都释放,怎能保存呢?若是要保存就用文本文件或数据库吧
      

  6.   

    要取得亂數值會用到 Randomize 陳述式及 Rnd 函數,先說明如下: 《取材自 Msdn》──────────────────────────────────
    Randomize 陳述式:初始化亂數產生器。語法如下:
    Randomize [number]
    選擇性引數 number 可以是一型態為 Variant 的值或任何數值運算式。Randomize 使用 number 的值當成新的亂數種子來起始亂數產生器,若要得到一亂數值,則可呼叫 Rnd 函數。如果省略 number,則會以作業系統現在時間來當做新的亂數種子。如果沒有呼叫 Randomize 來起始亂數產生器,Rnd 函數 (沒有引數) 則使用上次呼叫 Rnd 函數所得的亂數值當做新的亂數種子。
    ──────────────────────────────────
    Rnd 函數:傳回一型態為 Single 的值,其內容為一亂數值。語法如下:
    Rnd [(number)]
    選擇性引數 number 可以是一型態為 Single 的值,或任何數值運算式。Rnd 函數傳回的亂數值介於 0 和 1 之間,可等於 0,但不等於 1。若想產生在某個範圍內(非 0 到 1)的亂數值,可使用下列公式:Int((upperbound - lowerbound + 1) * Rnd + lowerbound)上述公式中,upperbound 是亂數範圍的上限,而 lowerbound 則是亂數的下限。
    ──────────────────────────────────好了,理論說完了,希望您還清醒,來說今天的主題吧!下面的 Random_Number 是完成的模組:Function Random_Number(ByVal UpperBound As Long, ByVal LowerBound As Long) As Long
        Randomize
        Random_Number = Int((UpperBound - LowerBound + 1) * Rnd + LowerBound)
    End Function'在程式中實際使用的方式如下:Private Sub Command1_Click()
        Dim MyNum As Long
        '取得 1-100 的亂數值
        MyNum = Random_Number(100, 1)
        Msgbox MyNum
    End Sub
    注意:或許看上面的理論說明,有一點您還是不很清楚,不過我要再強調一次:若是您省略掉 Randomize 這個陳述式,而直接使用 Rnd 函數,則當您重複執行程式取亂數的功能時,例如一些擲骰子的遊戲,您每次都會到相同的亂數,例如上面的例子,省略掉 Randomize 這個陳述式之後,測試三次結果如下:  《完全相同》第一次:71,54,58,29,31,78,2,77,82,71,5.....
    第二次:71,54,58,29,31,78,2,77,82,71,5.....
    第三次:71,54,58,29,31,78,2,77,82,71,5.....
    ///
    看看這個貼,你就明白你的問題一了,呵呵~~