28. oktober 2000 - 01:26Der er
7 kommentarer og 1 løsning
Randomizer samt check for tidligere resultater...
Jeg skal bruge en noget koder der kan: 1. Finde et tilfældigt tal mellem 0 og 200. 2. Gemme et \"1\"-tal i en access database på den ID plads hvor det tilfældige tal ligger. 3. Derefter skal den finde det næste tilfældige tal - MEN: Hvis der allerede står et \"1\"-tal i databasen så skal den automatisk finde et nyt med samme indtil den finder et tal der ikke har været der før.
Vi kunne jo kalde det en \"banko\" maskine. I banko er det jo heller ikke hensigtsmæssigt at samme tal bliver trukket 2 gange !!
HER ER KODEN: Randomize() StopNow = 1000 Set Conn = Server.CreateObject(\"ADODB.Connection\") Conn.Open \"IPBanko\"
Do Until StopNow < 5 StopNow = StopNow - 1 RandomNumber = Int((96) * Rnd) + 101 Set Data = Conn.Execute(\"SELECT * FROM IPBanko WHERE Bord=\" & RandomNumber & \" ORDER BY Bord \") If Data(\"Aktiv\") = 0 Then StopNow = 0 Conn.Execute(\"UPDATE IPBanko SET Aktiv=\'1\' WHERE Bord=\" & RandomNumber) End If Loop
Conn.Close Set Data=Nothing
If StopNow = 0 Then Response.Write \"<CENTER><FONT SIZE=\'5\'><B>Nummer:<BR>10.0.0.<FONT SIZE=\'7\'>\" & RandomNumber & \"</FONT></B></CENTER>\" Else Response.Write \"<CENTER><FONT SIZE=\'5\'><B>Nummer:<BR><FONT SIZE=\'7\'>Alle numre er udtrukket !</FONT></B></CENTER>\" End If -------------------
Den gemmer et \'1\' i \"Aktiv\" feltet der hvor \"Bord\" = random nummeret.
Hvis nu det uheldige sker at ALLE numrene er \"Aktive\" så: For at serveren ikke skal vælte omkuld har jeg sat en StopNow tæller ind der går 1 ned i værdi hver gang den prøver at finde et nummer der ikke er der i forvejen.
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.