" & Connect)
Connect.Close
Set Connect = Nothing
End If
End Sub
Function dublett(namn)
ledig = 0
For i = 1 To 99
If basta(i)=namn Then dublett=True : Exit Function
If ledig=0 And basta(i)="" Then ledig=i : Exit For
Next
basta(ledig)=namn
dublett=False
End Function
Sub nolladublett
For i = 1 To 99
' response.write(" " & i & basta(i)) ' Felkoll!
basta(i)=""
Next
End Sub
Sub sjurovarlistan
' Sjurövarlistan
uppdaterad = DateDiff("n",Application("oldSjuUppdat") , Now)
If uppdaterad > 3 Or Len(Application("oldSjuTopp")) < 50 Then ' Gammal eller obefintlig sjurövarlista
oldSjuTopp =""
SQL = "SELECT *"
SQL = SQL & " FROM tblSjurovare WHERE tblSjurovare.datum > #" & DateAdd("n", -43820, Now) & "#"
SQL = SQL & " ORDER BY tblSjurovare.tid ASC"
rs.Open SQL, adoCon
nolladublett
Do While not rs.EOF
namn = rs("namn")
If dublett(namn) = False Then
alder=DateDiff("n", rs("datum"), Now)
oldSjuTopp = oldSjuTopp & "
" & namn & "
" & Round(rs("tid"),1) & "
" & VbCrLf
End If
rs.MoveNext
Loop
' Set rs = Nothing
' Set adoCon = Nothing
application("oldSjuUppdat") = Now
application("oldSjuTopp") = oldSjuTopp
Response.Write(oldSjuTopp)
Else
Response.Write(application("oldSjuTopp"))
End If
End Sub
Sub sistaspelenlistan
'Sista spelen-listan
Dim basititid
Dim Nybasititid
sistaHold =""
Nybasititid = 10000
basiti = ""
' SQL = "SELECT tblQuizTopplista.antal_ratt, tblQuizTopplista.tid, tblQuizTopplista.datum, tblQuizTopplista.anvandare"
SQL = "SELECT TOP 200 * FROM tblQuizTopplista WHERE tblQuizTopplista.datum > Now() - 3"
SQL = SQL & " ORDER BY tblQuizTopplista.nummer DESC , tblQuizTopplista.tid"
If Not RsEXIST Then
Set rs = Server.CreateObject("ADODB.Recordset")
RsEXIST = True
End If
rs.Open SQL, adoCon
nummer=0
rs.MoveFirst
Do While not rs.EOF
namn=rs("anvandare")
If namn ="" Then namn="Anonym"
alder=DateDiff("n", rs("datum"), Now)
farg = farger(alder)
If (rs("nummer") - 2) mod 100 = 0 Then farg="66E4FB"
If (rs("nummer") - 2) mod 1000 = 0 Then
farg="83FF58"
'If strLoggedInUsername <> "" Then TillQM ("Spel " & nummer + 200000 & "spelades av " & strLoggedInUsername & ".")
End If
SistaSpelTid = Round(rs("tid"),1)
If alder < 61 Then
basititid = 100 * ( 10 - rs("antal_ratt") ) + rs("tid")
If basititid < Nybasititid Then
Nybasititid = basititid
basiti = namn
basititime = SistaSpelTid
basitiratt = rs("antal_ratt")
End If
End If
If SistaSpelTid = "999" Then SistaSpelTid = "Avbrutet"
' If alder > 1379 Then farg="DBDBDB"
If alder < 1550 And nummer < (10 + Antaltkn / 70 ) And nummer < 30 Then
sistaHold= sistaHold & "
" & namn & "
" & rs("antal_ratt") & "
" & SistaSpelTid & "
"
nummer = nummer + 1
End If
rs.MoveNext
If nummer => 10 + Antaltkn / 70 And alder > 61 Then Exit Do ' Ändrad från 20 till 10 pga SjuRövarelistan
Loop
rs.Close
End Sub
Sub klotterplankslistan
Dim fetstil
Dim visa
Dim EgetKlotter
Dim langd
Dim VisadePrivata
Dim Dag
Dim DagAlder
If Not RsEXIST Then
Set rs = Server.CreateObject("ADODB.Recordset")
RsEXIST = True
End If
SQL = "SELECT TOP 100 * "
SQL = SQL & "FROM tblKlotter WHERE tblKlotter.datum > #" & DateAdd("n", -4320, Now) & "#" ' Två dygn = 2880 minuter, Tre dygn = 4320 minuter.
SQL = SQL & "ORDER BY tblKlotter.nummer DESC"
rs.Open SQL, adoCon
nummer = 0
i = 0
VisadePrivata = 0
AntalTkn = 0
Do While not rs.EOF
bakfarg="F9F174"
If (nummer Mod 2) = 0 Then bakfarg="F9E274"
namn=rs("anvandare")
If namn = strLoggedInUsername Then
EgetKlotter = True
Else
EgetKlotter = false
End If
klottertext = Server.HTMLEncode(rs("klotter"))
klottertext = Replace(klottertext, "*L*","")
klottertext = Replace(klottertext, "*S*","")
klottertext = Replace(klottertext, "*spc*","")
klottertext = Replace(klottertext, "*kom*","")
klottertext = Replace(klottertext, "Å","Å")
klottertext = Replace(klottertext, "ä","ä")
klottertext = Replace(klottertext, "å","å")
klottertext = Replace(klottertext, "ö","ö")
klottertext = Replace(klottertext, "é","é")
visa = True
TillMig = False
If Left(klottertext,1) = "#" Then 'Privata klottermeddelanden
langd = Instr(2,klottertext, "#")
If langd > 2 And langd < 21 Then
Tillnamn = Mid(klottertext,2,langd-2)
'response.write(langd & klottertext)'("¤"&Tillnamn&"¤")
visa = False
If strLoggedInUsername = Tillnamn Then ' Visa privata meddelanden till mig
visa = True
TillMig = True
klottertext = "-> " & strLoggedInUsername & " " & Mid(klottertext,langd+1)
ElseIf strLoggedInUsername = namn Then ' Visa privata meddelanden jag skickat
visa = True
TillMig = True
klottertext = "-> " & TillNamn & " " & Mid(klottertext,langd+1)
End If
End If
End If
If visa = True And (i < 15 Or TillMig) Then
If Not (i < 15) Then VisadePrivata = VisadePrivata + 1
If Instr(klottertext, "*") > 0 Then 'Gör bara dessa loopar om nödvändigt
For ii = 1 To 99
klottertext = Replace(klottertext, "*" & ii & "*","")
Next
For ii = 0 To 9
klottertext = Replace(klottertext, "*00" & ii & "*","")
Next
End If
nummer = nummer + 1
i = i + 1
If namn = "QuizMaskinen" Then i = i - 0.2
If namn = "QM" Then i = i - 0.2
If EgetKlotter Then namn ="" & namn & ""
If TillMig = True Then bakfarg ="FFDDDD"
Dag = ""
DagAlder = datediff("d", rs("datum"), Now)
If DagAlder = 0 Then
Dag = "i dag "
ElseIf DagAlder = 1 Then
Dag = "i går "
Else
Select Case DatePart("w", rs("datum"))
Case 1 Dag = "sön "
Case 2 Dag = "mån "
Case 3 Dag = "tis "
Case 4 Dag = "ons "
Case 5 Dag = "tor "
Case 6 Dag = "fre "
Case 7 Dag = "lör "
End Select
End If
%>
<%
End If
rs.MoveNext
'If nummer => 10 Then Exit Do
If Not rs.EOF OR rs.BOF Then AntalTkn = AntalTkn + Len(rs("klotter"))
If i >= 15 And VisadePrivata > 2 Then Exit Do
Loop
rs.Close
End Sub
Function senaste (minuter)
If minuter < 91 Then
senaste = minuter & " minuter"
ElseIf minuter < 1441 Then
senaste = minuter \ 60 & " timmar och " & minuter - (minuter \ 60)* 60 & " minuter"
Else
senaste = minuter \ 1440 & " dagar och " & (minuter - (minuter \ 1440)* 1440) \ 60 & " timmar"
End If
End Function
Sub senasteinloggade 'Vilka är de senaste spelarna?
senasteHar = ""
dropDownBox = ""
' Set rs = Nothing
End Sub
Sub inpatopplistan
If Not RsEXIST Then
Set rs = Server.CreateObject("ADODB.Recordset")
RsEXIST = True
End If
SQL = "SELECT * FROM tblQuizTopplista WHERE tblQuizTopplista.datum > #" & DateAdd("n", -10080, Now) & "#"
SQL = SQL & " ORDER BY tblQuizTopplista.antal_ratt DESC , tblQuizTopplista.tid, tblQuizTopplista.datum DESC"
rs.Open SQL, adoCon
Nummer = 0
NyttRekord = 0
Do While not rs.EOF
namn = rs("anvandare")
If namn = "" Then namn="Anonym"
If dublett(namn) = False Then
If namn = "Anonym" Then nummer = nummer - 1 ' Anonym ska ju inte räknas...
nummer = nummer + 1
If tipsrad.AntalRatt > rs("antal_ratt") Then
'Nytt rekord, fler rätt än tidigare rekord, överst eller bästa med 9 rätt...
NyttRekord = nummer
If strLoggedInUsername = "" Then
QMSQL = ""
%>
Ja, plats <%=nummer%> på veckotopplistan hade varit din, om du varit inloggad!
<%
Else
QMSQL = "INSERT INTO tblKlotter (datum, anvandare, klotter, ip) VALUES ('" & Now & "','QM','" & strLoggedInUsername & " klättrar till plats " & platsnamn2(NyttRekord) & "','" & Request.ServerVariables("remote_addr") & "')"
End If
Exit Do
ElseIf tipsrad.AntalRatt = rs("antal_ratt") And (tipsrad.tid / 1000) < rs("tid") And strLoggedInUsername = namn Then
' Bättrat på sitt rekord, lika många rätt som tidigare, men inte stigit i listan
' NyttRekord = nummer
' QMSQL = "INSERT INTO tblKlotter (datum, anvandare, klotter, ip) VALUES ('" & Now & "','QM','Grattis " & strLoggedInUsername & " som bättrat på sitt resultat på " & platsnamn2(NyttRekord) & "!','" & Request.ServerVariables("remote_addr") & "')"
Exit Do
ElseIf tipsrad.AntalRatt = rs("antal_ratt") And (tipsrad.tid / 1000) < rs("tid") And strLoggedInUsername <> namn Then
' Bättrat på sitt rekord, lika många rätt som tidigare, och har klivit upp högre i listan
NyttRekord = nummer
If strLoggedInUsername = "" Then
QMSQL = ""
%>
Plats <%=NyttRekord%> på veckotopplistan hade varit din, om du varit inloggad!
<%
Else
QMSQL = "INSERT INTO tblKlotter (datum, anvandare, klotter, ip) VALUES ('" & Now & "','QM','" & strLoggedInUsername & " klättrar till plats " & platsnamn2(NyttRekord) & "','" & Request.ServerVariables("remote_addr") & "')"
End If
Exit Do
ElseIf tipsrad.AntalRatt = rs("antal_ratt") And (tipsrad.tid / 1000) > rs("tid") And strLoggedInUsername = namn Then
' Sämre tid, ska inte vara med i topplistan
Exit Do
ElseIf tipsrad.AntalRatt < rs("antal_ratt") And strLoggedInUsername = namn Then
' Färre antal rätt, ska inte vara med i topplistan
Exit Do
End If
End If
rs.MoveNext
If nummer => 20 Then Exit Do
Loop
rs.Close
' Set rs = Nothing
If (NyttRekord > 0) And QMSQL <> "" Then ' Nytt rekord som QM ska klottra om
adoCon.Execute QMSQL,,128
'Skriv ut i en fil
Set fileObj=Server.CreateObject("Scripting.FileSystemObject")
If (fileObj.FileExists("D:\vb\Övervakning\Klotter.txt"))=true Then
'---Open file
set file1 = fileObj.OpenTextFile("D:\vb\Övervakning\Klotter.txt",8,true)' 1=Write 2=read 8=append
Else
'---create file
set file1=fileObj.CreateTextFile("D:\vb\Övervakning\Klotter.txt",true)
End If
file1.WriteLine("QM: " & Time & "Nytt rekord av " & strLoggedInUsername & ", som hamnade på plats " & NyttRekord & " med " & tipsrad.AntalRatt & " rätt på " & (tipsrad.tid / 1000) & " sekunder.")
file1.Close
set file1=nothing
set fileObj=nothing
End If
End Sub
Sub kollaomsjurovare
'Är detta en Sjurövare?
If tipsrad.AntalRatt = 10 Then
If Not RsEXIST Then
Set rs = Server.CreateObject("ADODB.Recordset")
RsEXIST = True
End If
SQL = "SELECT SUM(tblQuizTopplista.antal_ratt) As antr, SUM(tid) As zumma"
SQL = SQL & " FROM (SELECT TOP 6 antal_ratt, anvandare, nummer, tid FROM tblQuizTopplista WHERE tblQuizTopplista.anvandare ='" & strLoggedInUsername & "' ORDER BY nummer DESC)"
rs.Open SQL, adoCon
If rs("antr") = 60 Then' Alla rätt i de senaste sex omgångarna
zumma = rs("zumma") + (tipsrad.tid / 1000) ' Lägg ihop tiden för de senaste sju omgångarna...
rs.Close
' Kolla om detta är en ny bättre Sjurövare.
SQL = "SELECT *"
SQL = SQL & " FROM tblSjurovare WHERE tblSjurovare.datum > #" & DateAdd("n", -43820, Now) & "#"
SQL = SQL & " AND namn = '" & strLoggedInUsername & "' AND tid <= " & zumma
SQL = Replace(SQL, ",", ".")
rs.Open SQL, adoCon
If rs.EOF Then ' Ja, detta ÄR en ny Sjurövare!
TillQM( strLoggedInUsername & " förbättrade sin Sjurövare till " & Round(zumma,1) & " sekunder.")
End If
rs.Close
SQL = "INSERT INTO tblSjurovare (tid, datum, namn) VALUES ('" & zumma & "','" & Now & "','" & strLoggedInUsername & "')"
adoCon.Execute SQL
SQL = "DELETE FROM tblSjurovare WHERE namn = '" & strLoggedInUsername & "' AND tid > " & zumma ' Ta bort sämre och äldre poster i Sjurövarlistan
SQL = Replace(SQL, ",", ".")
adoCon.Execute SQL
%>
Nu gjorde du en Sjurövare på <%=Round(zumma,1)%> sekunder, i genomsnitt <%=Round(zumma/7,1)%> sekunder!
<%
Else
rs.Close
End If
End If
' Set rs = Nothing
End Sub
Sub spararesultatitopplistan
'Spara resultatet i topplistan
If strLoggedInUsername <> "Dick" Then
SQL = "INSERT INTO tblQuizTopplista (antal_ratt, tid, datum, anvandare) VALUES ('" & tipsrad.AntalRatt & "','" & tipsrad.tid / 1000 & "','" & Now & "','" & strLoggedInUsername & "')"
adoCon.Execute SQL
TillMySQLTopplista tipsrad.AntalRatt, tipsrad.tid / 1000
End If
End Sub
Function platsnamn2(siffra)
If siffra < 10 Then
platsnamn2 = "*spc**00" & siffra & "**spc*"
ElseIf siffra < 100 Then
platsnamn2 = "*spc**00" & siffra \ 10 & "**00" & siffra mod 10 & "**spc*"
ElseIf siffra < 1000 Then
platsnamn2 = "**spc*00" & siffra \ 100 & "**00" & siffra \ 10 & "**00" & siffra mod 10 & "**spc*"
Else
platsnamn2 = siffra
End If
End Function
Sub Felsvar(fr_num)
' Skriv ut rätt svar till felaktigt besvarad fråga.
Mellanord = "är en"
' Select Case Tipsrad.OrdStatus(fr_num)
' Case "s", "a", "v", "sjuk"
' Mellanord = "betyder"
' Case "pers"
' Mellanord = "är en"
' Case Else
' Mellanord = "betyder"
' End Select
If Left(Tipsrad.FelSvar(fr_num),3) = "en " Then Mellanord = "är"
If Left(Tipsrad.FelSvar(fr_num),4) = "ett " Then Mellanord = "är"
Response.Write("" & Tipsrad.FelFraga(fr_num) & " " & Mellanord & " " & Tipsrad.FelSvar(fr_num) & "")
Application("SenasteFelet") = Tipsrad.FelFraga(fr_num) ' För att lägga ut i raden för kolla ord
' If Not IsNull(Tipsrad.FelHjalptext(fr_num)) Then
If Len(Tipsrad.FelHjalptext(fr_num)) > 2 Then
Response.Write(" (" & Tipsrad.FelHjalptext(fr_num) & ").")
ElseIf Right(Tipsrad.FelSvar(fr_num),1) <> "." Then
Response.Write(".")
End If
End Sub
Function farger(alder)
farger="ffffff"
If alder > 434 Then
farger="CFCFCF" ' 1,5 dygn
ElseIf alder > 441 Then
farger="909090" ' 1,0 dygn
ElseIf alder > 455 Then
farger="000000"
ElseIf alder < 01 Then
farger="FF0000"
ElseIf alder < 03 Then
farger="FF2000"
ElseIf alder < 05 Then
farger="FF4000"
ElseIf alder < 07 Then
farger="FF6000"
ElseIf alder < 09 Then
farger="FF8000"
ElseIf alder < 11 Then
farger="FFA000"
ElseIf alder < 13 Then
farger="FFC000"
ElseIf alder < 15 Then
farger="FFE000"
ElseIf alder < 17 Then
farger="FFFF00"
ElseIf alder < 19 Then
farger="FFFF30"
ElseIf alder < 22 Then
farger="FFFF60"
ElseIf alder < 25 Then
farger="FFFF90"
ElseIf alder < 28 Then
farger="FFFFB0"
ElseIf alder < 30 Then
farger="FFFFE0"
End If
End Function
RsEXIST = False
If Request.QueryString("k") = "y" And strLoggedInUsername <> "" Then
strStatus = "SLUT"
KanInteKaka = False
Klottrat = True
Else
' instansiera DLL genom att använda createobject
Set tipsrad = Server.CreateObject("tipsrad.tips")
Klottrat = False
tipsrad.TotaltAntalFragor(10)
tipsrad.DataBasNamn("D:\vb\tipsrad\tipsradsdatabas.mdb")
Kaka = Request.Cookies("spelar_id")
spelarkaka = tipsrad.kaka(Kaka)
If spelarkaka = "" then spelarkaka = "no_good"
Response.Cookies("spelar_id") = spelarkaka
If isEmpty(Request.Cookies("spelar_id")) = True Then KanInteKaka = True
'Hämta Svaret och vilken fråga det gällde från förra frågan
MittSvar = Request.QueryString("mittsvar")
FrageNummer = Request.QueryString("FrageNummer")
'Skicka svaret till DLL-filen
tipsrad.SvarsFrageNummer(FrageNummer)
strStatus = tipsrad.MittSvar(MittSvar)
End If
%>
telder.com - quiz
<%
If KanInteKaka = False AND strStatus = "SLUT" Then
%><%
ElseIf KanInteKaka = False AND strStatus <> "SLUT" Then
%><%
End If
'Här börjar sidan Här börjar sidan Här börjar sidan Här börjar sidan Här börjar sidan Här börjar sidan Här börjar sidan
%>
Spela Quiz!
<%
If KanInteKaka = True Then
%>
Din webbläsare returnerar inga kakor! Ingen kaka - ingen tipsrad!
<%
ElseIf strStatus = "OK" Then
'Skicka ut en fråga:
kofr = "
<%
ElseIf strStatus = "SLUT" And Klottrat = False Then
' tog bort valign="top" nedan i table...
%>
<%
'Skriva ut antal rätt och fel..
If tipsrad.AntalRatt = 10 Then
%>
Grattis<%If strLoggedInUsername <> "" Then Response.Write (" " & strLoggedInUsername)
%>! Du lyckades svara rätt på alla <%=tipsrad.TotaltAntalFragor%> frågorna på <%=Round(tipsrad.tid / 1000,1)%> sekunder.
<%
ElseIf tipsrad.AntalRatt = 9 Then
%> Inte illa<%If strLoggedInUsername <> "" Then Response.Write (" " & strLoggedInUsername)%>!
Du lyckades svara rätt på 9 av 10 frågor på <%=Round(tipsrad.tid / 1000,1)%> sekunder.
Frågan du missade: <%FelSvar(1)%>
<%
Else%> Du svarade rätt på <%=tipsrad.AntalRatt%> av 10 frågor. Det tog dig <%=Round(tipsrad.tid / 1000,1)%> sekunder.
Ett par tips: <% FelSvar(1)%> <% FelSvar(2)%> <%
End If
%>
<%
' Efter en fullbordad spelomgång
If strLoggedInUsername <> "Dick" Then
' Addera till statistiken på framsidan ifall den körs cachad
application("totalt") = application("totalt") + 1
inpatopplistan 'inpatopplistan inpatopplistan inpatopplistan inpatopplistan inpatopplistan inpatopplistan
If strLoggedInUsername <> "" Then
kollaomsjurovare 'kollaomsjurovare kollaomsjurovare kollaomsjurovare kollaomsjurovare kollaomsjurovare kollaomsjurovare
End If
spararesultatitopplistan 'spararesultatitopplistan spararesultatitopplistan spararesultatitopplistan spararesultatitopplistan
'Stäng databasen
' adoCon.Close
' Set adoCon = Nothing
Spelnummerkoll ' Spelnummerkoll Spelnummerkoll Spelnummerkoll Spelnummerkoll
End If
End If
If strStatus = "SLUT" Then
%>
<%
End If
'TillQM ("hej, prov")
' Frigöra objektet från minnet
adoCon.Close
Set adoCon = Nothing
If RsEXIST Then
Set rs = Nothing
End If
Set tipsrad = Nothing
%>