Millä WIN API funktiolla voidaan hakea aika päivinä ja kuukausina?
Tuolla on ohjeet ja mallikoodit:
Niin no mitä haetaan...vaikka näin
Private Declare Sub GetLocalTime Lib "kernel32" (lpSystemTime As SYSTEMTIME) Private Type SYSTEMTIME wYear As Integer wMonth As Integer wDayOfWeek As Integer wDay As Integer wHour As Integer wMinute As Integer wSecond As Integer wMilliseconds As Integer End Type Private Sub Form_Load() Dim MyTime As SYSTEMTIME Me.AutoRedraw = True 'Paikallinen Aika GetLocalTime MyTime 'Printtaa formiin Me.Print "The Local Date is:" & MyTime.wMonth & "-" & MyTime.wDay & "-" & MyTime.wYear Me.Print "The Local Time is:" & MyTime.wHour & ":" & MyTime.wMinute & ":" & MyTime.wSecond End Sub
Näyttäs hyvältä. Mutta antaa virheen,ettei Dim MyTime As SYSTEMTIME ole määritelty. Mikä auttais asiaan?
Mikä on tarkka virheilmoitus? Onko koodi juuri sama kuin tuossa? Minulla tuo nimittäin toimii virheettömästi suoraan (VB6:lla).
Mutta mitä järkeä tuossa on?
Me.Print "The Local Date is:" & Month(Now) & "-" & Day(Now) & "-" & Year(Now) Me.Print "The Local Time is:" & Hour(Now) & ":" & Minute(Now) & ":" & Second(Now)
Antaa prikulleen saman tuloksen.
Meitzi hyvä - otsikko oli "päivä apin avulla?"
WINAPI on windowsin käyttämä sisäinen komentokanta, joka on käytettävissä myös esim. VB:ssä.
Komennot eivät ole VB:n komentoja.
Now ja Time ovat VB:n funktioita, GetLocalTime on kernel32-kirjaston funktio.
Koodivinkeistä ja oppaista löytyy asiasta lisää.
Pysähtyy kohtaan Dim MyTime As SYSTEMTIME ja antaa virheilmoituksen user-defined type not defined.
Virheilmoitus tarkoittaa, että SYSTEMTIME-tyyppiä ei ole määritelty, mutta sehän on määritelty juuri tuossa koodin alussa. Ovathan koodin alussa olevat Private-alkuiset määrittelyt oikeassa paikassaan formin (General)-osassa?
Kieltämättä päivämääräjutut kannattaa VB:ssä ennemmin tehdä kielen omilla funktioilla kuin WinAPIn kautta.
Antti kirjoitti:
Meitzi hyvä - otsikko oli "päivä apin avulla?"
Kysyin: Mitä järkeä on tehdä API kutsu jotta tietää ajan?
Mitä järkeä kysyä aika ohjelmallisesti ylipäätään - katsoisit kellosta.
Kysyjällä on varmaan syynsä käyttää API:a, jos ei muuten niin API:n oppimisen kannalta.
Aihe on jo aika vanha, joten et voi enää vastata siihen.