Guten Morgen,
vermutlich interessiert es gar niemand, weiß aber einfach nicht wohin mit meiner Freude
Habe noch den Windows Rechner per Knopfdruck eingebaut, brav mit Abfrage, ob die Datei auch vorhanden ist und wenn nicht kommt eine Fehlermeldung.
Dann habe ich es geschafft, dass die erweiterten Felder standardmäßig deaktiviert sind und bei der Aktivierung derCheckBox aktiviert werden und umgekehrt, sogar 2 Funktionen dafür geschrieben.
Auch die jeweiligen Labels mit der Beschriftung "erwarte Eingabe" erscheinen jetzt erst wenn der Haken gesetzt ist, bis auf die Tagesproduktion, welche ja beim normalen Rechner bleiben müssen.
Hach, da klopft das Herz
Aber, ich fand das jetzt auch echt schwer und hab stundelang rumversuchen müssen, unglaublich wie oft nichts geklappt hat!
Spoiler anzeigen
;*****************************************
;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)
;Info 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 Eingabefeld
GUICtrlCreateGroup("Wirkungsgrad",20,200,230,60,-1,-1)
GUICtrlSetBkColor(-1,"0xF0F0F0")
Local $Wirkungsgrad = GUICtrlCreateInput("0,8",45,225,180,20,-1,$WS_EX_CLIENTEDGE)
;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 Taschenrechner
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
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
;Berechnung für den normalen Rechner
If GUICtrlRead($Formnestzahl) = "" Or GUICtrlRead($Zykluszeit) = "" Then
MsgBox(16,"Fehler","Für diese Berechnung, werden Formnestzahl und Zykluszeit benötigt!",0)
Else
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