Hallo ich bin erst neu hier ich habe mir ein Programm gebastelt womit ich eine Zeit in einem Input feld eingeben kann und wenn diese abgelaufen ist Stoppt meine Aufnahme ich habe sowas schonmal erstellt mit dem ersten Input feld aber habe mir dann mal was überlegt womit ich 5 verschiedene Aufnahmen/Zeiten eingeben kann und wenn zb. Aufnahme 2 (Input2) abgelaufen ist soll gestoppt werden und nach ein paar sec soll er mit der nächsten aufnahme beginnen was in Input3 steht das zieht sich bis zur 5
jetzt mein Problem ich schaff es zwar das er es mit dem Input1 macht also erste Aufnahme aber wenn diese abgelaufen ist geht ein weiterer befehl an eine Funktion die auch eine Schleife beinhaltet womit er weiß ok jetzt soll Aufnahme 2 gestartet werden dieses macht er aber nicht ich habe schon so vieles probiert komme aber nicht zum erfolg die Funktion wird abgerufen und arbeitet auch aber die Schleife nur zur hälfte oder garnicht vielleicht habt ihr ein Rat für mich
Ich würde hier mal den ganzen Skriptcode posten
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <MsgBoxConstants.au3>
GUICreate('5 Aufnahme-Timer', 800, 700, Default, Default, 0x10C80000)
Dim $end, $end2, $timer, $timer2, $running = False, $running2 = False, $input[3], $input2[3], $input3[3], $input4[3], $input5[3], $name[3]=['Stunden','Minuten','Sekunden'], $name2[3]=['','',''], $name3[3]=['','',''], $name4[3]=['','',''], $name5[3]=['','',''], $button[2]=['Start','Stop']
For $i=0 To 2
GUICtrlCreateGroup($name[$i], 5+70*$i, 5, 70, 40)
GUICtrlCreateGroup($name2[$i], 5+70*$i, 35, 70, 40)
GUICtrlCreateGroup($name3[$i], 5+70*$i, 65, 70, 40)
GUICtrlCreateGroup($name4[$i], 5+70*$i, 95, 70, 40)
GUICtrlCreateGroup($name5[$i], 5+70*$i, 125, 70, 40)
$input[$i]=GUICtrlCreateInput('', 10+70*$i, 20, 60, 20, 1)
$input2[$i]=GUICtrlCreateInput('', 10+70*$i, 50, 60, 20, 1)
$input3[$i]=GUICtrlCreateInput('', 10+70*$i, 80, 60, 20, 1)
$input4[$i]=GUICtrlCreateInput('', 10+70*$i, 110, 60, 20, 1)
$input5[$i]=GUICtrlCreateInput('', 10+70*$i, 140, 60, 20, 1)
Next
$go=GUICtrlCreateButton('Start', 550, 650, 210, 20)
$Herunterfahren = GUICtrlCreateCheckbox("Computer herunterfahren", 600, 600, 201, 25)
$Input2 = GUICtrlCreateCheckbox("Aufnahme 2 Aktivieren", 220, 47, 201, 25)
$Input3 = GUICtrlCreateCheckbox("Aufnahme 3 Aktivieren", 220, 77, 201, 25)
$Input4 = GUICtrlCreateCheckbox("Aufnahme 4 Aktivieren", 220, 107, 201, 25)
$Input5 = GUICtrlCreateCheckbox("Aufnahme 5 Aktivieren", 220, 137, 201, 25)
$Close = GUICtrlCreateButton("Schließen", 550, 550, 83, 25)
$Label2 = GUICtrlCreateLabel("Programm Start mit Hotkey F7", 500, 500, 170, 24)
GUICtrlSetFont(-1, 6, 800, 0, "MS Sans Serif")
;HotKey's
HotKeySet ("{F7}", "StartTimer")
;##############################
;Start mit der ersten Aufnahme#
;##############################
;Funktion das mit der Taste F7 gestartet wird
Func StartTimer()
HotKeySet ("{F7}")
$running = Not $running
GUICtrlSetData($go, $button[$running])
$end = Convert($input)
$timer=TimerInit()
If $running And TimerDiff($timer)>=$end Then
$running = False
GUICtrlSetData($go, $button[$running])
Send ("{F8}")
;;;;;
If _IsChecked($Input2) Then
Call ("ANAufnahem2")
Else
Call ("AUSAufnahem2")
EndIf
EndIf
EndFunc
;Funktion mit Knöpfen (Knopf Start) ist hier mit enthalten und Schließen
While 1
Switch GUIGetMsg()
Case $Close
Exit
Case -3
Exit
Case $go
$running = Not $running
GUICtrlSetData($go, $button[$running])
$end = Convert($input)
$timer=TimerInit()
Case Else
If $running And TimerDiff($timer)>=$end Then
$running = False
GUICtrlSetData($go, $button[$running])
ControlSend("OBS 26.1.1 (64-bit, windows) - Profil: Unbenannt - Szenen: Unbenannt", "", "", "{F8}")
Send ("{F8}")
;;;;;
If _IsChecked($Input2) Then
Call ("ANAufnahem2")
Else
Call ("AUSAufnahem2")
EndIf
EndIf
EndSwitch
WEnd
Func Convert($array)
Return 1000*(60*(60*(GUICtrlRead($array[0]))+GUICtrlRead($array[1]))+GUICtrlRead($array[2]))
EndFunc
Func _IsChecked($Herunterfahren)
Return BitAND(GUICtrlRead($Herunterfahren), $GUI_CHECKED) = $GUI_CHECKED
EndFunc
;######################
;Aufnahme 1 endet hier#
;######################
Func ANAufnahem2 ()
Sleep (3000) ;Puffer um abzuspeichern
While 2
Switch GUIGetMsg()
Case $Close
Exit
Case -3
Exit
Case $go
$running2 = Not $running2
GUICtrlSetData($go, $button [$running2])
$end = Convert($input2)
$timer2=TimerInit()
Case Else
If $running2 And TimerDiff($timer2)>=$end2 Then
$running2 = False
GUICtrlSetData($go, $button[$running2])
ControlSend("OBS 26.1.1 (64-bit, windows) - Profil: Unbenannt - Szenen: Unbenannt", "", "", "{F8}")
Send ("{F8}")
;;;;;
If _IsChecked($Input3) Then
Call ("AN")
Else
Call ("AUS")
MsgBox(0, 'Info', 'Tesssssssst 2 durch an?')
EndIf
EndIf
EndSwitch
WEnd
EndFunc
Func AUSAufnahem2 ()
ControlSend("OBS 26.1.1 (64-bit, windows) - Profil: Unbenannt - Szenen: Unbenannt", "", "", "{F8}")
Sleep (1000)
MsgBox(0, 'Info', '2 durch AUS')
EndFunc
;##################################################################################################
;Hier wird nochmal abgefragt und entschieden ob der Harken bei Herrunterfahren drin ist oder nicht#
;##################################################################################################
Func AN ()
ControlSend("OBS 26.1.1 (64-bit, windows) - Profil: Unbenannt - Szenen: Unbenannt", "", "", "{F8}")
Sleep (1000)
MsgBox(0, 'Info', 'ANNNNNNNNNNNNNNNNNNNNNNNNNNN')
; Shutdown(1)
EndFunc
Func AUS ()
ControlSend("OBS 26.1.1 (64-bit, windows) - Profil: Unbenannt - Szenen: Unbenannt", "", "", "{F8}")
Sleep (1000)
MsgBox(0, 'Info', 'Aufnahme gestoppt')
EndFunc
Alles anzeigen