webForumDet fria alternativet

Ett litet test!

ASP

2 svar · 179 visningar · startad av Krug

Medlem sedan maj 200197 inlägg
Frågan#1

Skulle få till en pryl som läser 5 rader slumpade rader ur en text fil utan att 2 rader är lika. Hittade lite info om det här så jag fick till att den läste en rad.. med lite hjälp av Vide så fixade vi 5 rader oxå men då slumpade den bara den första och sedan dom andra 4 på en rad. (Tex. 3,4,5,6,7)
Koden som gjorde det ser ut så här.

Const ForReading = 1
Randomize
tal = Int(Rnd*9)
Set FileObject = Server.CreateObject("Scripting.FileSystemObject")
Set InStream = FileObject.OpenTextFile (Server.Mappath ("textfil.txt"),ForReading, False)

For i = 1 To tal
InStream.Skipline
Next
For j = 1 To 5
Skriv_ut = Skriv_ut & InStream.Readline
Next

InStream.close

Response.write skriv_ut

Nu skulle jag däremot plocka in en sub för att loopa det andra istället för att få 5 olika slumpade rader och fixar inte det så bra :(
Så lite hjälp vore inte fel.

Koden som plockar ut en rad:

Const ForReading = 1

Randomize

tal = Int(Rnd*9)
Set FileObject = Server.CreateObject("Scripting.FileSystemObject")
Set InStream = FileObject.OpenTextFile (Server.Mappath ("textfil.txt"),ForReading, False)

For i = 1 To tal
InStream.Skipline
Next
Skriv_ut = InStream.Readline
InStream.close

Response.write skriv_ut
Medlem sedan dec. 200012 464 inlägg
#2
Set FileObject = Server.CreateObject("Scripting.FileSystemObject")
Set InStream = FileObject.OpenTextFile (Server.Mappath ("textfil.txt"),ForReading, False)

rows = split(Instream.readall,vbCrLf)
instream.close

numberofRows = ubound(rows)

randomize
for i = 0 to 4
    slot = int((NumberOfRows-i)*rnd())
    response.write rows(slot)
    rows(slot) = rows(numberOfRows-i)
next

Otestat, det får du göra.

------------------
essentitia preter non sans multiplicandum

Medlem sedan maj 200197 inlägg
#3

Funkar klockrent.. fick bara lägga till en <br> så det byter rad.

Vide hade iofs en lösning på gång på ett annat sätt men han blev galen och kunde inte tänka. :)

Tack LarsG

261 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)