HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Rendszeridő beállítása programból


Példaprogram letöltése

6002 bájt

Az aktuális dátumot és időt könnyen lekérdezhetjük a DateTime osztály segítségével, viszont ha ezt a dátumot és időpontot programból szeretnénk módosítani is, akkor már kissé bonyolultabb a helyzet. Erre keresünk megoldást mellékelt példánkban.

Az idő beállításához egy Windows függvényt használunk, mely SetLocalTime névre hallgat. Ennek eléréséhez készítünk egy Win32 osztályt, melyben a függvény külsőként való deklarálásán kívül a paramétereként használatos SYSTEMTIME struktúrát is létre kell hoznunk. Ha mindkettő megtörtént, akkor már egyszerű a helyzetünk: csak fel kell használnunk a függvényt.
Friend Class Win32
  <StructLayoutAttribute(LayoutKind.Sequential)> _
  Public Structure SYSTEMTIME
    Public year As Short
    Public month As Short
    Public dayOfWeek As Short
    Public day As Short
    Public hour As Short
    Public minute As Short
    Public second As Short
    Public milliseconds As Short
  End Structure 'SYSTEMTIME
  <DllImport("kernel32.dll")> _
  Public Shared Function SetLocalTime(ByRef time As SYSTEMTIME) As Boolean
  End Function
End Class 'Win32
Az időbeállítását most végezzük el úgy, hogy az adott időponthoz hozzáadunk egy napot. Készítünk egy DataTime típusú változót, melybe az aktuális időpontot tároljuk, de egy napot hozzáadunk ehhez az értékhez.
Private Sub button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles button1.Click
    Dim st As Win32.SYSTEMTIME
    Dim dt As DateTime = DateTime.Now.AddDays(1)
Következő lépésként a SetLocalTime meghívásához szükséges SYSTEMTIME struktúra feltöltését végezzük el.
    st.year = CShort(dt.Year)
    st.month = CShort(dt.Month)
    st.dayOfWeek = CShort(dt.DayOfWeek)
    st.day = CShort(dt.Day)
    st.hour = CShort(dt.Hour)
    st.minute = CShort(dt.Minute)
    st.second = CShort(dt.Second)
    st.milliseconds = CShort(dt.Millisecond)
Végső lépésként pedig meghívjuk a SetLocalTime függvényt és feladattal már végeztünk is.
    Win32.SetLocalTime(st)
  End Sub 'button1_Click

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |