Quantcast
Channel: Windows PowerShell Forum
Viewing all articles
Browse latest Browse all 2314

Mit Powershell Countdown erstellen

$
0
0

Hallo zusammen,

ich möchte vorweg nehmen das ich in der Powershell Programmierung recht neu bin. Für ein kleines Nebenprojekt habe ich bereits folgendes erstellt:

#Assemblys holen
[void] [System.Reflection.Assembly]::LoadWithPartialName("System.Drawing")
[void] [System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")

#Fensterobjekt erstellen
$objForm = New-Object System.Windows.Forms.Form

#Position/Groesse
$objForm.StartPosition = "CenterScreen"
$objForm.Size = New-Object System.Drawing.Size(500,300)

#Schriftart
$objForm.Font= New-Object System.Drawing.Font("Broadway",18,[System.Drawing.FontStyle]::Bold)

#Ueberschrift
$objForm.Text = "Counter"

[datetime]$Countdown = "11/10/2015 00:00"
$count = ($Countdown-(get-date))

#Größe Daten
$breite = 60
$hoehe = 30

#Tage
$Tage = New-Object System.Windows.Forms.Label
$Tage.Location = New-Object System.Drawing.Point(10,50)
$Tage.Size = New-Object System.Drawing.Size($breite,$hoehe)
$Tage.BackColor = "Transparent"
$Tage.Text = $count.Days
$Tage.Name = "Tage"
$objForm.Controls.Add($Tage)

#Stunden
$Stud = New-Object System.Windows.Forms.Label
$Stud.Location = New-Object System.Drawing.Point(75,50)
$Stud.Size = New-Object System.Drawing.Size($breite,$hoehe)
$Stud.BackColor = "Transparent"
$Stud.Text = $count.Hours
$Stud.Name = "Stunden"
$objForm.Controls.Add($Stud)

#Minuten
$Min = New-Object System.Windows.Forms.Label
$Min.Location = New-Object System.Drawing.Point(140,50)
$Min.Size = New-Object System.Drawing.Size($breite,$hoehe)
$Min.BackColor = "Transparent"
$Min.Text = $count.Minutes
$Min.Name = "Minuten"
$objForm.Controls.Add($Min)

#Sekunden
$Sek = New-Object System.Windows.Forms.Label
$Sek.Location = New-Object System.Drawing.Point(205,50)
$Sek.Size = New-Object System.Drawing.Size($breite,$hoehe)
$Sek.BackColor = "Transparent"
$Sek.Text = $count.Seconds
$Sek.Name = "Sekunden"
$objForm.Controls.Add($Sek)

#Anzeigen Fensterobjekt
[void] $objForm.ShowDialog()

Beim Starten des Skripts erscheint ein Fenster mit der aktuell verbleibenden Zeit. Allerdings wird die Zeit nicht aktualisiert. Ich habe es schon mit $objForm.refresh() versucht, auch als Button, aber da tut sich nichts. Ich vermute das Problem ist, das die Variable $count nicht neu geladen wird. Nach einer Recherge denke ich das ich timer verwenden muss. Allerdings bin ich hier überfragt an welcher Stelle ich was eintragen muss.

Ich hoffe das mir jemand helfen kann, rein logisch denke ich das sich das Fenster jede Sekunde neu laden muss.
Für Antworten bzw. Hinweise danke ich schon jetzt recht herzlich.

Viele Grüße
Suschi


Viewing all articles
Browse latest Browse all 2314