vypnutí pc   zodpovězená otázka

VB.NET

použil jsem tento code

účel je ten ze pokud se bude rovnat cas v labelu stejne jako v txtboxu tak by se měl pc vypnout ale nějak mi to nefacha pokud se casy budou rovnat otevre mi to znova ten samej program este jednou

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        tmr.Interval = 1000
        tmr.Start()
    End Sub

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tmr.Tick
        Label1.Text = Format(DateTime.Now, "HH:mm:ss")
        If Label1.Text = txtbox.Text Then System.Diagnostics.Process.Start("shutdown", "-s -t 0")


    End Sub

pokud by bylo jiné řešení na tento program budu rád díky moc

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Místo textboxu bych být Vámi použil raději MaskedTextBox a nastavil si u něj masku.K zobrazení aktualního času můžete využít funkci TimeString (jen aby jste vědel jak to jde udělat rychleji).Tady máte kód pro inspiraci.

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Timer1.Interval = 1000
        Timer1.Enabled = True
        Label1.Text = TimeString
    End Sub

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        Label1.Text = TimeString
        If MaskedTextBox1.Text = Label1.Text Then
            System.Diagnostics.Process.Start("shutdown", "-s -t 0")
            Timer1.Enabled = False
        Else

        End If
    End Sub

nahlásit spamnahlásit spam 2 / 2 odpovědětodpovědět

Ahoj,

pocuj nefunguje mi tento script. Chcel by som vypnut PC,

na zaklade stlacenia tlacidla.

Vedel by si mi poradit?

Dakujem

nahlásit spamnahlásit spam 0 odpovědětodpovědět
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        If TimeString = DateTimePicker1.Value.TimeOfDay.ToString Then
            Timer1.Stop()
            System.Diagnostics.Process.Start("shutdown", "-s -t 0")

        End If
        

    End Sub

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Porovnávat datum přes stringy je nesmysl a prasárna, datum a as se dá porovnávat daleko lépe a můžete tam udělat i rozmezí nějaké přesnosti.

Pro výběr data doporučuji použít DateTimePicker, kterémužto stačí nastavit vlastnost Format na hodnotu Time případně CustomFormat a udat vlastní formát, kde bude třeba datum a čas. Zadané datum dostanete z vlastnosti Value.

Pro porovnávání hodnot pak stačí odečíst datum z komponenty a DateTime.Now a porovnat počet hodin, minut a sekund dle příslušné tolerance.

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback