Avatar billede tjacob Juniormester
14. februar 2001 - 16:54 Der er 2 kommentarer og
1 løsning

Hvorfor virker Randomize ikke her?

Jeg har denne funktion, der skal generere tilfældige strenge bestående
af ANSI-tegn 34-92. Jeg skal f.eks. bruge 100 strenge på hver 32 tegn.
Men når jeg laver disse 100 strenge er der gengangere.
Hvorfor?

Function LavString(iAntalTegn As Integer) As String
Dim a, b

    For a = 1 To iAntalTegn
        Randomize
        b = b & Chr(Int(92 * Rnd + 34))
    Next a
    LavString = b

End Function

Dim c(99)

    For a = 0 to 99
    c(a)=LavString(32)   
    Next a

f.eks. kan c(3) være lig c(25) på alle 32 tegn!
Hvorfor?
Avatar billede tdaugaard Nybegynder
14. februar 2001 - 16:58 #1
Du skal ikke bruge Randomize på den måde:

Function LavString(iAntalTegn As Integer) As String
  Dim a, b

  For a = 1 To iAntalTegn
    b = b & Chr(Int(92 * Rnd + 34))
  Next

  LavString = b
End Function

Dim c(99)

Randomize

For a = 0 to 99
  c(a)=LavString(32)   
Next
Avatar billede tjacob Juniormester
14. februar 2001 - 17:07 #2
Man fristes til at sige:
Som sædvanligt har tdaugaard svaret i løbet af 5 minutter.
-Tak for hjælpen!
Avatar billede tdaugaard Nybegynder
14. februar 2001 - 17:10 #3
*hi hi* tjaa .. :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester