Teen kalenteriohjelmaa ja luen päivän tiedot muuttujaan:
Public Type notify
name As String
hour As String
minute As String
End Type
Global notifies() As notify
Public Sub loadNotify()
If Dir(App.Path & "\notify.dat") <> "" Then
tiedosto = FreeFile
Open App.Path & "\notify.dat" For Input As #tiedosto
i = 0
Do Until EOF(tiedosto)
cache = ""
ReDim notifies(i) As notify
Line Input #tiedosto, cache
notifies(i).hour = Mid(cache, 1, 2)
notifies(i).minute = Mid(cache, 3, 2)
notifies(i).name = Mid(cache, 5, Len(cache) - 4)
Form1.List1.AddItem notifies(i).hour & ":" & notifies(i).minute & " " & notifies(i).name, i
i = i + 1
Loop
Close #tiedosto
Else
MsgBox "Virhe ladattaessa muistutuksia.", vbCritical Or vbOKOnly, "Virhe"
End
End If
End SubMiten nuo saisi sinne listboksiin sitten aikajärjestyksessä, se muistutus joka on kauimmaisina menisi pohjalle.
Tiedot ovat tiedostossa muodossa: 1020Heippa Eli kello 10:20 muistutus "heippa"
Aseta List1.Sorted = True ja jätä AddItemistä i pois lopusta. Kellonajoissa oltava tällöin etunollat. notifies-taulukko on turha, koska Redim nollaa kaikki edelliset.
Listassa on valmis ominaisuus Sorted, ja jos se on True, niin listan rivit menevät itsekseen aakkosjärjestykseen. Kun nyt kellonaika on ensimmäisenä rivillä, niin järjestely taitaa mennä oikein, jos se tehdään aakkosten perusteella. Jos suora aakkosjärjestys ei käy päinsä, niin tiedot pitää järjestellä etukäteen ennen listalle lisäämistä. Haulla pitäisi löytyä useita lajittelualgoritmeja myös Visual Basicille.
Tuosta ominaisuudesta en tiennytkään... Täytyy kokeilla.
EDIT: Laitetaan tähän samaan vielä toinen: Miksi tämä tuo "lähetä virheraportti-ikkunan ja sulkee ohjelman (ja vb:n):
GetPrivateProfileString "App", "Autostart", "0", set_autostart, 255, App.Path & "\settings.ini"
Vb ei valita koodivirheistä tms.
EDIT: Laitetaanpas nyt vielä linkkiä APLHA versioon. Muistutuksia ei voi tallentaa, eivätkä ne koskaan "toteudu". Asetukset eivät vaikuta yms yms. Tahtoisin vain kommenttia muistutuksen animaatiosta ja äänestä (kuuluuko, vilkkuuko animaatio). "muistutus" ikkunan saa auki helppivalikosta. Voi nyt kokeilla ken haluaa (jos haluaa): http://koti.mbnet.fi/Square35/kalenteri_alpha.
TUPLA EDIT: Sain toimimaan tuon getprivateprofilestring:in.
Aihe on jo aika vanha, joten et voi enää vastata siihen.