1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. autoBert

Beiträge von autoBert

  • Programme auf Buttons binden?!

    • autoBert
    • 22. Juli 2010 um 15:48

    Hallo Screeny,

    herzlich willkommen im Forum und viel Spass mit AutoIt. Schau dir meinen Autostarter (kleiner Programmstarter) (Link in meiner Signatur).
    Hier kannst du dir die Hilfe herunterladen.
    Hier gibt es ein AutoIt-Tutorial: http://wiki.autoit.de/wiki/index.php/TutorialSehr hilfreich ist auch das Buch von peethebee
    Autoit-Anfänger Guide / Wie poste ich richtig?
    Dein Skriptcode ist schlecht formatiert, Zeilenumbrüche fehlen.

    Zitat von Screeny

    a danke das habe ich gesucht

    schön, dann ist dein Problem ja gelöst, schön wäre es allerdings auch wenn du den Thread auf gelöst setzt. Einfach 1. Beitrag bearbeiten, Präfix (nähe Überschrift) ändern und speichern (absenden)

    mfg (Auto)Bert

  • Tastatur "fangen"

    • autoBert
    • 21. Juli 2010 um 22:36

    Du kannst do mit WinActive prüfen ob deine Gui aktiv ist, wenn nicht führst du die send Befhele nicht aus,

    mfg (Auto)Bert

  • ListView - Aktion bei Auswahl bestimmter ListViewItems

    • autoBert
    • 21. Juli 2010 um 21:58
    Zitat von Inferior

    doppelklick wäre eine gute möglichkeit hab dazu auch schon etwas gefunden aber bin noch am probieren..


    Hier eine Version mit Doppelklick und nur das 1. Array in der Listview:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    #include <WindowsConstants.au3>
    #include <GuiListView.au3>

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

    Global $buchstaben[5]
    $buchstaben[0] = "a"
    $buchstaben[1] = "b"
    $buchstaben[2] = "c"
    $buchstaben[3] = "d"
    $buchstaben[4] = "e"
    Global $zahlen[5]
    $zahlen[0] = "1"
    $zahlen[1] = "2"
    $zahlen[2] = "3"
    $zahlen[3] = "4"
    $zahlen[4] = "5"

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

    $msg = GUICreate("test", 200, 500)
    $list = GUICtrlCreateListView("Buchstaben|Zahlen", 10, 20, 180, 460)

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

    For $y = 0 To UBound($buchstaben) - 1
    GUICtrlCreateListViewItem($buchstaben[$y], $list)
    Next
    _GUICtrlListView_SetColumnWidth($list, 1, 0)
    GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY") ;<=========================================== Bemachrichtigung Doppelklick

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

    GUISetState(@SW_SHOW)

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

    While 1
    $msg = GUIGetMsg()
    Switch $msg
    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch
    WEnd

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

    Func WM_NOTIFY($hWnd, $MsgID, $wParam, $lParam)
    Local $tagNMHDR, $event, $hwndFrom, $code
    $tagNMHDR = DllStructCreate("int;int;int", $lParam)
    If @error Then Return 0
    $code = DllStructGetData($tagNMHDR, 3)
    If $wParam = $list Then
    ConsoleWrite($code & @CRLF)
    Switch $code
    ;case -2 ;Klick
    Case -3 ;Doppelklick
    If _GUICtrlListView_GetSelectedCount($list) > 0 Then
    For $i = 0 To _GUICtrlListView_GetItemCount($list)
    If _GUICtrlListView_GetItemSelected($list, $i) Then
    $aItem = _GUICtrlListView_GetItemTextArray($list, $i)
    MsgBox(0, "Doppel-Klick auf ", $aItem[1] & @CRLF & $zahlen[$i])
    EndIf
    Next
    EndIf
    EndSwitch
    EndIf
    Return $GUI_RUNDEFMSG
    EndFunc ;==>WM_NOTIFY

    [/autoit]

    mfg (Auto)Bert

  • ListView - Aktion bei Auswahl bestimmter ListViewItems

    • autoBert
    • 21. Juli 2010 um 15:36

    Hallo inferior,

    hier eine Variante mit Doppelklick, das 2. Array habe ich gleich in die LV mit aufgenomen:

    Spoiler anzeigen
    [autoit]

    [autoit]#include <GUIConstants.au3>
    #include <WindowsConstants.au3>
    #include <GuiListView.au3>

    [/autoit]

    [/autoit]

    [autoit]

    [autoit]

    [/autoit]

    [/autoit]

    [autoit]

    [autoit]Global $buchstaben[5]
    $buchstaben[0] = "a"
    $buchstaben[1] = "b"
    $buchstaben[2] = "c"
    $buchstaben[3] = "d"
    $buchstaben[4] = "e"
    Global $zahlen[5]
    $zahlen[0] = "1"
    $zahlen[1] = "2"
    $zahlen[2] = "3"
    $zahlen[3] = "4"
    $zahlen[4] = "5"

    [/autoit]

    [/autoit]

    [autoit]

    [autoit]

    [/autoit]

    [/autoit]

    [autoit]

    [autoit]$msg = GUICreate("test", 200, 500)
    $list = GUICtrlCreateListView("Buchstaben|Zahlen", 10, 20, 180, 460)

    [/autoit]

    [/autoit]

    [autoit]

    [autoit]

    [/autoit]

    [/autoit]

    [autoit]

    [autoit]For $y = 0 To UBound($buchstaben) - 1
    GUICtrlCreateListViewItem($buchstaben[$y] & "|" & $zahlen[$y], $list)
    Next
    _GUICtrlListView_SetColumnWidth($list, 1, 0) ;Spalte Zahlen verstecken
    GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY") ;<=========================================== Bemachrichtigung Doppelklick

    [/autoit]

    [/autoit]

    [autoit]

    [autoit]

    [/autoit]

    [/autoit]

    [autoit]

    [autoit]GUISetState(@SW_SHOW)

    [/autoit]

    [/autoit]

    [autoit]

    [autoit]

    [/autoit]

    [/autoit]

    [autoit]

    [autoit]While 1
    $msg = GUIGetMsg()
    Switch $msg
    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch
    WEnd

    [/autoit]

    [/autoit]

    [autoit]

    [autoit]

    [/autoit]

    [/autoit]

    [autoit]

    [autoit]Func WM_NOTIFY($hWnd, $MsgID, $wParam, $lParam)
    Local $tagNMHDR, $event, $hwndFrom, $code
    $tagNMHDR = DllStructCreate("int;int;int", $lParam)
    If @error Then Return 0
    $code = DllStructGetData($tagNMHDR, 3)
    If $wParam = $list Then
    ConsoleWrite($code & @CRLF)
    Switch $code
    ;case -2 ;Klick
    Case -3 ;Doppelklick
    If _GUICtrlListView_GetSelectedCount($list) > 0 Then
    For $i = 0 To _GUICtrlListView_GetItemCount($list)
    If _GUICtrlListView_GetItemSelected($list, $i) Then
    $aItem = _GUICtrlListView_GetItemTextArray($list, $i)
    MsgBox(0, "Doppel-Klick auf ", $aItem[1] & @CRLF & @CRLF & $aItem[2])
    EndIf
    Next
    EndIf
    EndSwitch
    EndIf
    Return $GUI_RUNDEFMSG
    EndFunc ;==>WM_NOTIFY

    [/autoit]

    [/autoit]

    mfg (Auto)Bert

  • Filecreate in ein Verzeichnis der Makros beinhaltet

    • autoBert
    • 20. Juli 2010 um 13:18

    Hallo Merto,

    das du bei jedem Programmstart einen Ordner erstellst istr unnötig, da ja jedesmal nur der ScreenShot und eine einzeilige log-Datei darin stehen.
    Am besten kamm man dir helfen, wenn du postest, was du am Ende erreichen willst und was bis jetzt funktioniert (bitte kompletten Code dazu posten). Dann kann man sich Gedanken über den besten Weg dorthin machen.

    mfg (Auto)Bert

  • Musikplayer

    • autoBert
    • 20. Juli 2010 um 00:28

    Hallo CF,

    Zitat von [CF[*Gaming*]

    Edit: doch nich er Springt nicht auf öffnen um:
    Du hattest da eh noch Play stehen :D
    Also ich hab umgeändert in Öffnen und es geht nihc

    ich habe mich an diesem Post orientiert:

    Zitat von [CF[*Gaming*]

    Okay Ich hab das ganze jetzt mit _Soundpos und lenght gemacht :


    AutoIt-QuellcodeCode kopieren

    [autoit]

    While 1
    If _SoundPos($aSnd_id) = _SoundLength($aSnd_id) Then
    GUICtrlSetData($idBtnOpenPlayPause, "&Play")
    EndIf
    $nMsg = GUIGetMsg()

    [/autoit]


    Also is nur der erste ausschnit, aber jetzt blinkt das am Anfang auch Weil die Zwei dann ja auch gleich sind also Is es eig Unnütze oder?

    Alles anzeigen


    Wenn ich Zeile 81 so ändere:

    [autoit]

    if _SoundPos($aSnd_id, 2) = _SoundLength($aSnd_id, 2) and $iPos >0 Then GUICtrlSetData($idBtnOpenPlayPause, "&Öffnen")

    [/autoit]

    klappt es bei mir,

    mfg (Auto)Bert

  • Musikplayer

    • autoBert
    • 19. Juli 2010 um 23:20

    Hallo CF,

    mach es so und das Blinken hat ein Ende:

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <ProgressConstants.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <Sound.au3>
    #include <Guislider.au3>

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

    Global $aSnd_id, $iLength, $bSlider = True
    #region ### START Koda GUI section ### Form=
    $Form1_1 = GUICreate("Musikplayer by [CF[*Gaming]", 501, 154, 192, 124)
    $idBtnOpenPlayPause = GUICtrlCreateButton("&Öffnen", 8, 112, 113, 33, BitOR($BS_ICON, $WS_GROUP))
    GUICtrlSetFont(-1, 18, 400, 0, "X-Files")
    $idBtnStop = GUICtrlCreateButton("&STOP", 128, 112, 113, 33, $WS_GROUP)
    GUICtrlSetFont(-1, 18, 400, 0, "X-Files")
    ;$Button3 = GUICtrlCreateButton("Pause", 250, 112, 113, 33, $WS_GROUP);
    ;GUICtrlSetFont(-1, 18, 400, 0, "X-Files")
    $idSldrPos = GUICtrlCreateSlider(8, 16, 481, 25, $TBS_TOOLTIPS)
    GUICtrlSetLimit($idSldrPos,100, 1)
    $Label1 = GUICtrlCreateLabel("00:00", 88, 56, 100, 36)
    GUICtrlSetFont(-1, 20, 400, 0, "Arial")
    $Label2 = GUICtrlCreateLabel("00:00", 320, 56, 100, 36)
    GUICtrlSetFont(-1, 20, 400, 0, "Arial")
    $Label3 = GUICtrlCreateLabel("/", 248, 56, 12, 36)
    GUICtrlSetFont(-1, 20, 400, 0, "Arial")
    GUISetState(@SW_SHOW)
    #endregion ### END Koda GUI section ###

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

    AdlibRegister("_GetPos", 1000)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $idBtnOpenPlayPause
    $sBtnText = GUICtrlRead($idBtnOpenPlayPause)
    Switch $sBtnText
    Case "&Öffnen"
    $sFile = FileOpenDialog("Musikplayer by [CF[*Gaming]", "E:\Music", "Musik (*.mp3)", 1);Öffnet eine .mp3-Datei
    ;~ WinSetTitle( "Musikplayer by [CF[*Gaming]", "", "Musikplayer by [CF[*Gaming]\" & $sFile)
    $aSnd_id = _SoundOpen($sFile);Öffnet eine die .mp3 aus $File
    GUICtrlSetData($Label2, _SoundLength($aSnd_id));Gibt die Länge des Liedes zurück
    $iLength = _SoundLength($aSnd_id, 2) / 1000
    GUICtrlSetLimit($idSldrPos,$iLength, 1)
    _SoundPlay($aSnd_id);Startet das Lied
    GUICtrlSetData($idBtnOpenPlayPause, "&Pause")
    Case "&Play"
    _SoundResume($aSnd_id)
    GUICtrlSetData($idBtnOpenPlayPause, "&Pause")
    Case "&Pause"
    _SoundPause($aSnd_id)
    GUICtrlSetData($idBtnOpenPlayPause, "&Play")
    EndSwitch
    Case $GUI_EVENT_PRIMARYDOWN
    $bSlider = False
    Case $GUI_EVENT_PRIMARYUP
    $bSlider = True
    Case $idSldrPos
    $bSlider =False
    $iSS = GUICtrlRead($idSldrPos)
    consolewrite("Neue Pos in Seknden:" & $iSS & @CRLF)
    Local $iHH = Int($iSS / 3600)
    $iSS = Mod($iSS, 3600)
    Local $iMM = Int($iSS / 60)
    $iSS = Mod($iSS, 60)
    consolewrite($iHH & ":" & $iMM & ":" & $iSS & @CRLF)
    _SoundSeek($aSnd_id, $iHH, $iMM, $iSS)
    _SoundPlay($aSnd_id)
    $bSlider =True
    Case $idBtnStop
    _SoundStop($aSnd_id);Stopp das Lied
    GUICtrlSetData($idBtnOpenPlayPause, "&Öffnen")
    EndSwitch
    WEnd

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

    Func _GetPos()
    $iPos = _SoundPos($aSnd_id, 2) / 1000
    GUICtrlSetData($Label1, _SoundPos($aSnd_id));Zeigt die wie weite das Lied schon ist
    if $bSlider Then GUICtrlSetData($idSldrPos, $iPos)
    if _SoundPos($aSnd_id, 2) = _SoundLength($aSnd_id, 2) and $iPos >0 Then GUICtrlSetData($idBtnOpenPlayPause, "&Play")
    EndFunc ;==>_GetPos

    [/autoit]

    mfg (Auto)Bert

  • Musikplayer

    • autoBert
    • 19. Juli 2010 um 22:48

    Hallo CF,

    ich habe das Skript nochmal überarbeitet, der Slider lässt sich jetzt besser bedienen:

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <ProgressConstants.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <Sound.au3>
    #include <Guislider.au3>

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

    Global $aSnd_id, $iLength, $bSlider = True
    #region ### START Koda GUI section ### Form=
    $Form1_1 = GUICreate("Musikplayer by [CF[*Gaming]", 501, 154, 192, 124)
    $idBtnOpenPlayPause = GUICtrlCreateButton("&Öffnen", 8, 112, 113, 33, BitOR($BS_ICON, $WS_GROUP))
    GUICtrlSetFont(-1, 18, 400, 0, "X-Files")
    $idBtnStop = GUICtrlCreateButton("&STOP", 128, 112, 113, 33, $WS_GROUP)
    GUICtrlSetFont(-1, 18, 400, 0, "X-Files")
    ;$Button3 = GUICtrlCreateButton("Pause", 250, 112, 113, 33, $WS_GROUP);
    ;GUICtrlSetFont(-1, 18, 400, 0, "X-Files")
    $idSldrPos = GUICtrlCreateSlider(8, 16, 481, 25, $TBS_TOOLTIPS)
    GUICtrlSetLimit($idSldrPos,100, 1)
    $Label1 = GUICtrlCreateLabel("00:00", 88, 56, 100, 36)
    GUICtrlSetFont(-1, 20, 400, 0, "Arial")
    $Label2 = GUICtrlCreateLabel("00:00", 320, 56, 100, 36)
    GUICtrlSetFont(-1, 20, 400, 0, "Arial")
    $Label3 = GUICtrlCreateLabel("/", 248, 56, 12, 36)
    GUICtrlSetFont(-1, 20, 400, 0, "Arial")
    GUISetState(@SW_SHOW)
    #endregion ### END Koda GUI section ###

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

    AdlibRegister("_GetPos", 1000)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $idBtnOpenPlayPause
    $sBtnText = GUICtrlRead($idBtnOpenPlayPause)
    Switch $sBtnText
    Case "&Öffnen"
    $sFile = FileOpenDialog("Musikplayer by [CF[*Gaming]", "E:\Music", "Musik (*.mp3)", 1);Öffnet eine .mp3-Datei
    ;~ WinSetTitle( "Musikplayer by [CF[*Gaming]", "", "Musikplayer by [CF[*Gaming]\" & $sFile)
    $aSnd_id = _SoundOpen($sFile);Öffnet eine die .mp3 aus $File
    GUICtrlSetData($Label2, _SoundLength($aSnd_id));Gibt die Länge des Liedes zurück
    $iLength = _SoundLength($aSnd_id, 2) / 1000
    GUICtrlSetLimit($idSldrPos,$iLength, 1)
    _SoundPlay($aSnd_id);Startet das Lied
    GUICtrlSetData($idBtnOpenPlayPause, "&Pause")
    Case "&Play"
    _SoundResume($aSnd_id)
    GUICtrlSetData($idBtnOpenPlayPause, "&Pause")
    Case "&Pause"
    _SoundPause($aSnd_id)
    GUICtrlSetData($idBtnOpenPlayPause, "&Play")
    EndSwitch
    Case $GUI_EVENT_PRIMARYDOWN
    $bSlider = False
    Case $GUI_EVENT_PRIMARYUP
    $bSlider = True
    Case $idSldrPos
    $bSlider =False
    $iSS = GUICtrlRead($idSldrPos)
    consolewrite("Neue Pos in Seknden:" & $iSS & @CRLF)
    Local $iHH = Int($iSS / 3600)
    $iSS = Mod($iSS, 3600)
    Local $iMM = Int($iSS / 60)
    $iSS = Mod($iSS, 60)
    consolewrite($iHH & ":" & $iMM & ":" & $iSS & @CRLF)
    _SoundSeek($aSnd_id, $iHH, $iMM, $iSS)
    _SoundPlay($aSnd_id)
    $bSlider =True
    Case $idBtnStop
    _SoundStop($aSnd_id);Stopp das Lied
    GUICtrlSetData($idBtnOpenPlayPause, "&Öffnen")
    EndSwitch
    WEnd

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

    Func _GetPos()
    $iPos = _SoundPos($aSnd_id, 2) / 1000
    GUICtrlSetData($Label1, _SoundPos($aSnd_id));Zeigt die wie weite das Lied schon ist
    if $bSlider Then GUICtrlSetData($idSldrPos, $iPos)
    EndFunc ;==>_GetPos

    [/autoit]

    zusätzlich wird die Zeit in Sekunden beim Ziehen des Sliders angezeigt,

    mfg (Auto)Bert

  • Musikplayer

    • autoBert
    • 19. Juli 2010 um 22:26

    Hallo CF

    das Problem liegt nicht am SLider: Heir eine Lösung die halbwegs funktioniert:

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <ProgressConstants.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <Sound.au3>
    #include <Guislider.au3>

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

    Global $aSnd_id, $iLength, $bSlider = True
    #region ### START Koda GUI section ### Form=
    $Form1_1 = GUICreate("Musikplayer by [CF[*Gaming]", 501, 154, 192, 124)
    $idBtnOpenPlayPause = GUICtrlCreateButton("&Öffnen", 8, 112, 113, 33, BitOR($BS_ICON, $WS_GROUP))
    GUICtrlSetFont(-1, 18, 400, 0, "X-Files")
    $idBtnStop = GUICtrlCreateButton("&STOP", 128, 112, 113, 33, $WS_GROUP)
    GUICtrlSetFont(-1, 18, 400, 0, "X-Files")
    ;$Button3 = GUICtrlCreateButton("Pause", 250, 112, 113, 33, $WS_GROUP);
    ;GUICtrlSetFont(-1, 18, 400, 0, "X-Files")
    $idSldrPos = GUICtrlCreateSlider(8, 16, 481, 25);, BitOR($GUI_SS_DEFAULT_SLIDER, $SS_NOTIFY, $TBS_Bottom, $TBS_ENABLESELRANGE, $TBS_TOOLTIPS, $TBS_AUTOTICKS))
    GUICtrlSetLimit(100, 1)
    $Label1 = GUICtrlCreateLabel("00:00", 88, 56, 100, 36)
    GUICtrlSetFont(-1, 20, 400, 0, "Arial")
    $Label2 = GUICtrlCreateLabel("00:00", 320, 56, 100, 36)
    GUICtrlSetFont(-1, 20, 400, 0, "Arial")
    $Label3 = GUICtrlCreateLabel("/", 248, 56, 12, 36)
    GUICtrlSetFont(-1, 20, 400, 0, "Arial")
    GUISetState(@SW_SHOW)
    #endregion ### END Koda GUI section ###

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

    AdlibRegister("_GetPos", 1000)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $idBtnOpenPlayPause
    $sBtnText = GUICtrlRead($idBtnOpenPlayPause)
    Switch $sBtnText
    Case "&Öffnen"
    $sFile = FileOpenDialog("Musikplayer by [CF[*Gaming]", "E:\Music", "Musik (*.mp3)", 1);Öffnet eine .mp3-Datei
    ;~ WinSetTitle( "Musikplayer by [CF[*Gaming]", "", "Musikplayer by [CF[*Gaming]\" & $sFile)
    $aSnd_id = _SoundOpen($sFile);Öffnet eine die .mp3 aus $File
    GUICtrlSetData($Label2, _SoundLength($aSnd_id));Gibt die Länge des Liedes zurück
    _SoundPlay($aSnd_id);Startet das Lied
    GUICtrlSetData($idBtnOpenPlayPause, "&Pause")
    Case "&Play"
    _SoundResume($aSnd_id)
    GUICtrlSetData($idBtnOpenPlayPause, "&Pause")
    Case "&Pause"
    _SoundPause($aSnd_id)
    GUICtrlSetData($idBtnOpenPlayPause, "&Play")
    EndSwitch
    Case $idSldrPos
    $bSlider =False
    $iSS = Round($iLength / 100 * GUICtrlRead($idSldrPos),0)
    consolewrite("Neue Pos in Seknden:" & $iSS & @CRLF)
    Local $iHH = Int($iSS / 3600)
    $iSS = Mod($iSS, 3600)
    Local $iMM = Int($iSS / 60)
    $iSS = Mod($iSS, 60)
    consolewrite($iHH & ":" & $iMM & ":" & $iSS & @CRLF)
    _SoundStop($aSnd_id)
    _SoundSeek($aSnd_id, $iHH, $iMM, $iSS)
    _SoundPlay($aSnd_id)
    $bSlider =True
    Case $idBtnStop
    _SoundStop($aSnd_id);Stopp das Lied
    GUICtrlSetData($idBtnOpenPlayPause, "&Öffnen")
    EndSwitch
    WEnd

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

    Func _GetPos()
    $iPos = _SoundPos($aSnd_id, 2) / 1000
    $iLength = _SoundLength($aSnd_id, 2) / 1000
    $iPer = $iPos / $iLength * 100
    GUICtrlSetData($Label1, _SoundPos($aSnd_id));Zeigt die wie weite das Lied schon ist
    if $bSlider Then GUICtrlSetData($idSldrPos, $iPer)
    EndFunc ;==>_GetPos

    [/autoit]

    mfg (Auto)Bert

  • Musikplayer

    • autoBert
    • 19. Juli 2010 um 21:37

    Hallo CF,

    hier eine Lösung, die mit 2 Buttons auskommt: [spoiler]

    [autoit]

    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <ProgressConstants.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <Sound.au3>
    #include <Guislider.au3>

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

    Global $aSnd_id, $iLength, $bSlider = True
    #region ### START Koda GUI section ### Form=
    $Form1_1 = GUICreate("Musikplayer by [CF[*Gaming]", 501, 154, 192, 124)
    $idBtnOpenPlayPause = GUICtrlCreateButton("&Öffnen", 8, 112, 113, 33, BitOR($BS_ICON, $WS_GROUP))
    GUICtrlSetFont(-1, 18, 400, 0, "X-Files")
    $idBtnStop = GUICtrlCreateButton("&STOP", 128, 112, 113, 33, $WS_GROUP)
    GUICtrlSetFont(-1, 18, 400, 0, "X-Files")
    ;$Button3 = GUICtrlCreateButton("Pause", 250, 112, 113, 33, $WS_GROUP);
    ;GUICtrlSetFont(-1, 18, 400, 0, "X-Files")
    $idSldrPos = GUICtrlCreateSlider(8, 16, 481, 25);, BitOR($GUI_SS_DEFAULT_SLIDER, $SS_NOTIFY, $TBS_Bottom, $TBS_ENABLESELRANGE, $TBS_TOOLTIPS, $TBS_AUTOTICKS))
    GUICtrlSetLimit(100, 1)
    $Label1 = GUICtrlCreateLabel("00:00", 88, 56, 100, 36)
    GUICtrlSetFont(-1, 20, 400, 0, "Arial")
    $Label2 = GUICtrlCreateLabel("00:00", 320, 56, 100, 36)
    GUICtrlSetFont(-1, 20, 400, 0, "Arial")
    $Label3 = GUICtrlCreateLabel("/", 248, 56, 12, 36)
    GUICtrlSetFont(-1, 20, 400, 0, "Arial")
    GUISetState(@SW_SHOW)
    #endregion ### END Koda GUI section ###

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

    AdlibRegister("_GetPos", 1000)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $idBtnOpenPlayPause
    $sBtnText = GUICtrlRead($idBtnOpenPlayPause)
    Switch $sBtnText
    Case "&Öffnen"
    $sFile = FileOpenDialog("Musikplayer by [CF[*Gaming]", "E:\Music", "Musik (*.mp3)", 1);Öffnet eine .mp3-Datei
    ;~ WinSetTitle( "Musikplayer by [CF[*Gaming]", "", "Musikplayer by [CF[*Gaming]\" & $sFile)
    $aSnd_id = _SoundOpen($sFile);Öffnet eine die .mp3 aus $File
    GUICtrlSetData($Label2, _SoundLength($aSnd_id));Gibt die Länge des Liedes zurück
    _SoundPlay($aSnd_id);Startet das Lied
    GUICtrlSetData($idBtnOpenPlayPause, "&Pause")
    Case "&Play"
    _SoundResume($aSnd_id)
    GUICtrlSetData($idBtnOpenPlayPause, "&Pause")
    Case "&Pause"
    _SoundPause($aSnd_id)
    GUICtrlSetData($idBtnOpenPlayPause, "&Play")
    EndSwitch
    Case $idSldrPos
    $bSlider =False
    $iSS = Round($iLength / 100 * GUICtrlRead($idSldrPos),0)
    consolewrite("Neue Pos in Seknden:" & $iSS & @CRLF)
    Local $iHH = Int($iSS / 3600)
    $iSS = Mod($iSS, 3600)
    Local $iMM = Int($iSS / 60)
    $iSS = Mod($iSS, 60)
    consolewrite($iHH & ":" & $iMM & ":" & $iSS & @CRLF)
    _SoundStop($aSnd_id)
    _SoundSeek($aSnd_id, $iHH, $iMM, $iSS)
    _SoundPlay($aSnd_id)
    $bSlider =True
    Case $idBtnStop
    _SoundStop($aSnd_id);Stopp das Lied
    GUICtrlSetData($idBtnOpenPlayPause, "&Öffnen")
    EndSwitch
    WEnd

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

    Func _GetPos()
    $iPos = _SoundPos($aSnd_id, 2) / 1000
    $iLength = _SoundLength($aSnd_id, 2) / 1000
    $iPer = $iPos / $iLength * 100
    GUICtrlSetData($Label1, _SoundPos($aSnd_id));Zeigt die wie weite das Lied schon ist
    if $bSlider Then GUICtrlSetData($idSldrPos, $iPer)
    EndFunc ;==>_GetPos

    [/autoit]

    [spoiler]

    am Position setzen anhand des Sliders scheitere ich derzeit noch. Viel Spass damit

    Edit: Skript ausgetauscht, der Slider funktioniert jetzt halbwegs

    mfg (Auto)Bert

  • Debughilfe gesucht: Subscript used with non-Array variable

    • autoBert
    • 19. Juli 2010 um 17:19

    Hallo d3ll_s0ul,

    hier dein Original-Skript überarbeitet:

    Spoiler anzeigen
    [autoit]

    #include <File.au3>
    #include <array.au3>

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

    $sLog = @ScriptDir & "\test.txt"

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

    If FileExists($sLog) Then FileDelete($sLog)

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

    _ScanForDirs("C:\Programme\AutoIt3")

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

    Func _ScanForFiles($SourceFolder)
    Dim $FileList[1000]
    Dim $i

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

    $FileList = _FileListToArray($SourceFolder, "*", 1)
    If @error = 4 Then _ScanForDirs($SourceFolder)
    If IsArray($FileList) Then
    For $i = 1 To $FileList[0] - 1
    _Log($SourceFolder & "\" & $FileList[$i], 1)
    Next
    EndIf
    EndFunc ;==>_ScanForFiles

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

    Func _ScanForDirs($SourceFolder)
    ;ConsoleWrite($SourceFolder & @CRLF)
    $FolderList = _FileListToArray($SourceFolder, "*.*");, 2)
    If IsArray($FolderList) Then
    ;_ArrayDisplay($FolderList)
    For $i = 1 To $FolderList[0] - 1
    $DirSize = DirGetSize($SourceFolder & "\" & $FolderList[$i], 1)
    If IsArray($DirSize) Then
    ;_ArrayDisplay($DirSize)
    If $DirSize[0] = 0 Then
    _Log($SourceFolder & "\" & $FolderList[$i], 0)
    Else
    If $DirSize[1] > 0 Then _ScanForFiles($SourceFolder & "\" & $FolderList[$i])
    If $DirSize[2] > 0 Then
    _Log($SourceFolder & "\" & $FolderList[$i], 1)
    _ScanForDirs($SourceFolder & "\" & $FolderList[$i])
    EndIf
    EndIf
    EndIf
    Next
    EndIf
    EndFunc ;==>_ScanForDirs

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

    Func _Log($expr, $mode)
    Switch $mode
    Case 1
    FileWriteLine($sLog, $expr)
    Case 0
    FileWriteLine($sLog, $expr & " is empty!")
    EndSwitch
    EndFunc ;==>_Log

    [/autoit]

    läuft relativ zügig.

    mfg (Auto)Bert

  • Erkennen von automatisieren Webseiten-Zugriffen

    • autoBert
    • 19. Juli 2010 um 16:14
    Zitat von lalas

    Wenn also ein Entwickler einen bug in Projekt A fixt und das dauert 1 Stunde, so muss diese 1 Stunde dem Projekt zugeteilt werden können.
    Dies ist wichtig um öffentliche EU_Fördermittel zu beantragen.


    Gerade deshalb wäre doch ein automatisierter Login und die direkte Übertragung der Zeitdaten sinnvoll, oder verlangt die EU handschriftliche Stundenzettel mit Unterschrift?
    Es sollte dann aber ein einheitliches Programm für alle Mitarbeiter sein.

    mfg (Auto)Bert

  • Debughilfe gesucht: Subscript used with non-Array variable

    • autoBert
    • 19. Juli 2010 um 16:06

    Setze ein

    [autoit]

    _ArrayDisplay($DirSize)

    [/autoit]

    nach

    [autoit]

    $DirSize = DirGetSize($FolderList[$i],1)

    [/autoit]

    ein und du solltest dem Übeltäter auf die Spur kommen,

    mfg (Auto)Bert

  • 2 Inputs und ein Enter

    • autoBert
    • 19. Juli 2010 um 00:05

    @mazZ

    ist doch bereits gelöst:

    Zitat von BurakSZ

    Edit:// es geht doch, ich hatte den standarttext drin deswegen. auf gelöst gesetzrt

    mfg (Auto)Bert

  • Möglichkeit CoboBox/ListView-Inhalte unterschiedliches Design zuweißen

    • autoBert
    • 18. Juli 2010 um 22:53

    Hallo inferior,

    du kannst ja alle Einräge in einer ListView führen und diese dann nach OFF-/ON sortieren. Hier ein Beispiel-Skript:

    Spoiler anzeigen
    [autoit]

    #include <GuiListView.au3>
    #include <GUIConstantsEx.au3>
    #include <ListviewConstants.au3>
    #include <array.au3>

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

    Dim $aNames[20][2]
    $aNames[0][0] = "Jürgen"
    $aNames[1][0] = "Peter"
    $aNames[2][0] = "Bert"
    $aNames[3][0] = "Christina"
    $aNames[4][0] = "Alex"
    $aNames[5][0] = "Roberta"
    $aNames[6][0] = "Roberto"
    $aNames[7][0] = "Heinz"
    $aNames[8][0] = "Iwan"
    $aNames[9][0] = "Kurt"
    $aNames[10][0] = "Hans"
    $aNames[11][0] = "Peter II."
    $aNames[12][0] = "Tina"
    $aNames[13][0] = "Michael"
    $aNames[14][0] = "Gunnar"
    $aNames[15][0] = "Kurt II."
    $aNames[16][0] = "Gerald"
    $aNames[17][0] = "Alfred"
    $aNames[18][0] = "Stefanie"
    $aNames[19][0] = "Nicole"
    Dim $aItems[20]

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

    $msg = GUICreate("", 200, 400)
    $listview = GUICtrlCreateListView("Name|Status", 10, 10, 180, 350)
    For $i = 0 To 19
    $aItems[$i] = GUICtrlCreateListViewItem($aNames[$i][0] & "|Offline", $listview)
    Next
    _GUICtrlListView_SetColumnWidth($listview,0,140)
    _GUICtrlListView_SetColumnWidth($listview,1,40) ;0 = unsichtbar
    _GUICtrlListView_RegisterSortCallBack($listview)

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

    AdlibRegister("_RandomOnOff")

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

    GUISetState(@SW_SHOW)

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

    ;GUICtrlSetColor(-1, 0x22C21F)
    ;GUICtrlSetColor(-1, 0xAA0000)

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

    While 1
    $msg = GUIGetMsg()
    Switch $msg
    Case $GUI_EVENT_CLOSE
    _GUICtrlListView_UnRegisterSortCallBack($ListView)
    Exit
    EndSwitch
    WEnd

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

    Func _RandomOnOff()
    _GUICtrlListView_BeginUpdate($ListView)
    For $i = 0 To 19
    $iItem = _GUICtrlListView_FindText ($listview,$aNames[$i][0],-1,False,True)
    If Random(1, 3, 1) = 1 Then
    $aNames[$i][1]="Off"
    Else
    $aNames[$i][1]="On"
    EndIf
    Next
    For $i = 0 To 19
    $iItem = _GUICtrlListView_FindText ($listview,$aNames[$i][0],-1,False,True)
    If $aNames [$i][1] = "Off" Then
    GUICtrlSetData($aItems[$iItem],"|Off")
    GUICtrlSetBkColor($aItems[$iItem], 0xAA0000)
    Else
    GUICtrlSetData($aItems[$iItem],"|On")
    GUICtrlSetBkColor($aItems[$iItem], 0x22C21F)
    EndIf
    Next
    _GUICtrlListView_SortItems($listview, 0)
    _GUICtrlListView_SortItems($listview, 1)
    _GUICtrlListView_EndUpdate($ListView)
    AdlibRegister("_RandomOnOff",Random(5000,10000,1))
    EndFunc ;==>_RandomOnOff

    [/autoit]

    oder du machst die LVs nebeneinander

    Edit: Skript ausgetauscht

    mfg (Auto)Bert

  • Probleme beim aktivieren von Fenstern mittels Handles

    • autoBert
    • 18. Juli 2010 um 20:14

    Hallo Schwibsi,

    herzlich willkommen im Forum. Hier kannst du dir die Hilfe herunterladen.
    Scahu dir die Funktionssammlung OpenOffice Calc von Andy an. Auch FireFox kann man automatisieren, Links hierzu:

    • [Tut] FF.au3 – AutoIt-Funktionen im Browser
    • Wenn mal was nicht geht ... bitte zuerst hier nachschauen ...

    mfg (Auto)Bert

  • openFileDialog

    • autoBert
    • 18. Juli 2010 um 19:47

    Hallo TLVerm,

    hezlich willkommen im Forum. Hier kannst du dir die Hilfe in Deutsch herunterladen. Am besten arbeitest du dich von Anfang bis zur Funktionsreferenz durch.

    mfg (Auto)Bert

  • Möglichkeit CoboBox/ListView-Inhalte unterschiedliches Design zuweißen

    • autoBert
    • 18. Juli 2010 um 19:31

    Hallo inferior,

    auch da ist mir keine bekannt, dies kannst du aber durch Verwenden einer ListView umgehen- Da du dort ja eine ConrolID für das einfügte Item zurückbekommst kannst du jedes Item einzeln einfärben.

    mfg (Auto)Bert

  • Update: Freeseite und unrar.dll

    • autoBert
    • 18. Juli 2010 um 18:20
    Zitat von bbm1995

    was ist mit der 1. Frage? allgemein würde das hier gehören.

    nein die gehört in OFF-Topic

    Zitat von bbm1995

    und die 2. Frage ist nicht eine Komplettveränderung des Scripts.

    da du ja keine Hilfe sodern ein Skript willst ist das in Programmieranfragen besser aufgehoben.

    Ich schlage also vor du setzt den Thread auf gelöst und erstellst 2 neue in den richten Kategorien,

    mfg (Auto)Bert

  • Möglichkeit CoboBox/ListView-Inhalte unterschiedliches Design zuweißen

    • autoBert
    • 18. Juli 2010 um 18:13

    Hallo inferor,

    dazu ist mir keine Möglichkeit bekannt UEZ hat in Skripte _GUIImageList_AddBitmapEx vielleicht kannst du das ja dahingehend umbauen,

    mfg (Auto)Bert

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™