Jag fick lite hjälp med min Hi-Scoore-lista, men det fungerar inte riktigt som jag ville. För det första heter det score och inte scoore, så att det inte står fel i ditt spel... =) Jo jag fick nog med ett o för mycket :-)Hi-Scoore-listan igen
Så här sparar jag listan:
<code>
Close #1'jag får fel om jag inte har denna kod med
Open App.Path & "\Lista\scoor.saw" For Append As #1
Write #1, dDatum, sNamn, Mult, st, Poäng
Close #1
</code>
Och jag läser in den så här:
<code>
Dim sSpeed As String, sNamn As String, Mult As String, dDatum As Date, Poäng As Long
scoore.Text = ""
Dim i As Long
On Error GoTo errhandler:
Open App.Path & "\Lista\scoor.saw" For Input As #1
i = 0
Do While Not (EOF(1) Or i = 10)
Input #1, dDatum, sNamn, Mult, sSpeed, Poäng
scoore.Text = scoore.Text & IIf(scoore.Text = "", "", vbCrLf) & dDatum & vbTab & sNamn & vbTab & Mult & vbTab & sSpeed & vbTab & Poäng
i = i + 1
Loop
Close #1
errhandler:
Exit Sub
</code>
Som det nu är, så visar den enbart dom 10 översta resultaten, men jag skulle vilja ha dom 10 BÄSTA resultaten.
Jag antar att jag bör läsa in hela listan i en array och sedan sortera, men hur.
Tacksam för all hjälpSv: Hi-Scoore-listan igen
Det bör ju inte vara speciellt svårt att göra det du vill åstadkomma. Först är det ju lämpligt med en ny typ:
<code>
Private Type Resultat
sSpeed As String
sNamn As String
Mult As String
dDatum As Date
Poäng As Long
End Type
</code>
Sedan läser du in det i den typen istället:
<code>
Dim sSpeed As String, sNamn As String, Mult As String, dDatum As Date, Poäng As Long
Dim Res() As Resultat
scoore.Text = ""
Dim i As Long
On Error GoTo errhandler:
Open App.Path & "\Lista\scoor.saw" For Input As #1
Do While Not (EOF(1))
Redim Res(1 To UBound(Res) + 1) As Resultat
With Res(UBound(Res))
Input #1, .dDatum, .sNamn, .Mult, .sSpeed, .Poäng
End With
Loop
Close #1
'Nu sorterar du Res() och skriver sedan ut de tio högsta.
'Återkom om du får problem med det
errhandler:
Exit Sub
</code>
/Niklas JanssonSv: Hi-Scoore-listan igen
Men eftersom jag hade sådana problem med det, så gjorde jag det säkra före det osäkra, jag la det i en databas.
På detta sät så kan jag styra det hur jag vill, på ett lättare sätt.