Hallo alpines, aktuell sieht der normale Rechner gut aus, hab schon alles mögliche eingetippt und er hat alles abgefangen bisher, scheint so, als würde beides zusammen laufen.
Anbei mal mein gesamter bisheriger Rechner, wollte mich jetzt gerade an den erweiterten Rechner setzen.
Hab da schon mal den Wirkungsgrad zu einer ComboBox gemacht, um mir da die ganzen Abfragen zu sparen
Spoiler anzeigen
C
;*****************************************
;Test.au3 by DS
;Erstellt mit ISN AutoIt Studio v. 1.08
;*****************************************
#include <StaticConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Include <GuiButton.au3>
#include <EditConstants.au3>
#include <ComboConstants.au3>
#include <MsgBoxConstants.au3>
;Hauptfenster
Local $GUI = GUICreate("Infotool",520,650,-1,-1,-1,-1)
;Info Button
Local $InfoButton = GUICtrlCreateButton("Informationen",20,20,230,30,-1,-1)
;Windows Rechner Button
Local $WindowsRechnerButton = GUICtrlCreateButton("Windows Rechner öffnen",270,20,230,30,-1,-1)
;Gruppe Formnestzahl mit Eingabefeld
GUICtrlCreateGroup("Formnestzahl",20,70,230,60,-1,-1)
GUICtrlSetBkColor(-1,"0xF0F0F0")
Local $Formnestzahl = GUICtrlCreateInput("",45,95,180,20,-1,$WS_EX_CLIENTEDGE)
;Gruppe Zykluszeit mit Eingabefeld
GUICtrlCreateGroup("Zykluszeit (Sekunden)",270,70,230,60,-1,-1)
GUICtrlSetBkColor(-1,"0xF0F0F0")
Local $Zykluszeit = GUICtrlCreateInput("",295,95,180,20,-1,$WS_EX_CLIENTEDGE)
;Checkbox für den erweiterten Produktionsrechner
Local $Erweitert = GUICtrlCreateCheckbox("Erweiterten Produktionsrechner nutzen",20,150,211,30,-1,-1)
;Kalender
GUICtrlCreateDate("Samstag, 1. Januar 2011",270,150,230,30,-1,-1)
;Gruppe Wirkungsgrad mit Combo-Box
GUICtrlCreateGroup("Wirkungsgrad",20,200,230,60,-1,-1)
GUICtrlSetBkColor(-1,"0xF0F0F0")
Local $Wirkungsgrad = GUICtrlCreateCombo("",45,225,180,20,-1,-1)
GUICtrlSetData($Wirkungsgrad, '0,1|0,2|0,3|0,4|0,5|0,6|0,7|0,8|0,9|1,0','0,8')
;Gruppe Ausschuss mit Eingabefeld
GUICtrlCreateGroup("Ausschuss (%)",270,200,230,60,-1,-1)
GUICtrlSetBkColor(-1,"0xF0F0F0")
Local $Ausschuss = GUICtrlCreateInput("2",295,225,180,20,-1,$WS_EX_CLIENTEDGE)
;Gruppe Produktionstage mit Combo-Box
GUICtrlCreateGroup("Produktionstage (Woche)",20,280,230,60,-1,-1)
GUICtrlSetBkColor(-1,"0xF0F0F0")
Local $Produktionstage = GUICtrlCreateCombo("",45,305,180,20,-1,-1)
GUICtrlSetData($Produktionstage, '1 Tag|2 Tage|3 Tage|4 Tage|5 Tage|6 Tage|7 Tage','5 Tage')
;Gruppe Abrufe mit Eingabefeld
GUICtrlCreateGroup("Abrufe (Woche)",270,280,230,60,-1,-1)
GUICtrlSetBkColor(-1,"0xF0F0F0")
Local $Abrufe = GUICtrlCreateInput("",295,305,180,20,-1,$WS_EX_CLIENTEDGE)
;Gruppe Tagesproduktion mit Label
GUICtrlCreateGroup("Tagesproduktion (24 Stunden)",20,360,230,60,-1,-1)
GUICtrlSetBkColor(-1,"0xF0F0F0")
Local $Tagesproduktion = GUICtrlCreateLabel("Erwarte Dateneingabe...",45,385,180,20,BitOr($SS_CENTER,$SS_CENTERIMAGE),-1)
GUICtrlSetBkColor(-1,"0xFFFF00")
;Gruppe Wochenproduktion mit Label
GUICtrlCreateGroup("Wochenproduktion",270,360,230,60,-1,-1)
GUICtrlSetBkColor(-1,"0xF0F0F0")
Local $Wochenproduktion = GUICtrlCreateLabel("",295,385,180,20,BitOr($SS_CENTER,$SS_CENTERIMAGE),-1)
GUICtrlSetBkColor(-1,"0xF0F0F0")
;Gruppe Vorlauf pro Tag mit Label
GUICtrlCreateGroup("Vorlauf pro Tag",20,440,230,60,-1,-1)
GUICtrlSetBkColor(-1,"0xF0F0F0")
Local $VorlaufTag = GUICtrlCreateLabel("",45,465,180,20,BitOr($SS_CENTER,$SS_CENTERIMAGE),-1)
GUICtrlSetBkColor(-1,"0xF0F0F0")
;Gruppe Vorlauf pro Woche mit Label
GUICtrlCreateGroup("Vorlauf pro Woche",270,440,230,60,-1,-1)
GUICtrlSetBkColor(-1,"0xF0F0F0")
Local $VorlaufWoche = GUICtrlCreateLabel("",295,465,180,20,BitOr($SS_CENTER,$SS_CENTERIMAGE),-1)
GUICtrlSetBkColor(-1,"0xF0F0F0")
;Gruppe Gewünschter Sicherheitsbestand mit Label
GUICtrlCreateGroup("Gewünschter Sicherheitsbestand (Wochen)",20,520,230,60,-1,-1)
GUICtrlSetBkColor(-1,"0xF0F0F0")
Local $WunschSicherheitsbestand = GUICtrlCreateInput("2",45,545,180,20,-1,$WS_EX_CLIENTEDGE)
;Gruppe Sicherheitsbestand erreicht mit Label
GUICtrlCreateGroup("Sicherheitsbestand erreicht in (Wochen)",270,520,230,60,-1,-1)
GUICtrlSetBkColor(-1,"0xF0F0F0")
Local $SicherheitsbestandDauer = GUICtrlCreateLabel("",295,545,180,20,BitOr($SS_CENTER,$SS_CENTERIMAGE),-1)
GUICtrlSetBkColor(-1,"0xF0F0F0")
;Werte berechnen Button
Local $BerechnenButton = GUICtrlCreateButton("Werte berechnen",20,600,480,30,-1,-1)
;Hauptfenster anzeigen
GUISetState(@SW_SHOW, $GUI)
;Deaktiviert standardmäßig die Controls für den erweiterten Rechner
GUICtrlSetState($Wirkungsgrad, $GUI_DISABLE)
GUICtrlSetState($Ausschuss, $GUI_DISABLE)
GUICtrlSetState($Produktionstage, $GUI_DISABLE)
GUICtrlSetState($Abrufe, $GUI_DISABLE)
GUICtrlSetState($WunschSicherheitsbestand, $GUI_DISABLE)
;Funktion zum aktivieren der Controls für den erweiterten Rechner
Func ErweiterteControlsAktivieren()
GUICtrlSetState($Wirkungsgrad, $GUI_ENABLE)
GUICtrlSetState($Ausschuss, $GUI_ENABLE)
GUICtrlSetState($Produktionstage, $GUI_ENABLE)
GUICtrlSetState($Abrufe, $GUI_ENABLE)
GUICtrlSetState($WunschSicherheitsbestand, $GUI_ENABLE)
GUICtrlSetData($Wochenproduktion, "Erwarte Dateneingabe...")
GUICtrlSetBkColor($Wochenproduktion,"0xFFFF00")
GUICtrlSetData($VorlaufTag, "Erwarte Dateneingabe...")
GUICtrlSetBkColor($VorlaufTag,"0xFFFF00")
GUICtrlSetData($VorlaufWoche, "Erwarte Dateneingabe...")
GUICtrlSetBkColor($VorlaufWoche,"0xFFFF00")
GUICtrlSetData($SicherheitsbestandDauer, "Erwarte Dateneingabe...")
GUICtrlSetBkColor($SicherheitsbestandDauer,"0xFFFF00")
EndFunc
;Funktion zum deaktivieren der Controls für den erweiterten Rechner
Func ErweiterteControlsDeaktivieren()
GUICtrlSetState($Wirkungsgrad, $GUI_DISABLE)
GUICtrlSetState($Ausschuss, $GUI_DISABLE)
GUICtrlSetState($Produktionstage, $GUI_DISABLE)
GUICtrlSetState($Abrufe, $GUI_DISABLE)
GUICtrlSetState($WunschSicherheitsbestand, $GUI_DISABLE)
GUICtrlSetData($Wochenproduktion, "")
GUICtrlSetBkColor($Wochenproduktion,"0xF0F0F0")
GUICtrlSetData($VorlaufTag, "")
GUICtrlSetBkColor($VorlaufTag,"0xF0F0F0")
GUICtrlSetData($VorlaufWoche, "")
GUICtrlSetBkColor($VorlaufWoche,"0xF0F0F0")
GUICtrlSetData($SicherheitsbestandDauer, "")
GUICtrlSetBkColor($SicherheitsbestandDauer,"0xF0F0F0")
EndFunc
;Ereignisschleife
Local $Ereignis = 0
While 1
$Ereignis = GUIGetMsg()
Switch $Ereignis
;MsgBox für Daten des Infotools
Case $InfoButton
MsgBox($MB_SYSTEMMODAL, "Info", "Daten des Infotools...")
;Öffnet den Windows Rechner
Case $WindowsRechnerButton
If FileExists("C:\Windows\System32\calc.exe") Then
ShellExecute("C:\Windows\System32\calc.exe")
Else
MsgBox(16,"Fehler","Der Windows Rechner konnte nicht geöffnet werden!",0)
EndIf
;Erweiterter Rechner wird aktiviert und deaktiviert
Case $Erweitert
If GUICtrlRead($Erweitert) = $GUI_CHECKED Then
ErweiterteControlsAktivieren()
Else
ErweiterteControlsDeaktivieren()
EndIf
;Berechnungen und Abfragen durch Button: Werte berechnen
Case $BerechnenButton
If GUICtrlRead($Erweitert) = $GUI_CHECKED Then
MsgBox(64,"Erweiterter Rechner","Checkbox ist aktiv!",0)
Else
;Ab hier, beginnen die Abfragen und Berechnungen für den normalen Rechner
;Prüft, ob die Felder Zykluszeit und Formnestzahl leer sind
If GUICtrlRead($Formnestzahl) = "" And GUICtrlRead($Zykluszeit) = "" Then
GUICtrlSetBkColor($Formnestzahl,"0xFFA500")
GUICtrlSetBkColor($Zykluszeit,"0xFFA500")
MsgBox(16,"Fehler","Für diese Berechnung, werden Formnestzahl und Zykluszeit benötigt!",0)
;Prüft, ob die Felder Zykluszeit und Formnestzahl Zahlen beinhalten
ElseIf Not StringRegExp(GUICtrlRead($Formnestzahl), "^\d+(\.|,)?\d*$") And Not StringRegExp(GUICtrlRead($Zykluszeit), "^\d+(\.|,)?\d*$") Then
GUICtrlSetBkColor($Formnestzahl,"0xFFA500")
GUICtrlSetBkColor($Zykluszeit,"0xFFA500")
MsgBox(16,"Fehler","Die Felder Formnestzahl und Zykluszeit, dürfen nur Zahlen beinhalten!",0)
;Prüft, ob das Feld Formnestzahl eine Zahl größer als 1 und das Feld Zykluszeit eine Zahl größer als 0 beinhaltet
ElseIf GUICtrlRead($Formnestzahl) < 1 And GUICtrlRead($Zykluszeit) <= 0 Then
GUICtrlSetBkColor($Formnestzahl,"0xFFA500")
GUICtrlSetBkColor($Zykluszeit,"0xFFA500")
MsgBox(16,"Fehler","Das Feld Formnestzahl, darf keine Zahlen, kleiner als 1 beinhalten und das Feld Zykluszeit, benötigt einen Wert größer als 0!",0)
;Prüft, ob das Feld Formnestzahl leer ist
ElseIf GUICtrlRead($Formnestzahl) = "" Then
GUICtrlSetBkColor($Formnestzahl,"0xFFA500")
GUICtrlSetBkColor($Zykluszeit,"0xFFFFFF")
MsgBox(16,"Fehler","Für diese Berechnung, wird die Formnestzahl benötigt!",0)
;Prüft, ob das Feld Formnestzahl Zahlen beinhaltet
ElseIf Not StringRegExp(GUICtrlRead($Formnestzahl), "^\d+(\.|,)?\d*$") Then
GUICtrlSetBkColor($Formnestzahl,"0xFFA500")
GUICtrlSetBkColor($Zykluszeit,"0xFFFFFF")
MsgBox(16,"Fehler","Das Feld Formnestzahl, darf nur Zahlen beinhalten!",0)
;Prüft, ob das Feld Formnestzahl eine Zahl größer als 1 beinhaltet
ElseIf GUICtrlRead($Formnestzahl) < 1 Then
GUICtrlSetBkColor($Formnestzahl,"0xFFA500")
GUICtrlSetBkColor($Zykluszeit,"0xFFFFFF")
MsgBox(16,"Fehler","Das Feld Formnestzahl, darf keine Zahlen, kleiner als 1 beinhalten!",0)
;Prüft, ob das Feld Formnestzahl ein Komma oder einen Punkt beinhaltet
ElseIf StringInStr(GUICtrlRead($Formnestzahl), ",") Or StringInStr(GUICtrlRead($Formnestzahl), ".") Then
GUICtrlSetBkColor($Formnestzahl,"0xFFA500")
MsgBox(16,"Fehler","Das Feld Formnestzahl, darf nur Ganzzahlen beinhalten!",0)
;Prüft, ob das Feld Zykluszeit leer ist
ElseIf GUICtrlRead($Zykluszeit) = "" Then
GUICtrlSetBkColor($Zykluszeit,"0xFFA500")
GUICtrlSetBkColor($Formnestzahl,"0xFFFFFF")
MsgBox(16,"Fehler","Für diese Berechnung, wird die Zykluszeit benötigt!",0)
;Prüft, ob das Feld Zykluszeit Zahlen beinhaltet
ElseIf Not StringRegExp(GUICtrlRead($Zykluszeit), "^\d+(\.|,)?\d*$") Then
GUICtrlSetBkColor($Zykluszeit,"0xFFA500")
GUICtrlSetBkColor($Formnestzahl,"0xFFFFFF")
MsgBox(16,"Fehler","Das Feld Zykluszeit, darf nur Zahlen beinhalten!",0)
;Prüft, ob das Feld Zykluszeit eine Zahl größer als 0 beinhaltet
ElseIf GUICtrlRead($Zykluszeit) <= 0 Then
GUICtrlSetBkColor($Zykluszeit,"0xFFA500")
GUICtrlSetBkColor($Formnestzahl,"0xFFFFFF")
MsgBox(16,"Fehler","Das Feld Zykluszeit, darf nur Zahlen, größer als 0 beinhalten!",0)
;Prüft, ob das Feld Zykluszeit einen Punkt beinhaltet
ElseIf StringInStr(GUICtrlRead($Zykluszeit), ".") Then
GUICtrlSetBkColor($Zykluszeit,"0xFFA500")
GUICtrlSetBkColor($Formnestzahl,"0xFFFFFF")
MsgBox(16,"Fehler","Das Feld Zykluszeit, darf keinen Punkt enthalten!",0)
;Berechnet den normalen Rechner und gibt Ergebnis aus
Else
GUICtrlSetBkColor($Formnestzahl,"0xFFFFFF")
GUICtrlSetBkColor($Zykluszeit,"0xFFFFFF")
GUICtrlSetBkColor($Tagesproduktion,"0xF0F0F0")
GUICtrlSetData($Tagesproduktion, 24 * 3600 * GUICtrlRead($Formnestzahl) / GUICtrlRead($Zykluszeit))
EndIf
EndIf
;Event zum schließen des Hauptfensters
Case $GUI_EVENT_CLOSE
MsgBox($MB_SYSTEMMODAL, "GUI Event", "Du hast auf CLOSE geklickt. Programm wird beendet...")
ExitLoop
EndSwitch
WEnd
;Beendet Hauptfenster
GUIDelete($GUI)
Alles anzeigen