Arrays?? wie funktionieren sie??

  • klar


    Spoiler anzeigen
    [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>

    [/autoit] [autoit][/autoit] [autoit]

    Global $Capture

    [/autoit] [autoit][/autoit] [autoit]

    HotKeySet("^v", "_startvideo")
    HotKeySet("{ESC}", "_close")

    [/autoit] [autoit][/autoit] [autoit]

    ;_StartAviLibrary()
    ;$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 ###

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

    [/autoit] [autoit][/autoit] [autoit]

    Case $Button1
    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")

    [/autoit] [autoit][/autoit] [autoit]

    Case $Button3
    ConsoleWrite("STOP" & @CRLF)
    _close()
    Case $check

    [/autoit] [autoit][/autoit] [autoit]

    Case $check2

    [/autoit] [autoit][/autoit] [autoit]

    Case $item1
    _optionen()
    Case $item2
    _screen()

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    EndSwitch
    WEnd

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func _startvideo()
    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")
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _optionen()
    EndFunc
    Func _screen()
    EndFunc
    Func _close()
    _CloseAvi($avi)
    _StopAviLibrary()
    $Capture = False
    EndFunc

    [/autoit]
  • So eingebaut [ungetestet)

    //Edit Code angepasst:

    Spoiler anzeigen
    [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>

    [/autoit] [autoit][/autoit] [autoit]

    Global $__SpeedCtrl_Timer = 0
    Global $__SpeedCtrl_SleepTime = 0
    Global $__SpeedCtrl_Speed = 0

    [/autoit] [autoit][/autoit] [autoit]

    Global $Capture
    Global $FramesPerSecMax = 3
    Global $_Counter = 0

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    HotKeySet("^v", "_startvideo")
    HotKeySet("{ESC}", "_close")

    [/autoit] [autoit][/autoit] [autoit]

    ;_StartAviLibrary()
    ;$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 ###

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

    [/autoit] [autoit][/autoit] [autoit]

    Case $Button1
    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")

    [/autoit] [autoit][/autoit] [autoit]

    Case $Button3
    ConsoleWrite("STOP" & @CRLF)
    _close()
    Case $check

    [/autoit] [autoit][/autoit] [autoit]

    Case $check2

    [/autoit] [autoit][/autoit] [autoit]

    Case $item1
    _optionen()
    Case $item2
    _screen()

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    EndSwitch
    WEnd

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func _startvideo()
    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 ;==>_startvideo

    [/autoit] [autoit][/autoit] [autoit]

    Func _optionen()
    EndFunc ;==>_optionen
    Func _screen()
    EndFunc ;==>_screen
    Func _close()
    _CloseAvi($avi)
    _StopAviLibrary()
    $Capture = False
    EndFunc ;==>_close

    [/autoit] [autoit][/autoit] [autoit]

    Func _SpeedCtrl_Start($iSpeed)
    If $__SpeedCtrl_Timer <> 0 Then Return SetError(1, 0, -1)
    $__SpeedCtrl_Timer = TimerInit()
    $__SpeedCtrl_SleepTime = 0
    $__SpeedCtrl_Speed = $iSpeed
    EndFunc ;==>_SpeedCtrl_Start

    [/autoit] [autoit][/autoit] [autoit]

    Func _SpeedCtrl_Regulate($sAkPos)
    If Not IsInt($sAkPos) Then Return SetError(1, 0, -1)
    $_Fort = Int(($sAkPos / (TimerDiff($__SpeedCtrl_Timer) / 1000)))

    [/autoit] [autoit][/autoit] [autoit]

    If $_Fort < $__SpeedCtrl_Speed Then ; Zu kleiner Speed
    $__SpeedCtrl_SleepTime -= 5
    ElseIf $_Fort > $__SpeedCtrl_Speed Then ; Zu großer Speed
    $__SpeedCtrl_SleepTime += 5
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    Sleep($__SpeedCtrl_SleepTime)

    [/autoit] [autoit][/autoit] [autoit]

    If $__SpeedCtrl_SleepTime < 0 Then $__SpeedCtrl_SleepTime = 0
    Return $_Fort
    EndFunc ;==>_SpeedCtrl_Regulate

    [/autoit] [autoit][/autoit] [autoit]

    Func _SpeedCtrl_Clear()
    $__SpeedCtrl_Timer = 0
    $__SpeedCtrl_SleepTime = 0
    $__SpeedCtrl_Speed = 0
    EndFunc ;==>_SpeedCtrl_Clear

    [/autoit]
  • 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!!

    :D :thumbup: :party: :party: :party: :party:

    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

  • Hier ein kleines Bsp

    [autoit]


    Opt("GUIOnEventMode", 1)
    Global $GUI_EVENT_CLOSE = -3

    [/autoit][autoit][/autoit][autoit]

    GUICreate("")
    GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")
    GUISetState()

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    $btn = GUICtrlCreateButton("Test", 0, 0, 50, 100)
    GUICtrlSetOnEvent($btn, "_ButtonFunktion")

    [/autoit][autoit][/autoit][autoit]

    While Sleep(60)
    WEnd

    [/autoit][autoit][/autoit][autoit]

    Func _ButtonFunktion()
    MsgBox(0, "", "Button gedrückt")
    EndFunc ;==>_ButtonFunktion

    [/autoit][autoit][/autoit][autoit]

    Func _Exit()
    Exit
    EndFunc ;==>_Exit

    [/autoit]
  • 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 = -3


    EDIT\\ Muss ich noch was dran hängen??

    Einmal editiert, zuletzt von crocojunk (10. Juni 2010 um 15:07)

  • EDIT\\ Muss ich noch was dran hängen??


    nein den Code so nehmen wie er ist

    aber wenne willst gehts auch so

    Spoiler anzeigen
    [autoit]


    #include <GUIConstantsEx.au3>
    Opt("GUIOnEventMode", 1)

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    GUICreate("")
    GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")
    GUISetState()

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    $btn = GUICtrlCreateButton("Test", 0, 0, 50, 100)
    GUICtrlSetOnEvent($btn, "_ButtonFunktion")

    [/autoit] [autoit][/autoit] [autoit]

    While Sleep(60)
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func _ButtonFunktion()
    MsgBox(0, "", "Button gedrückt")
    EndFunc ;==>_ButtonFunktion

    [/autoit] [autoit][/autoit] [autoit]

    Func _Exit()
    Exit
    EndFunc ;==>_Exit

    [/autoit]
  • [autoit]


    #include <GUIConstantsEx.au3>
    Opt("GUIOnEventMode", 1) ;Aktiviert den OnEvent Mode

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    GUICreate("") ; Erstellt eine GUI
    GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit") ;Verknüpft den X Button oben am Fenster mit der Funktion _Exit
    GUISetState(); Zeigt das GUI an

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    $btn = GUICtrlCreateButton("Test", 0, 0, 50, 100) ;Erstellt einen Button
    GUICtrlSetOnEvent($btn, "_ButtonFunktion") ; VErknüpft den Button TEst mit der Funktion _ButtonFunktion...Die Funktion wird nach einem
    ;Klick auf den Button ausgelöst

    [/autoit][autoit][/autoit][autoit]

    While Sleep(60)
    WEnd

    [/autoit][autoit][/autoit][autoit]

    Func _ButtonFunktion()
    MsgBox(0, "", "Button gedrückt")
    EndFunc ;==>_ButtonFunktion

    [/autoit][autoit][/autoit][autoit]

    Func _Exit()
    Exit
    EndFunc ;==>_Exit

    [/autoit]
  • ich hab in der hilfe gekuckt und ich hatte es oben auch schon einmal erwähnt

    lesen dann antworten


    Sprenger120

    ich kenn dein beispiel das heißt also ich muss alles dann nochmal mit GuiSetOneEvent machen??