none
关于随机数的问题,请教高手 RRS feed

  • 常规讨论

  • 我有一段VB代码,想转成DELPHI 的。请问高手,怎么转,随机数处理上总有问题
    Code Snippet
    Const MIN_ASC = 32 ' Space.
    Const MAX_ASC = 126 ' ~. Const NUM_ASC = MAX_ASC - MIN_ASC + 1 Dim offset As Long Dim str_len As Integer Dim i As Integer Dim ch As Integer ' Initialize the random number generator. offset = NumericPassword(PASSWORD) Rnd -1 Randomize offset ' Encipher the string. str_len = Len(from_text) For i = 1 To str_len ch = Asc(Mid$(from_text, i, 1)) If ch >= MIN_ASC And ch <= MAX_ASC Then ch = ch - MIN_ASC offset = Int((NUM_ASC + 1) * Rnd) ch = ((ch - offset) Mod NUM_ASC) If ch < 0 Then ch = ch + NUM_ASC ch = ch + MIN_ASC to_text = to_text & Chr$(ch) End If Next i

    2008年12月16日 6:06

全部回复

  • 其实你需要一个delphi高手。。。

    2008年12月16日 6:12
  • 你不妨把代码整理下发出来。我用delphi给你写一个
    2008年12月19日 4:25
  •  vb 生成的20位随机数
    代码如下,
    为什么会出现重复呢?
        ''' 加年月日时分秒
        CreateKey = CreateKey & Format(Date, "yyyymmdd")
        CreateKey = CreateKey & Format(Time, "hhmmss")
       
        ''' 加毫秒
        CreateKey = CreateKey & Right(GetTickCount, 3)
       
        Dim s As String
       
        s = "-1"
        Do Until CInt(s) > 0
            s = Right(Rnd(5), 3)        ''' 取得三位随机数(大于0)
        Loop
       
        CreateKey = CreateKey & s       ''' 加三位随机数
    g133244
    2009年3月23日 7:39