webForumDet fria alternativet

Slumpscript ??

7 svar · 259 visningar · startad av Askilus

AskilusMedlem sedan apr. 200036 inlägg
#1

Jag har tänkt mig ett asp script som slumpar fram olika citat på sidan för varje dag. Jag har lagrat alla citaten på var sin rad i en txt fil så nu är allt jag behöver ett scipt som slumpar bland dessa raderna.

Det hade jag nog klarat själv, men tanken är den att det bara skall vara ett citat per dag. Så om en användare t ex uppdaterar sidan så skall det vara samma citat. Går det att lösa? Kommer ni på nått så kan ni väl klistra in koden här i forumet så vore jag glad.

------------------
"You only have one chance to make a first impression"

Mvh Askilus

VideMedlem sedan dec. 19996 094 inlägg
#2

Hej!

Jag har aldrig gjort nått sånt här skript, men vi kan ju bolla lite...

Hur många rader har du?
Du kan ju använda dig av dagens nummer, då får du ju 29 till 31 citat, och så börjar den om nästa månad...

------------------
        )|(
       (o o)
-oo0-(_)-0oo-----
webeye.nu

AskilusMedlem sedan apr. 200036 inlägg
#3

Just nu sitter jag i skolan så jag kan inte titta på txt filen. Men jag skall titta efter hur många rader som jag har när jag kommer hem. Men säg att jag anpassar txt filen så att den har 31 st rader. Hur skulle scriptet se ut då?

------------------
"You only have one chance to make a first impression"

Mvh Askilus

VideMedlem sedan dec. 19996 094 inlägg
#4

Nått sånt här borde väl funka:

<%
Randomize
tal = Int(Rnd*30)

Set FileObject = Server.CreateObject("Scripting.FileSystemObject")
Set InStream = FileObject.OpenTextFile (Server.Mappath ("textfil.txt"),ForReading, False, False)

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

Response.write skriv_ut
%>

------------------
        )|(
       (o o)
-oo0-(_)-0oo-----
webeye.nu

[Redigerat av Vide den 05 maj 2000]

AskilusMedlem sedan apr. 200036 inlägg
#5

Man tackar man tackar.
Jag skall titta om det fungerar direkt när jag kommer hem. Annars återkommer jag så att vi kanske kan lösa det som eventuellt kronglar. Men tack så länge.

------------------
"You only have one chance to make a first impression"

Mvh Askilus

AskilusMedlem sedan apr. 200036 inlägg
#6

Jag testade just scriptet som du gav mig.

Jag modefierade det lite granna för att det skulle passa mig.

Här är koden som tyvärr inte fungerar

<%
Randomize
tal = Int(Rnd*30)
Set FileObject = Server.CreateObject("Scripting.FileSystemObject")
Set InStream = FileObject.OpenTextFile (Server.Mappath ("citat.txt"),ForReading, False, False)

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

Response.write skriv_ut
%>

Här kommer felmeddelandet som visas:

Körningsfel i Microsoft VBScript fel '800a0005'

Ogiltigt proceduranrop eller argument.

/asp/test2.asp, rad 5

Hoppas att ni kan lösa det. Det vore jag väldigt sjyst av er.

------------------
"You only have one chance to make a first impression"

Mvh Askilus

nanneMedlem sedan dec. 19991 047 inlägg
#7

Hmmm.. .varför inte ha en textfil med 31 rader. Slumpa fram ett tal mellan 1 och 31. Sätt detta som en cookie som gäller idag (Now). Varje gång man går till sidan så kollar den om man har en cookie . Om inte skapa en. Läs fram till rätt rad och viola!

På min personliga sida så har jag annars en databas som slumpar fram ett Visdomsord varje gång man går in på sidan. Koden för detta är rätt lätt (fick den här tom)

<%
Set RS_count = Connect.Execute ("SELECT COUNT(*) AS count FROM wisdomtbl")
Randomize
wisdom = INT(RND*RS_count("count"))
Set r=Connect.Execute("SELECT * FROM wisdomtbl")
r.Move wisdom
Response.Write r("w_text")
%>

------------------
Daniel Olsson - Vävkonsult

Personlig sida
KjAM Sekten Community

/N

[Redigerat av nanne den 08 maj 2000]

Asdf666Medlem sedan maj 20006 inlägg
#8

Jag tycker nog att det bästa sättet är att skriva ett skript som tilldelar alla de olika citaten ett värde som motsvarar vilken dag de skall visas...t ex om du har 31 citat så ger du dem värden 1-31...skriv in för hand om du känner för det eller skriv ett skript/modul som gör det åt dig...
Alltså...spara allt i en databas, där du har ett fält för citat och ett för vilken dag dem skall visas...

Genererad på 380 ms · cache AV · v20260730165559-full.f96bc7eb