Guten Tag,
Ich schreibe gerade an einem Programm zum Herunterfahren eines Rechner. Es hat folgende Funktionen:
- Beim Starten des Programms wird eine Form angezeigt mit der Meldung dass der Rechner um XX:XX:XX Uhr heruntergefahren wird. (Startzeitpunkt + 5 Min).
- Der Nutzer hat die Möglichkeit durch klich auf einen Button die Zeit um 30 Minuten zu erhöhen. Danach verschwindet das Fenster.
- Nachdem es erneut 5 Minuten vor dem Zeitpunkt des Herunterfahrens ist taucht die gleiche Form wieder auf. Wieder mit dem Hinweis auf den Zeitpunkt des Herunterfahrens und mit Buttom zum verschieben um 30 min.
- Ist der Zeitpunkt erreiche und nicht erhöht wurden fährt der PC Herunter. Hier habe ich derzeit eine MSGBox die nur "Test" ausgibt, diese wird beim dem Zeitpunkt aber mehrfach geöffnet.
Wie würdet ihr das schreiben? Gibt es vom Code Optimierungspotenzial? Sicherlich gibt es bessere Wege aber ich würde das trotzdem gerne in einem Programm lösen und den besten Weg kennen.
Hier mein Programmcode:
Ich schreibe gerade an einem Programm zum Herunterfahren eines Rechner. Es hat folgende Funktionen:
- Beim Starten des Programms wird eine Form angezeigt mit der Meldung dass der Rechner um XX:XX:XX Uhr heruntergefahren wird. (Startzeitpunkt + 5 Min).
- Der Nutzer hat die Möglichkeit durch klich auf einen Button die Zeit um 30 Minuten zu erhöhen. Danach verschwindet das Fenster.
- Nachdem es erneut 5 Minuten vor dem Zeitpunkt des Herunterfahrens ist taucht die gleiche Form wieder auf. Wieder mit dem Hinweis auf den Zeitpunkt des Herunterfahrens und mit Buttom zum verschieben um 30 min.
- Ist der Zeitpunkt erreiche und nicht erhöht wurden fährt der PC Herunter. Hier habe ich derzeit eine MSGBox die nur "Test" ausgibt, diese wird beim dem Zeitpunkt aber mehrfach geöffnet.
Wie würdet ihr das schreiben? Gibt es vom Code Optimierungspotenzial? Sicherlich gibt es bessere Wege aber ich würde das trotzdem gerne in einem Programm lösen und den besten Weg kennen.
Hier mein Programmcode:
VB.NET-Quellcode
- Public Class frmShutdownAlert
- Dim ShutdownTime As Date
- Dim FormInvisible As Integer
- Dim ShutdownFlag As Integer
- Private Sub tmrShutdownAlert_Tick(sender As Object, e As EventArgs) Handles tmrShutdownAlert.Tick
- If TimeOfDay.AddMinutes(1) >= ShutdownTime And FormInvisible = 1 Then
- FormInvisible = 0
- Me.Visible = True
- Me.Activate()
- End If
- If TimeOfDay >= ShutdownTime And ShutdownFlag <> 1 Then
- 'Hier der Herunterfahren Befehl.
- MsgBox("Test")
- ShutdownFlag = 1
- End If
- End Sub
- Private Sub btnShutdownDelay_Click(sender As Object, e As EventArgs) Handles btnShutdownDelay.Click
- ShutdownTime = ShutdownTime.AddMinutes(2)
- lblTimeLeft.Text = ShutdownTime
- Me.Visible = False
- FormInvisible = 1
- End Sub
- Private Sub frmShutdownAlert_Load(sender As Object, e As EventArgs) Handles MyBase.Load
- ShutdownFlag = 0
- ShutdownTime = TimeOfDay.AddMinutes(1)
- lblTimeLeft.Text = ShutdownTime
- End Sub
- End Class
var coffee = new coffee();
if(coffee.empty)
{
coffee.refill();
} else {
coffee.drink();
}
if(coffee.empty)
{
coffee.refill();
} else {
coffee.drink();
}