---
title: "Slumpa unikt."
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/75180-slumpa-unikt"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "limpon"
published: "2003-04-27T13:15:27.000Z"
updated: "2008-01-18T16:50:41.000Z"
replies: 17
views: 1048
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/75180-slumpa-unikt"
---

# Slumpa unikt.

## #1 — limpon, 2003-04-27T13:15Z

Jag tänkte slumpa ut poster i sidvisningen.

Då är det så här.
Jag har 
\[id\] \[nyhet\]

då vill jag slumpa bland alla nyheter.
men samma nyhet ska inte kunna bli 2 ggr.
fast jag slumpar den 5 ggr.

```
	ReDim Order(5),Svar(5)

	' Pos 0 är rätt svar, övriga är fel svar '

	Order(0) = 0 'Plats för rätt svar'
	Order(1) = 1
	Order(2) = 2
	Order(3) = 3
	Order(4) = 4

For i = 0 To Ubound(order)
Randomize
slump = Int(Rnd * Order(i))+1
response.write slump
Next
```

Alltså slumptalet ska inte kunna komma 2 gånger då jag skriver ut det.
talen 0-4 ska slumpas ut i slumpad ordning.

Permalänk: https://www.webforum.nu/p/75180

## #2 — Sebbe, 2003-04-27T14:52Z

Såhär kan du väl göra?

```
blnSlump = False
i = 0

Do Until blnSlump
  Randomize
  intSlump = Int(Rnd * UBound(Order)) + 1
  If InStr(strSlump, intSlump) = 0 Then
    strSlump = strSlump & " " & intSlump
    If i = UBound(Order) - 1 Then
      blnSlump = True
    End If
    i = i + 1
  End If
Loop
Response.Write(strSlump)
```

Permalänk: https://www.webforum.nu/p/1026164

## #3 — limpon, 2003-04-27T14:58Z

Tack perfekt, funkar kanon tack igen!

Permalänk: https://www.webforum.nu/p/1026169

## #4 — limpon, 2003-04-27T15:20Z

Kan man dela in strslump i en array för just nu står det då man skriver 
response.write (strslump)
står det 1 2 3 4 5.

Är lite dålig än på arrayer men jag håller på o försöka lära mig.
Bara man får se koden några gånger brukar den sätta sig i lillhuvudet efter ett tag. 
Tacksam för snabbt svar.

Permalänk: https://www.webforum.nu/p/1026186

## #5 — Sebbe, 2003-04-27T15:23Z

Byt ut 

```
Response.Write(strSlump)
```

 till

```
arrSlump = Split(strSlump)
' Gör vad du vill, t.ex:
For i = 0 To UBound(arrSlump)
  Response.Write(arrSlump(i) & "<br>")
Next
```

Permalänk: https://www.webforum.nu/p/1026193

## #6 — limpon, 2003-04-27T15:47Z

aha det verkar jäkligt lätt med arrayer.
Tack igen sebbe.

Permalänk: https://www.webforum.nu/p/1026219

## #7 — Danielkun, 2004-10-12T07:15Z

Varför funkar denna "array-slump" bara bra tills man har en array på 10? Då krashar IIS..

Red. Jag gissar att det är Randomize som inte kan ge högre tal än 9? Hur löser jag så jag kan använda högre tal?

Permalänk: https://www.webforum.nu/p/1458331

## #8 — Koplik, 2004-10-12T07:45Z

Det är inte bara så att du glömt att Dim:a arrayen efter du utökade arrayen. Arrayer klarar betydligt mer än 9 och det gör också Randomize()

Permalänk: https://www.webforum.nu/p/1458337

## #9 — Danielkun, 2004-10-12T08:04Z

Jag körde denna kod, om det står 9 i arrayen så funkar det utmärkt , men när det är 10 så krashar IIS.

```
ReDim Order(10)

blnSlump = False
i = 0

Do Until blnSlump
  Randomize
  intSlump = Int(Rnd * UBound(Order)) + 1
  If InStr(strSlump, intSlump) = 0 Then
    strSlump = strSlump & " " & intSlump
    If i = UBound(Order) - 1 Then
      blnSlump = True
    End If
    i = i + 1
  End If
Loop
Response.Write(strSlump)
```

Permalänk: https://www.webforum.nu/p/1458345

## #10 — brorsan, 2008-01-18T14:47Z

Hej, 

Jag är nybörjare på asp och undrar om någon vänlig själ kan och vill omvandla den här koden (eller har en annan bättre) till en komplett kod från if till end if som slumpar ut dessa includes i random ordning (utan att någon include upprepas). 

så att vid nästa sidvisning kan det bli t.ex. så här: 

\<!-- #include file="include_slump3.asp" --\>
\<!-- #include file="include_slump1.asp" --\>
\<!-- #include file="include_slump2.asp" --\>
\<!-- #include file="include_slump5.asp" --\>
\<!-- #include file="include_slump4.asp" --\>

I nästa en annan ordning och så vidare.

I varje include tänkte jag ha en annonskod och på så vis turas de om att hamna högst upp. 

Vet ni om det segar ner sidan mycket att använda includes så här eller om servern får tag på dem lätt och snabbt?

Permalänk: https://www.webforum.nu/p/2071205

## #11 — brorsan, 2008-01-18T14:48Z

de översta försvann visst, jag får ta och lära mig att använda kodrutor.. beklagar.

Permalänk: https://www.webforum.nu/p/2071206

## #12 — voigtann1, 2008-01-18T15:54Z

Nej Brorsan. Du kan inte köra dynamisk kod i din include sträng. Om du skulle köra en sådan kod så blir det extremt ohålbart i längden. använd en databas för att lagra dina anonskoder och kör ut 1x med random.

Permalänk: https://www.webforum.nu/p/2071222

## #13 — brorsan, 2008-01-18T16:11Z

Hm, tack för svar. Problemet är att jag vet 0 om databaser, så jag kan inte lägga till det du säger. Har letat efter konsult att anlita timvis, men alla är busy till och med på arbetsförmedlingen. 

Databasen är också rätt belastad och långsam, så tror jag tjänar på att inte blanda in den. 

Behöver också scriptet på tisdag och hinner inte plugga databas i helgen, så måste skapa något tillfälligt. 

Men jag kan ju provisoriskt testa använda ett slumpscript så länge som säger:

om slumptal = 1 then

(och annonserna uppradade i en ordning)

om slumptal = 2 then

(annonserna uppradade i en annan ordning)

om slumptal = 3 then

(annonserna uppradade i en tredje ordning)

och detta kan ju göras antingen genom att ha includes i olika ordning eller själva koden för annonserna direkt i olika ordning utan includes (vilket blir jobbigare eftersom varje kod då står 3-8 ggr beroende på antal annonsörer)  

så om jag använder denna kod, hur jobbigt är det då för servern att bara lägga in 3-8 små includes? Är det kännbart? 

Har på de flesta sidor ca 8 includes redan, menyer, databasscript osv.

Permalänk: https://www.webforum.nu/p/2071230

## #14 — voigtann1, 2008-01-18T16:18Z

> **brorsan skrev:**
>
> Databasen är också rätt belastad och långsam, så tror jag tjänar på att inte blanda in den.

Kolla upp det först snälla ;)
Du tror inte att Select Case / If frågor är "krävande"?

Om du har problem med arbetskraft så kan du alltid posta på: [Jobb & Tjänster (mot betalning)](http://www.webforum.nu/forumdisplay.php?f=26) här på wF.

Ditt sätt som du skriver kommer att fungera men knappast något man hade använt i längden. Underhållning + uppdatering av .asp filen kommer bli betydligt jobbigare än att göra en enkel admin-gränssnitt för snabb uppdatering / inlägg av nya annonser.

Du behöver inte använda dig av include om du inte vill. du kan ju alltid skriva in dina annons koder inne i din if fråga. så slipper du ha 8 filer att hålla koll på.

Permalänk: https://www.webforum.nu/p/2071231

## #15 — brorsan, 2008-01-18T16:29Z

ok, noterat och jag ska kolla med arbetskraft där. 

har ingen aning ifall de är krävande, you tell me! =) har inte läst en enda rad i nån bok/tutorial om asp-kodande utan bara tagit över en sida och lärt mig lite praktik genom att pyssla i koden, så jag vet 0 teori. 

fast jag föredrar nog att ha 8 filer (döpta liknande och lätta att hitta) och bara ändra i en av dem när kunden vill byta annonsupplägg än att ha 8 ställen att byta på för en ändring och riskera att missa en av dem osv.

så min fråga är mer om 3-8 includes tar mycket extra kraft och tid rent servermässigt eller om det är marginellt?  

jag kommer nästan enbart ha långsiktiga kunder med typ årsavtal, så är mer mån om att servern klarar det hela än att det ska vara supersmidigt för mig själv.

Permalänk: https://www.webforum.nu/p/2071234

## #16 — brorsan, 2008-01-18T16:30Z

och tack för all din tid, det uppskattas verkligen.

Permalänk: https://www.webforum.nu/p/2071235

## #17 — voigtann1, 2008-01-18T16:34Z

1\. "Krävnade"... det är nog ingen skala från 1-10 direkt man går på. Om du kodar dåligt så kommer sidan bli långsammare än om du kör mot en databas... det krävs lite extra kraft men vi snackar inte direkt med att datorns CPU ta 50% bara för att öppna en db koppling.

mitt tips är: gå på det som fungera för dig. Nu om du har tidspress och inte bestitter alla kunskaper inom ASP / databaser så kan man ju inte direkt lägga ner all sin tid på något som \_kan\_ fungera till leverans. Du får nog helt enkelt göra på det sätt du vet att det kommer fungera till leverans.

Permalänk: https://www.webforum.nu/p/2071236

## #18 — brorsan, 2008-01-18T16:50Z

yesyes, will do. Tack igen.

Permalänk: https://www.webforum.nu/p/2071242

---

Tråden på webben: https://www.webforum.nu/amne/asp/75180-slumpa-unikt
