VB6_NEW USER Skrevet 28. april 2004 Del Skrevet 28. april 2004 (endret) Hei Jeg driver på med et program som jeg trenger random funksjon på kansje litt dorlig forklart men takk for all hjelp Hilsen en som er helt Fersk på VB men har laget noen ting Endret 28. april 2004 av VB6_NEW USER Lenke til kommentar
Jonas Skrevet 28. april 2004 Del Skrevet 28. april 2004 Randomize Timer MsgBox Rnd rnd er et random tall som windows lager. Randomize Timer genererer et nytt tall. Tallet er fra 0 til 1. Lenke til kommentar
d0ppler Skrevet 29. april 2004 Del Skrevet 29. april 2004 (endret) lager en funksjon til deg jeg, lim inn denne i formen din, og kall den fra hvor du vil.. (denne vil kunne takle heltall) funksjon: Private Function RandomNumber(min As Long, max As Long) As Long Dim diff As Long diff = Abs(max - min) + 1 Randomize RandomNumber = Int(Rnd() * diff) + min End Function så kan du kalle denne funksjonen fra hvor du vil i formen din, feks fra en knapp : Private Sub Command1_Click() Dim MittTillfeldigeTall As Long MittTillfeldigeTall = RandomNumber(2, 5) End Sub Nå vil variabelen MittTillfeldigeTall få en tilfeldig verdi mellom 2 og 5 EDIT : for å gjøre dette litt enklere, så valgte jeg i dette eksempelet å putte Randomize metoden inn i funksjonen. Det er egentlig riktigere å fjerne den fra funksjonen, og bare bruke den når du starter opp applikasjonen, dvs. putte den i Form_Load-eventet Endret 29. april 2004 av dga01 Lenke til kommentar
d0ppler Skrevet 29. april 2004 Del Skrevet 29. april 2004 rnd er et random tall som windows lager. Randomize Timer genererer et nytt tall. Tallet er fra 0 til 1. dette er feil. rnd() er en funksjon som returnerer et tilfeldig (vel, egentlig ikke tilfeldig, men plukker et tall fra "seeden" til randomize-metoden) flyttall mellom 0 og 1 Randomize er en sub (eller metode om du vil) som genererer en ny "seed" (tallrekke), basert på klokkeslettet i datamaskinen din (hvis du ikke angir argument). Det opsjonelle argumentet (i ditt tilfelle Timer) er bare til forvirring, og har aldri skjønt hva jeg skal bruke denne til. Lenke til kommentar
VB6_NEW USER Skrevet 29. april 2004 Forfatter Del Skrevet 29. april 2004 Jeg skal bruke Text så kan noen gi meg en kode eller går det ann med de som er her Lenke til kommentar
d0ppler Skrevet 29. april 2004 Del Skrevet 29. april 2004 hva mener du? at du skal bruke svaret i en tekststreng? hvis det er tilfelle, så vil dette fungere.. EKS : Dim minTekst as String minTekst = "Det tilfeldige tallet er " & RandomNumber(2, 5) & "!" Lenke til kommentar
VB6_NEW USER Skrevet 29. april 2004 Forfatter Del Skrevet 29. april 2004 la oss si at jeg skal ha programmet til og velge mellom tre meldinger vi sier 1 : Hey 2: Halla og 3 : hey Lenke til kommentar
d0ppler Skrevet 29. april 2004 Del Skrevet 29. april 2004 la oss si at jeg skal ha programmet til og velge mellom tre meldinger vi sier 1 : Hey 2: Halla og 3 : hey ehh ja... lag et nytt prosjekt, og lim inn alt dette i koden til formen din (kun dette) : Option Explicit Private Sub Form_Load() Randomize Select Case RandomNumber(1, 3) Case 1: MsgBox "Hei" Case 2: MsgBox "Halla" Case 3: MsgBox "Hey" End Select End Sub Private Function RandomNumber(min As Long, max As Long) As Long Dim diff As Long diff = Abs(max - min) + 1 RandomNumber = Int(Rnd() * diff) + min End Function er det slik du vil ha det?? Lenke til kommentar
VB6_NEW USER Skrevet 29. april 2004 Forfatter Del Skrevet 29. april 2004 Perfekt da kan jeg fortsette Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå