Hej, Hej Filip, Pelle heter jag och tänkte försöka hjälpa dig med dina två frågor. Du kan kanske få lite info om du kikar här [Slumpa och sortera (ett snabbare sätt)] - Slumpa och sortera random + array
hur gör man för att få ett slump-tal mellan två givna värden – exempelvis 0 och 12. Har provat med Rnd() med diverse multiplikationer efter men kommer inte fram till något bra.
Går det att ta reda på hur många fält det finns i en array utan att behöva:
n=0
For each Index in minArray
n=n+1
Next
mvh FilipSv: random + array
Som svar på fråga 1 börjar du med att starta slumptalsgeneratorn genom att kalla på kommandot Randomize() som nu vet att du skall börja använda det som kallas randomize timer. Därefter precis som du säger så skall du få ut ett slumpat värde mellan 0 och 12. Då Rnd ger antingen ett heltal eller decimaltal i retur så konverterar vi detta resultat med funktionen Int - som står för Integer. Ett exempel på detta kan då se ut som följer
<code>
Randomize()
RandomVaerde = Int(12 * Rnd())
</code>
Som svar på fråga 2 kan du när du har skapat en array använda vb's funktion UBound(). Denna funktion behöver en inparameter som är en array och känner då av vad det högsta värdet är. En sak till att säga är att ubound returnerar värden enligt zero base, dvs att första förekomsten har värdet 0. Så om en dimentionerad array är 100 så är det i själva verket 0-99, dvs 100. Här följer ett exempel:
<code>
Dim MinArray(100)
antal = Ubound(MinArray) - 1
</code>
Lycka tillSv: random + array
//
Janne