

;*****************************************
;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("Info", 20, 20, 480, 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("Erwarte Dateneingabe...", 295, 385, 180, 20, BitOR($SS_CENTER, $SS_CENTERIMAGE), -1)
GUICtrlSetBkColor(-1, "0xFFFF00")


;Gruppe Vorlauf pro Tag mit Label
GUICtrlCreateGroup("Vorlauf pro Tag", 20, 440, 230, 60, -1, -1)
GUICtrlSetBkColor(-1, "0xF0F0F0")
Local $VorlaufTag = GUICtrlCreateLabel("Erwarte Dateneingabe...", 45, 465, 180, 20, BitOR($SS_CENTER, $SS_CENTERIMAGE), -1)
GUICtrlSetBkColor(-1, "0xFFFF00")

;Gruppe Vorlauf pro Woche mit Label
GUICtrlCreateGroup("Vorlauf pro Woche", 270, 440, 230, 60, -1, -1)
GUICtrlSetBkColor(-1, "0xF0F0F0")
Local $VorlaufWoche = GUICtrlCreateLabel("Erwarte Dateneingabe...", 295, 465, 180, 20, BitOR($SS_CENTER, $SS_CENTERIMAGE), -1)
GUICtrlSetBkColor(-1, "0xFFFF00")

;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("Erwarte Dateneingabe...", 295, 545, 180, 20, BitOR($SS_CENTER, $SS_CENTERIMAGE), -1)
GUICtrlSetBkColor(-1, "0xFFFF00")

;Werte berechnen Button
Local $BerechnenButton = GUICtrlCreateButton("Werte berechnen", 20, 600, 480, 30, -1, -1)

;Hauptfenster anzeigen
GUISetState(@SW_SHOW, $GUI)

;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...")
			;Berechnungen und Abfragen durch Button: Werte berechnen
		Case $BerechnenButton
			If F_IstNumber(GuiCtrlRead($Formnestzahl)) Or GuiCtrlRead($Formnestzahl) = 0 Then
				MsgBox(4096, "Titel", "Formnestzahl ist keine Zahl oder 0")
				GuiCtrlSetBkColor($Formnestzahl, 0xFF0000)
				ContinueLoop
			ElseIf F_IstNumber(GuiCtrlRead($Zykluszeit)) Or GuiCtrlRead($Zykluszeit) = 0 Then
				GuiCtrlSetBkColor($Zykluszeit, 0xFF0000)
				MsgBox(4096, "Titel", "Zyklenzeit ist keine Zahl oder 0")
				ContinueLoop
			EndIf
			GuiCtrlSetBkColor($Formnestzahl, 0x00FF00)
			GuiCtrlSetBkColor($Zykluszeit, 0x00FF00)

			If GUICtrlRead($Erweitert) = $GUI_CHECKED Then
				MsgBox(64, "Erweiterter Rechner", "Checkbox ist aktiv!", 0)
			Else
				;If GuiCtrlRead($Formnestzahl) = 0 Or GuiCtrlRead($Zykluszeit) = 0 Then

					;MsgBox(16, "Fehler", "Formnestzahl und Zykluszeit müssen eine Zahl grösser 0 sein", 1)
				;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...",1)
			ExitLoop
	EndSwitch
WEnd
;Beendet Hauptfenster
GUIDelete($GUI)



Func F_IstNumber($Var)
$VarErg = StringRegExp($Var, "([^\- ^0-9^\. ]+)", 0)
Return $VarErg
EndFunc


