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 Sub
Miten 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.