Hi,
ich möchte in einer If-Abfrage, die in einer While-Schleife ist, überprüfen, ob die While-Schleife weiter gehen soll, ob sie die beendet werden soll oder ob das ganze Script beendet werden soll...
nunja, habe schon gegoogelt und mich in PowerShell eingearbeitet, hänge aber in dem Problem fest... PowerShell gibt keine Fehler zurück.
Hier der PowerShellCode von meiner SerialConsole.ps1
Die Fehler sind zuunterst vom Quellcode (Zeile 100 bis 114).
Hat jemand mehr Erfahrung mit PowerShell?
mfg
gfc
ich möchte in einer If-Abfrage, die in einer While-Schleife ist, überprüfen, ob die While-Schleife weiter gehen soll, ob sie die beendet werden soll oder ob das ganze Script beendet werden soll...
nunja, habe schon gegoogelt und mich in PowerShell eingearbeitet, hänge aber in dem Problem fest... PowerShell gibt keine Fehler zurück.
Hier der PowerShellCode von meiner SerialConsole.ps1
Quellcode
- $Help = @"
- .\SerialConsole.ps1
- ***PowerShell Serielle Konsole***
- ********von Pascal Gesell********
- Autor: Pascal Gesell
- Lizenz: GNU Public License - GPL
- Setzte die PowerShell execution policy auf 'RemoteSigned' um
- dieses Script ausführen zu können.
- PS> Set-ExecutionPolicy RemoteSigned
- "@
- $stat = $null
- $schleife = $true
- function MainGUI
- {
- [Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms") | Out-Null
- [Reflection.Assembly]::LoadWithPartialName("System.Drawing") | Out-Null
- $frm = New-Object System.Windows.Forms.Form
- $btn1 = New-Object System.Windows.Forms.Button
- $btn2 = New-Object System.Windows.Forms.Button
- $txtbox1 = New-Object System.Windows.Forms.TextBox
- $lbl1 = New-Object System.Windows.Forms.Label
- $InitialFormWindowState = New-Object System.Windows.Forms.FormWindowState
- $Handler_btn2_Click=
- {
- $stat = "X"
- $frm.close()
- }
- $Handler_btn1_Click=
- {
- If($txtbox1.Text.Contains("COM") -eq $true)
- {
- $stat = "Y"
- $frm.Close()
- }
- else
- {
- [System.Windows.Forms.MessageBox]::Show("Ungültiger Wert","Fehler",[System.Windows.Forms.MessageBoxButtons]::OK,[System.Windows.Forms.MessageBoxIcon]::Exclamation)
- $stat = "N"
- $frm.Close()
- }
- }
- $OnLoadForm_StateCorrection=
- {
- $frm.WindowState = $InitialFormWindowState
- }
- #Size: Weite, Höhe
- $frm.Text = "PE-GUI"
- $frm.Name = "frm"
- $frm.ClientSize = New-Object System.Drawing.Size(200,60)
- $frm.ShowIcon = $false
- $frm.MinimizeBox = $false
- $frm.MaximizeBox = $false
- $frm.CancelButton = $btn1
- $btn1.Name = "btn1"
- $btn1.Size = New-Object System.Drawing.Size(65,20)
- $btn1.Text = "Verbinden"
- $btn1.Location = New-Object System.Drawing.Size(130,30)
- $btn1.add_Click($Handler_btn1_Click)
- $frm.Controls.Add($btn1)
- $btn2.Name = "btn2"
- $btn2.Size = New-Object System.Drawing.Size(65,20)
- $btn2.Text = "Beenden"
- $btn2.Location = New-Object System.Drawing.Size(130,5)
- $btn2.add_Click($Handler_btn2_Click)
- $frm.Controls.Add($btn2)
- $txtbox1.Name = "txtbox1"
- $txtbox1.Size = New-Object System.Drawing.Size(115, 20)
- $txtbox1.Location = New-Object System.Drawing.Size(5, 30)
- $frm.Controls.Add($txtbox1)
- $lbl1.Name = "lbl1"
- $lbl1.Text = "COM-PORT:"
- $lbl1.Size = New-Object System.Drawing.Size(150, 20)
- $lbl1.Location = New-Object System.Drawing.Size(5, 8)
- $frm.Controls.Add($lbl1)
- $InitialFormWindowState = $frm.WindowState
- $frm.add_Load($OnLoadForm_StateCorrection)
- $frm.ShowDialog() | Out-Null
- }
- If ($Host.Name -match 'ise')
- {
- Write-Host "Warnung: Dieses Script muss in der Konsole ausgeführt werden`n`Rechts-Klick auf dem Script und wähle 'Mit PowerShell ausführen'"
- break;
- }
- while($schleife -eq $true)
- {
- MainGUI
- If($stat -eq "N")
- {
- $schleife = $true
- }
- ElseIf($stat -eq "Y")
- {
- $schleife = $false
- }
- ElseIf($stat -eq "X")
- {
- $schleife = $false
- EXIT
- break;
- }
- }
- break;
Die Fehler sind zuunterst vom Quellcode (Zeile 100 bis 114).
Hat jemand mehr Erfahrung mit PowerShell?
mfg
gfc
Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von „gfcwfzkm“ ()