kannst du mir tips geben wie ich das da reinbauen soll
Arrays?? wie funktionieren sie??
-
- [ gelöst ]
-
crocojunk -
5. Juni 2010 um 22:07 -
Geschlossen -
Erledigt
-
-
Kannste mal kurz den aktuellen Code anhängen dann bau ich den ein
-
klar
Spoiler anzeigen
[autoit]#include <ButtonConstants.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <AVIWriter.au3>
#include <File.au3>
#include <ScreenCapture.au3>
#include <SliderConstants.au3>
#include <GUIListBox.au3>
#include <EditConstants.au3>Global $Capture
[/autoit] [autoit][/autoit] [autoit]HotKeySet("^v", "_startvideo")
[/autoit] [autoit][/autoit] [autoit]
HotKeySet("{ESC}", "_close");_StartAviLibrary()
[/autoit] [autoit][/autoit] [autoit]
;$avi = _CreateAvi("C:\Crocoframe\Videos\" & "\crocoframe.avi", 5,200,200)
;Break (0)
IniWrite ("confic.ini", "C:\Crocoframe\" , "AVINAME", "crocoframe2")
DirCreate("C:\Crocoframe\")
DirCreate("C:\Crocoframe\Videos\")
#region ### START Koda GUI section ### Form=
$Form1 = GUICreate("CrocoFrame © CrocoJunk ", 548, 250, 192, 124)
$Pic1 = GUICtrlCreatePic("", 0, 0, 545, 89, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))
$Label1 = GUICtrlCreateLabel("Video aufnehmen", 8, 112, 87, 17)
$Button1 = GUICtrlCreateButton("Play (STRG+V) ", 120, 112, 100, 25, $WS_GROUP)
$Label3 = GUICtrlCreateLabel("Video stoppen", 8, 192, 72, 17)
$Button3 = GUICtrlCreateButton("Video Beenden (ESC)", 120, 200, 120, 25, $WS_GROUP)
$check = GUICtrlCreateCheckbox("Video starten nachdem aufgenommen", 256, 120, 199, 17)
$check2 = GUICtrlCreateCheckbox("Video starten nach", 256, 168, 113, 17)
$menu1 = GUICtrlCreateMenu("Datei")
$item1 = GUICtrlCreateMenuItem("Optionen", $menu1)
$item2 = GUICtrlCreateMenuItem("Easy Screen", $menu1)
GUICtrlCreateInput("", 376, 168, 57, 21)
$Label4 = GUICtrlCreateLabel("Sekunden", 448, 168, 53, 17)
GUISetState(@SW_SHOW)
#endregion ### END Koda GUI section ###While 1
[/autoit] [autoit][/autoit] [autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
ExitCase $Button1
[/autoit] [autoit][/autoit] [autoit]
filedelete ("C:\Crocoframe\Videos\crocoframe.avi")
If Not @error Then
MsgBox(64, "Video", "Das Video startet jetzt!")
EndIf
$Capture = True
_StartAviLibrary()
$avi = _CreateAvi("C:\Crocoframe\Videos\" & "\crocoframe.avi", 30, @DesktopWidth, @DesktopHeight)
;~ AdlibRegister("_close",30000) ;vorsichtshalber Buttons funktionieren nicht Hotkey ESC klappt aber
ConsoleWrite("STARTED" & @CRLF)
While $Capture
$m = MouseGetPos()
$hBmp = _ScreenCapture_Capture("", 0,0,-1,-1)
_AddHBitmapToAvi($avi, $hBmp)
_WinAPI_DeleteObject($hBmp)
Sleep(200)
WEnd
ConsoleWrite("STOPPED" & @CRLF)
$Read = GUICtrlread($check)
if $Read = 1 Then
ShellExecute("C:\Crocoframe\Videos\crocoframe.avi")
MsgBox(64, "Hallo", "Video wird abgespielt",1)
Else
MsgBox(64, "Hallo", "Error Video konnte nicht gefunden oder gestartet werden!")
EndIf
;~ AdlibUnRegister("_close")Case $Button3
[/autoit] [autoit][/autoit] [autoit]
ConsoleWrite("STOP" & @CRLF)
_close()
Case $checkCase $check2
[/autoit] [autoit][/autoit] [autoit]Case $item1
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
_optionen()
Case $item2
_screen()EndSwitch
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
WEndFunc _startvideo()
[/autoit] [autoit][/autoit] [autoit]
filedelete ("C:\Crocoframe\Videos\crocoframe.avi")
If Not @error Then
MsgBox(64, "Video", "Das Video startet jetz!")
EndIf
$Capture = True
_StartAviLibrary()
$avi = _CreateAvi("C:\Crocoframe\Videos\" & "\crocoframe.avi", 5, @DesktopWidth, @DesktopHeight)
AdlibRegister("_close",30000) ;vorsichtshalber Buttons funktionieren nicht Hotkey ESC klappt aber
ConsoleWrite("STARTED" & @CRLF)
While $Capture
$m = MouseGetPos()
$hBmp = _ScreenCapture_Capture("", 0,0,-1,-1)
_AddHBitmapToAvi($avi, $hBmp)
_WinAPI_DeleteObject($hBmp)
Sleep(200)
WEnd
ConsoleWrite("STOPPED" & @CRLF)
AdlibUnRegister("_close")
EndFuncFunc _optionen()
[/autoit]
EndFunc
Func _screen()
EndFunc
Func _close()
_CloseAvi($avi)
_StopAviLibrary()
$Capture = False
EndFunc -
So eingebaut [ungetestet)
//Edit Code angepasst:
Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit]
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <AVIWriter.au3>
#include <File.au3>
#include <ScreenCapture.au3>
#include <SliderConstants.au3>
#include <GUIListBox.au3>
#include <EditConstants.au3>Global $__SpeedCtrl_Timer = 0
[/autoit] [autoit][/autoit] [autoit]
Global $__SpeedCtrl_SleepTime = 0
Global $__SpeedCtrl_Speed = 0Global $Capture
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Global $FramesPerSecMax = 3
Global $_Counter = 0HotKeySet("^v", "_startvideo")
[/autoit] [autoit][/autoit] [autoit]
HotKeySet("{ESC}", "_close");_StartAviLibrary()
[/autoit] [autoit][/autoit] [autoit]
;$avi = _CreateAvi("C:\Crocoframe\Videos\" & "\crocoframe.avi", 5,200,200)
;Break (0)
IniWrite("confic.ini", "C:\Crocoframe\", "AVINAME", "crocoframe2")
DirCreate("C:\Crocoframe\")
DirCreate("C:\Crocoframe\Videos\")
#region ### START Koda GUI section ### Form=
$Form1 = GUICreate("CrocoFrame © CrocoJunk ", 548, 250, 192, 124)
$Pic1 = GUICtrlCreatePic("", 0, 0, 545, 89, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))
$Label1 = GUICtrlCreateLabel("Video aufnehmen", 8, 112, 87, 17)
$Button1 = GUICtrlCreateButton("Play (STRG+V) ", 120, 112, 100, 25, $WS_GROUP)
$Label3 = GUICtrlCreateLabel("Video stoppen", 8, 192, 72, 17)
$Button3 = GUICtrlCreateButton("Video Beenden (ESC)", 120, 200, 120, 25, $WS_GROUP)
$check = GUICtrlCreateCheckbox("Video starten nachdem aufgenommen", 256, 120, 199, 17)
$check2 = GUICtrlCreateCheckbox("Video starten nach", 256, 168, 113, 17)
$menu1 = GUICtrlCreateMenu("Datei")
$item1 = GUICtrlCreateMenuItem("Optionen", $menu1)
$item2 = GUICtrlCreateMenuItem("Easy Screen", $menu1)
GUICtrlCreateInput("", 376, 168, 57, 21)
$Label4 = GUICtrlCreateLabel("Sekunden", 448, 168, 53, 17)
GUISetState(@SW_SHOW)
#endregion ### END Koda GUI section ###While 1
[/autoit] [autoit][/autoit] [autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
ExitCase $Button1
[/autoit] [autoit][/autoit] [autoit]
FileDelete("C:\Crocoframe\Videos\crocoframe.avi")
If Not @error Then
MsgBox(64, "Video", "Das Video startet jetzt!")
EndIf
$Capture = True
_StartAviLibrary()
$avi = _CreateAvi("C:\Crocoframe\Videos\" & "\crocoframe.avi", 30, @DesktopWidth, @DesktopHeight)
;~ AdlibRegister("_close",30000) ;vorsichtshalber Buttons funktionieren nicht Hotkey ESC klappt aber
ConsoleWrite("STARTED" & @CRLF)
_SpeedCtrl_Start($FramesPerSecMax)
While $Capture
$m = MouseGetPos()
$hBmp = _ScreenCapture_Capture("", 0, 0, -1, -1)
_AddHBitmapToAvi($avi, $hBmp)
_WinAPI_DeleteObject($hBmp)
ConsoleWrite(_SpeedCtrl_Regulate($_Counter) & " FPS" & @CRLF)
$_Counter += 1
WEnd
$_Counter = 0
_SpeedCtrl_Clear()
ConsoleWrite("STOPPED" & @CRLF)
$Read = GUICtrlRead($check)
If $Read = 1 Then
ShellExecute("C:\Crocoframe\Videos\crocoframe.avi")
MsgBox(64, "Hallo", "Video wird abgespielt", 1)
Else
MsgBox(64, "Hallo", "Error Video konnte nicht gefunden oder gestartet werden!")
EndIf
;~ AdlibUnRegister("_close")Case $Button3
[/autoit] [autoit][/autoit] [autoit]
ConsoleWrite("STOP" & @CRLF)
_close()
Case $checkCase $check2
[/autoit] [autoit][/autoit] [autoit]Case $item1
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
_optionen()
Case $item2
_screen()EndSwitch
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
WEndFunc _startvideo()
[/autoit] [autoit][/autoit] [autoit]
FileDelete("C:\Crocoframe\Videos\crocoframe.avi")
If Not @error Then
MsgBox(64, "Video", "Das Video startet jetz!")
EndIf
$Capture = True
_StartAviLibrary()
$avi = _CreateAvi("C:\Crocoframe\Videos\" & "\crocoframe.avi", 5, @DesktopWidth, @DesktopHeight)
AdlibRegister("_close", 30000) ;vorsichtshalber Buttons funktionieren nicht Hotkey ESC klappt aber
ConsoleWrite("STARTED" & @CRLF)
_SpeedCtrl_Start($FramesPerSecMax)
While $Capture
$m = MouseGetPos()
$hBmp = _ScreenCapture_Capture("", 0, 0, -1, -1)
_AddHBitmapToAvi($avi, $hBmp)
_WinAPI_DeleteObject($hBmp)
Sleep(200)
WEnd
ConsoleWrite("STOPPED" & @CRLF)
AdlibUnRegister("_close")
EndFunc ;==>_startvideoFunc _optionen()
[/autoit] [autoit][/autoit] [autoit]
EndFunc ;==>_optionen
Func _screen()
EndFunc ;==>_screen
Func _close()
_CloseAvi($avi)
_StopAviLibrary()
$Capture = False
EndFunc ;==>_closeFunc _SpeedCtrl_Start($iSpeed)
[/autoit] [autoit][/autoit] [autoit]
If $__SpeedCtrl_Timer <> 0 Then Return SetError(1, 0, -1)
$__SpeedCtrl_Timer = TimerInit()
$__SpeedCtrl_SleepTime = 0
$__SpeedCtrl_Speed = $iSpeed
EndFunc ;==>_SpeedCtrl_StartFunc _SpeedCtrl_Regulate($sAkPos)
[/autoit] [autoit][/autoit] [autoit]
If Not IsInt($sAkPos) Then Return SetError(1, 0, -1)
$_Fort = Int(($sAkPos / (TimerDiff($__SpeedCtrl_Timer) / 1000)))If $_Fort < $__SpeedCtrl_Speed Then ; Zu kleiner Speed
[/autoit] [autoit][/autoit] [autoit]
$__SpeedCtrl_SleepTime -= 5
ElseIf $_Fort > $__SpeedCtrl_Speed Then ; Zu großer Speed
$__SpeedCtrl_SleepTime += 5
EndIfSleep($__SpeedCtrl_SleepTime)
[/autoit] [autoit][/autoit] [autoit]If $__SpeedCtrl_SleepTime < 0 Then $__SpeedCtrl_SleepTime = 0
[/autoit] [autoit][/autoit] [autoit]
Return $_Fort
EndFunc ;==>_SpeedCtrl_RegulateFunc _SpeedCtrl_Clear()
[/autoit]
$__SpeedCtrl_Timer = 0
$__SpeedCtrl_SleepTime = 0
$__SpeedCtrl_Speed = 0
EndFunc ;==>_SpeedCtrl_Clear -
funktionieren tut es nur an manchen stellen ist es nicht mehr echtzeit
das ist doof
und es läuft dann wiederum nicht flüssig das ist kacke
-
DANKE SPRENGER120
er nimmt jetzt in echtzeit auf!!
PS: Danke auch den anderen.
-
ich brauch ein rat
und zwar alles funktioniert bis auf ein button der beenden button da passiert einfach nichts.
kann mir einer helfen danke
-
Nimm den GuiOnEvent modus
-
ich find den in der hilfe nicht
kann das einer erklären??
-
Hier ein kleines Bsp
[autoit]
[/autoit][autoit][/autoit][autoit]
Opt("GUIOnEventMode", 1)
Global $GUI_EVENT_CLOSE = -3GUICreate("")
[/autoit][autoit][/autoit][autoit][/autoit][autoit]
GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")
GUISetState()$btn = GUICtrlCreateButton("Test", 0, 0, 50, 100)
[/autoit][autoit][/autoit][autoit]
GUICtrlSetOnEvent($btn, "_ButtonFunktion")While Sleep(60)
[/autoit][autoit][/autoit][autoit]
WEndFunc _ButtonFunktion()
[/autoit][autoit][/autoit][autoit]
MsgBox(0, "", "Button gedrückt")
EndFunc ;==>_ButtonFunktionFunc _Exit()
[/autoit]
Exit
EndFunc ;==>_Exit -
ich hab ein kleines error
C:\Users\Patrik Finger\Desktop\Crocoframe1.1.au3(13,29) : ERROR: $GUI_EVENT_CLOSE previously declared as a 'Const'
Global $GUI_EVENT_CLOSE = -3EDIT\\ Muss ich noch was dran hängen??
-
EDIT\\ Muss ich noch was dran hängen??
nein den Code so nehmen wie er istaber wenne willst gehts auch so
Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
#include <GUIConstantsEx.au3>
Opt("GUIOnEventMode", 1)GUICreate("")
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")
GUISetState()$btn = GUICtrlCreateButton("Test", 0, 0, 50, 100)
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetOnEvent($btn, "_ButtonFunktion")While Sleep(60)
[/autoit] [autoit][/autoit] [autoit]
WEndFunc _ButtonFunktion()
[/autoit] [autoit][/autoit] [autoit]
MsgBox(0, "", "Button gedrückt")
EndFunc ;==>_ButtonFunktionFunc _Exit()
[/autoit]
Exit
EndFunc ;==>_Exit -
hää
ich hab das jetzt eingebaut und jetzt funktioniert kein button mehr??
-
Hast du den Code anderwaltig verändert ? Ich bau dir den OnEvent Code ein. Wenner verändert wurde dann hängn mal bitte an
-
ich hab nur anstatt
case $button3
GuictrlsetonEvent ($button3, "_close")
eingesetzt
-
nein wenn du im On Event mode bist dann greigft GuiGetMsg nicht mehr du verknüpfst praktisch einen Control mit einer Funktion. Wie mann in meinem Beistpiel sieht.
-
aso
das konnte ich nicht wissen
wie soll ich das dann machen??
-
[autoit]
[/autoit][autoit][/autoit][autoit][/autoit][autoit]
#include <GUIConstantsEx.au3>
Opt("GUIOnEventMode", 1) ;Aktiviert den OnEvent ModeGUICreate("") ; Erstellt eine GUI
[/autoit][autoit][/autoit][autoit][/autoit][autoit]
GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit") ;Verknüpft den X Button oben am Fenster mit der Funktion _Exit
GUISetState(); Zeigt das GUI an$btn = GUICtrlCreateButton("Test", 0, 0, 50, 100) ;Erstellt einen Button
[/autoit][autoit][/autoit][autoit]
GUICtrlSetOnEvent($btn, "_ButtonFunktion") ; VErknüpft den Button TEst mit der Funktion _ButtonFunktion...Die Funktion wird nach einem
;Klick auf den Button ausgelöstWhile Sleep(60)
[/autoit][autoit][/autoit][autoit]
WEndFunc _ButtonFunktion()
[/autoit][autoit][/autoit][autoit]
MsgBox(0, "", "Button gedrückt")
EndFunc ;==>_ButtonFunktionFunc _Exit()
[/autoit]
Exit
EndFunc ;==>_Exit -
Is doch eh in der Hilfe genau beschrieben...
du findest ihn unter "Gui OnEvent Mode"! -> Lesen dann fragen stellen^^ -
ich hab in der hilfe gekuckt und ich hatte es oben auch schon einmal erwähnt
lesen dann antworten
ich kenn dein beispiel das heißt also ich muss alles dann nochmal mit GuiSetOneEvent machen??
-