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. Skilkor

Beiträge von Skilkor

  • Wiedergabeliste Ersteller[Update18.03.2011]

    • Skilkor
    • 7. März 2011 um 15:26

    Update hizugefügt.
    Ich hoffe nun das die armen Win XP User nun keine Schwierigkeit mehr mit der *.wpl haben

    Skilkor

  • Neon Snake

    • Skilkor
    • 6. März 2011 um 16:09

    braucht aba ihrwie recht viel CPU oO
    40% 1 Core
    10% 2 Core
    hmm, und das bei nem 3,2GHz DualCore oO

  • Wiedergabeliste Ersteller[Update18.03.2011]

    • Skilkor
    • 6. März 2011 um 03:53

    so Änderungen Hinzugefügt.
    Hoffe für win Xp user funktioniert nun alles

  • Wiedergabeliste Ersteller[Update18.03.2011]

    • Skilkor
    • 4. März 2011 um 22:02

    Das is mir auch schon aufgefallen bei BadBunny, Bei mir funktioniert diese einwahnfrei...
    Ich dachte es könnte evt an der wmp version liegen.
    Könntest du eine wiedergabeliste mit deinem wmp erstellen und mir diese zusenden?
    Dan werd ich den Unterschied zimlich schnell haben

    Danke dir

  • Mp3 Spieldauer herausfinden

    • Skilkor
    • 4. März 2011 um 21:53

    Won allen mp3 oder nur von einem einzeln?
    ***edit***
    na da wahr ich wohl wieder zu Lahm ^^

  • Wiedergabeliste Ersteller[Update18.03.2011]

    • Skilkor
    • 4. März 2011 um 21:10

    @Sparky, Dein wunsch sei dir Erfüllt :P

  • Wiedergabeliste Ersteller[Update18.03.2011]

    • Skilkor
    • 4. März 2011 um 18:26

    Nach vielen Tagen Scripten und Basteln ist es Erschaffen und Danke der Hilfe von Plattform seitigen Usern auch etwas Geworden :P

    2 Programme
    1: WL
    2: WL Easy

    WL & WL Easy (Gemeinsamkeiten):
    Öffnet über den (WL"...")&(WL Easy "Ordner") Button ein FileSelectFolder() und nur darin enthaltene *.mp3 Dateien werden in die ListView eingefügt.
    Diese ListView kann man nach Header Sortieren, Die Header sind
    0 = Track Nr | 1 = Artis | 2 = Titel | 3 = Album |4 = Länge | 5 = Pfad
    Aus der ListView werden dann die verschiedenen Item´s die für die Playlist benötigt werden aufgerufen und durch den FileSaveDialog() in die *.m3u Geschrieben

    Soweit die Gemeinsamkeiten der Beiden.

    WL (Unterschied zu WL Easy):
    Der Unterschied liegt darin dass man in WL mehr Optionen einer Playlist hat
    z.B.
    *.wpl = Windows Media Player
    *.pls = SongBird
    *.xpsf = Video Lan (VLC)
    *.m3u = Real Player | WinAmp und viele andere
    Das verfahren ist daselbe wie bei WL Easy.
    Hinweiss zu WL:
    Es können Nun auch mehrere Playlists erstellt werden.

    Ich hoffe damit sind erste Frage geklärt und Informationen aufgelistet, Falls ich was vergessen haben sollte (was passieren kann) einfach mitteilen.

    Wichtig:
    Windows XP User werden mit der *.wpl schwierigkeiten haben, da WMP angibt das die *.wpl ungültig ist. Das liegt daran das der WMP 11 ein Problem mit Sonderzeichen hat und diese in HTML haben will.
    Leider komm ich bis jetz noch nicht so genau darauf wie ich die HTML-UDF richtig verwenden soll in combination einer ListView.
    Mein Tip dazu:
    Erstellt ein *.m3u File welches ihr mit der Real Player CheckBox erstellen könnt.

    Als ich mir die Hex der *.wpl von einem Win XP WMP angesehen habe ist mir was aufgefallen...
    Die ersten 3 Bytes haben anscheinend Besondere angaben... oder einfach nur Datenmüll sind, der Benötig wird xD
    Ich hoffe aber nun das der Bug für Win XP user behoben ist

    Danksagungen sind im Script enthalten, falls ich jmd vergessen habe, MELDEN! :D

    Hier die Codes:

    WL 1.5
    [autoit]


    #region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_icon=icons\prog01.ico
    #AutoIt3Wrapper_outfile=WL.exe
    #AutoIt3Wrapper_UseUpx=n
    #AutoIt3Wrapper_UseX64=n
    #AutoIt3Wrapper_Res_Fileversion=1.5.0.0
    #AutoIt3Wrapper_Res_LegalCopyright=Skilkor(http://www.autoit.de)(Hilfe: Oscar & i2c & Raupi & ohforf & Twodollarbillie)
    #AutoIt3Wrapper_Res_Language=1031
    #endregion ;**** Directives created by AutoIt3Wrapper_GUI ****
    ;==============
    #region ### include ###
    #include <Array.au3>
    #include <File.au3>
    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <GuiListView.au3>
    #include <ListViewConstants.au3>
    #include <StructureConstants.au3>
    #include <GuiImageList.au3>
    #include <Misc.au3>
    #include <EditConstants.au3>
    #endregion ### include ###
    ;=============
    #region ### Global ###
    Global $XS_n, $aID3, $aFiles, $sPath, $sNewItem, $Duration, $iMode, $sString, $Create, $FolderSearch, $FilePath
    Global $ahPlItem[1], $iPlCount = 0, $sID3Tags
    #endregion ### Global ###
    ;=============
    #region ### Global Checkbox ###
    Global $ahCheckbox[5]
    Global $BoxNames[5] = ['Windows Media Player', 'Songbird', 'WinAmp', 'VLC', 'RealPlayer']
    Global $aFunktions[5] = ['_WMP', '_SongBird', '_WAmp', '_VLC', '_RPlayer']
    Global $aLeft[6] = [24, 155, 220, 280, 325, 400]
    Global $aTmp
    #endregion ### Global Checkbox ###
    ;=============
    #region ### GUI ###
    $WL = GUICreate("WL Creater", 442, 460, -1, -1)
    GUICtrlCreateGroup("", 8, 0, 425, 97)
    GUICtrlCreateGroup("", 8, 89, 425, 344)
    For $i = 0 To 4
    StyleToggle(1)
    $ahCheckbox[$i] = GUICtrlCreateCheckbox($BoxNames[$i], $aLeft[$i], 40, $aLeft[$i + 1] - $aLeft[$i], 20)
    Next
    $Tip = GUICtrlCreateLabel("Tip: Wählt eine Widergabelisten Art aus. Seht euch die Hilfe an", 24, 64, 203, 25)
    $Create = GUICtrlCreateButton("Erstellen", 232, 64, 59, 25, $WS_GROUP)
    $ClearListViewB = GUICtrlCreateButton("Liste Leeren", 296, 64, 67, 25, $WS_GROUP)
    $FolderSearch = GUICtrlCreateButton("...", 400, 16, 19, 25, $WS_GROUP)
    ;~ $Hilfe = GUICtrlCreateButton("Hilfe",368,64,59,25,$WS_GROUP)
    $Path = GUICtrlCreateInput("Path", 24, 16, 377, 21, $ES_READONLY)
    ;~ MsgBox(0,'Checkbox',$Tip)
    #endregion ### GUI ###
    ;=============
    #region ### Global ListView ###
    Global $LV_Style = BitOR($WS_EX_DLGMODALFRAME, $WS_EX_CLIENTEDGE)
    Global $LV_EX_STYLE = BitOR($LVS_EX_SUBITEMIMAGES, $LVS_EX_DOUBLEBUFFER, $LVS_EX_FULLROWSELECT)
    Global $Header = 'Nr.|Artist|Title|Album|Länge|Path'
    Global $ListView = GUICtrlCreateListView($Header, 16, 104, 409, 321, $LV_Style, $LV_EX_STYLE)
    _GUICtrlListView_SetExtendedListViewStyle($ListView, $LV_EX_STYLE)
    _GUICtrlListView_RegisterSortCallBack($ListView)
    GUICtrlSetState(-1, $GUI_DROPACCEPTED)
    GUICtrlSendMsg($ListView, $LVM_SETCOLUMNWIDTH, 0, 32)
    GUICtrlSendMsg($ListView, $LVM_SETCOLUMNWIDTH, 1, 100)
    GUICtrlSendMsg($ListView, $LVM_SETCOLUMNWIDTH, 2, 100)
    GUICtrlSendMsg($ListView, $LVM_SETCOLUMNWIDTH, 3, 110)
    GUICtrlSendMsg($ListView, $LVM_SETCOLUMNWIDTH, 4, 50)
    GUICtrlSendMsg($ListView, $LVM_SETCOLUMNWIDTH, 5, 120)
    #endregion ### Global ListView ###
    ;=============
    #region ### Global ContextMenü ###
    Global $ContextMenue = GUICtrlCreateContextMenu($ListView)
    Global $DelItem = GUICtrlCreateMenuItem('Löschen', $ContextMenue)
    Global $AddItem = GUICtrlCreateMenuItem('File hinzufügen', $ContextMenue)
    Global $Import1 = GUICtrlCreateMenuItem('Playlist Importieren', $ContextMenue)
    Global $ClearListViewM1 = GUICtrlCreateMenuItem('Liste Leeren', $ContextMenue)
    Global $DualDel = GUICtrlCreateMenuItem('Doppelte Entfernen', $ContextMenue)
    #endregion ### Global ContextMenü ###
    ;=============
    #region ### Global Menü ###
    Global $Menu = GUICtrlCreateMenu('Menü', -1, 0)
    Global $Import = GUICtrlCreateMenuItem('Playlist Importieren', $Menu, 0)
    Global $ClearListViewM = GUICtrlCreateMenuItem('Liste Leeren', $Menu, 0)
    Global $Maske = GUICtrlCreateMenu('Maske', $Menu, 10)
    Global $Normal = GUICtrlCreateMenuItem('Standard', $Maske, 1)
    Global $Black = GUICtrlCreateMenuItem('Schwarz', $Maske, 2)
    Global $Red = GUICtrlCreateMenuItem('Rot', $Maske, 3)

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

    Global $HelpMenu = GUICtrlCreateMenu('?', -1, 10)
    Global $HelpItem = GUICtrlCreateMenuItem('Hilfe', $HelpMenu, 0, 1)
    GUISetState(@SW_SHOW)
    #endregion ### Global Menü ###
    ;=============
    #region ### GUI_Event ###
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $ListView
    _GUICtrlListView_SortItems($ListView, GUICtrlGetState($ListView))
    Case $Create
    _Create()
    Case $ClearListViewB, $ClearListViewM, $ClearListViewM1
    _ClearListView()
    Case $FolderSearch
    _FolderSearch()
    Case $HelpItem
    _Hilfe()
    Case $DelItem
    _DeleteSelected()
    Case $AddItem
    _addFile()
    Case $Import, $Import1
    _Import()
    Case $DualDel
    _DualDel()

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

    Case $Normal
    _optNormal()
    Case $Black
    _optBlack()
    Case $Red
    _optRed()
    EndSwitch
    $dll = DllOpen("user32.dll")
    If _IsPressed("2E") Then
    _DeleteSelected()
    EndIf
    DllClose($dll)
    WEnd
    #endregion ### GUI_Event ###
    ;=============
    #region ### _FolderSearch() ###
    Func _FolderSearch()
    $sPath = FileSelectFolder('Wähle einen MP3 Verzeichniss aus', '', 4, '', '')
    ControlSetText('', '', $Path, $sPath)
    $aFiles = _FileListToArray($sPath, '*.mp3', 1)
    _GUICtrlListView_AddArray($aFiles, $ListView)
    If Not @error Then
    $Duration = 0
    For $i = 1 To UBound($aFiles) - 1
    _AddFileToListView($sPath & "\" & $aFiles[$i])
    Next
    EndIf
    EndFunc ;==>_FolderSearch
    #endregion ### _FolderSearch() ###
    ;=============
    #region ### _addFile() ###
    Func _addFile()
    Local $aFiles
    $sPath = FileOpenDialog('Wähle die *.mp3 Datei aus', '', '(*.mp3)', 4, '', '')
    $aPaths = StringSplit($sPath, '|', 1)
    If IsArray($aPaths) Then
    _GUICtrlListView_BeginUpdate($ListView)
    For $i = 1 To $aPaths[0]
    $Duration = 0
    _AddFileToListView($aPaths[$i])
    ;_GUICtrlListView_AddItem($ListView, $aPaths[$i])
    Next
    _GUICtrlListView_EndUpdate($ListView)
    Else
    _FehlerListViewItem()
    EndIf
    EndFunc ;==>_addFile
    #endregion ### _addFile() ###
    ;=============
    #region ### _AddFileToListView() ###
    Func _AddFileToListView($sPath) ;$aID3Tag[1][1] für Titel | $aID3Tag[2][1] für Artist | $aID3Tag[3][1] für Album | $aID3Tag[4][1] für die Länge | $aID3Tag[5][1] für die Titel Nr | $iPlCount + 1 Listet die zahl der ListView Items auf
    $sPath = StringReplace($sPath, @CR, "")
    If Not FileExists($sPath) Then MsgBox(0, "Fehler", $sPath & " existiert nicht!")
    Local $aID3, $sNewItem
    $aID3 = _ReadID3Tag($sPath)
    If Not @error Then
    ReDim $ahPlItem[$iPlCount + 1]
    $Duration += $aID3[4][1]
    $sNewItem = $aID3[5][1] & '|' & $aID3[1][1] & '|' & $aID3[0][1] & '|' & $aID3[2][1] & '|' & $aID3[4][1] & '|' & $sPath; & '|' & $iPlCount + 1
    $ahPlItem[$iPlCount] = GUICtrlCreateListViewItem($sNewItem, $ListView)
    $iPlCount += 1

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

    EndIf
    EndFunc ;==>_AddFileToListView
    #endregion ### _AddFileToListView() ###
    ;=============
    #region ### _Hilfe() ###
    Func _Hilfe()
    MsgBox(4096, 'Hilfe', 'Wiedergabelisten Beschreibung' & @CRLF & @CRLF & 'Einfach auf den Button neben dem Langen' & @CRLF & 'Editfeld Klicken und Verzeichniss auswählen' & @CRLF & 'Dann auf Erstellen' & @CRLF & @CRLF & 'WL erstellt einmehrere Playlists' & @CRLF & 'z.B.' & @CRLF & '(*.wpl) - Windows Media Player' & @CRLF & '(*.pls) - Song Bird & Win Amp' & @CRLF & '(*.m3u) - Real Player' & @CRLF & '(*.xspf) - Video Lan (VLC)' & @CRLF & @CRLF & 'Ein Danke an:' & @CRLF & 'i2c: Für seine Hilfe und Ideen' & @CRLF & 'Raupi: Auch für seine Hilfe' & @CRLF & @CRLF & 'Createt by Skilkor')
    EndFunc ;==>_Hilfe
    #endregion ### _Hilfe() ###
    ;=============
    #region ### _Fehler() ###
    Func _Fehler()
    MsgBox(48, 'Fehler', 'Keine Wiedergabelieste ausgewählt')
    EndFunc ;==>_Fehler
    #endregion ### _Fehler() ###
    ;=============
    #region ### _FehlerListViewItem() ###
    Func _FehlerListViewItem()
    $msg = MsgBox(48 + 4, 'Fehler', 'Keine "*.mp3" Dateien Gefunden' & @CRLF & 'Neu Suchen?')
    If $msg = 6 Then
    _addFile()
    EndIf
    EndFunc ;==>_FehlerListViewItem
    #endregion ### _FehlerListViewItem() ###
    ;=============
    #region ### _FehlerListView() ###
    Func _FehlerListView()
    $msg = MsgBox(48 + 4, 'Fehler', 'Keine "*.mp3" einträge Gefunden' & @CRLF & 'Neu Suchen?')
    If $msg = 6 Then
    _FolderSearch()
    EndIf
    EndFunc ;==>_FehlerListView
    #endregion ### _FehlerListView() ###
    ;=============
    #region ### _Create() ###
    Func _Create()
    If _GUICtrlListView_GetItemCount($ListView) = 0 Then
    _FehlerListView()
    EndIf
    For $i = 0 To 4
    If BitAND(GUICtrlRead($ahCheckbox[$i]), $GUI_CHECKED) Then Call($aFunktions[$i])
    ;~ MsgBox(0,'Checkbox',$ahCheckbox[$i])
    Next
    EndFunc ;==>_Create
    #endregion ### _Create() ###
    ;=============
    #region ### _ListView() Leeren ###
    Func _ClearListView()
    _GUICtrlListView_DeleteAllItems($ListView)
    EndFunc ;==>_ClearListView
    #endregion ### _ListView() Leeren ###
    ;=============
    #region ### _DeleteSelected ###
    Func _DeleteSelected()
    _GUICtrlListView_DeleteItemsSelected($ListView)
    EndFunc ;==>_DeleteSelected
    #endregion ### _DeleteSelected ###
    ;=============
    #region ### _Import() ### von i2c (Teils Bsp)
    Func _Import()
    $FilePath = FileOpenDialog('Playlist Importieren', '', 'Alle Playlists (*.wpl;*.pls;*.xspf;*.m3u)|(*.wpl)|(*.pls)|(*.xspf)|(*.m3u)')
    If StringRight($FilePath, 4) = ".wpl" Then
    $hFile = FileOpen($FilePath)
    $sRead = FileRead($hFile)
    FileClose($hFile)
    If Not @error Then
    $aTmp = StringRegExp($sRead, '<media\ssrc=\"(.*?)\"', 3, 1)
    If IsArray($aTmp) Then
    $aFolder = StringRegExp($FilePath, "(.*)\\", 1, 1)
    If IsArray($aFolder) Then
    $aParent = StringRegExp($aFolder[0], "(.*)\\", 1, 1)
    Else
    MsgBox(0, "Fehler", "Datei konnte nicht importiert werden")
    Return
    EndIf
    For $i = UBound($aTmp) - 1 To 0 Step -1
    If StringLeft($aTmp[$i], 2) = '..' Then
    $sTmp = $aParent[0] & StringTrimLeft($aTmp[$i], 2)
    If Not FileExists($sTmp) Then
    MsgBox(0, "Fehler", "Datei: " & $sTmp & @CRLF & "Datei existiert nicht")
    _ArrayDelete($aTmp, $i)
    Else
    $aTmp[$i] = $sTmp
    EndIf
    EndIf
    Next
    EndIf
    Else
    MsgBox(0, "Fehler", "Datei konnte nicht importiert werden")
    Return
    EndIf
    EndIf
    If StringRight($FilePath, 4) = ".pls" Then ;Wen es eine *.pls Datei ist DANN
    If MsgBox(4 + 48, '*.pls Fortfahren', 'Nur *.pls Playlist die mit >WL< erstellt wurden, "Solten" importiert werden' & @CRLF & 'Fortfahren?') = 7 Then ;Wenn NEIN dann Return
    Return
    EndIf
    $hFile = FileOpen($FilePath) ;Öffne *.pls Playlist
    $sRead = FileRead($hFile) ;Lesse *.pls Playlist
    FileClose($hFile) ;Schliesse *.pls Playlist
    If Not @error Then ;Wen nicht ERROR DANN
    $aTmp = StringRegExp($sRead, 'File\d+\=(.*)', 3, 1) ;Dateipfade einlesen
    EndIf
    If StringLeft($aTmp[$i], 2) = '..' Then
    For $i = UBound($aTmp) - 1 To 0 Step -1 ;~ Array rückwärts durchlaufen
    If StringLeft($aTmp[$i], 2) = '..' Then ;~ wenn die ersten beiden Zeichen '..' sind, ist es ein relativer Pfad
    $aCount = StringRegExp($aTmp[$i], '(\.\.\/)', 3, 1) ;~ zähle alle '../' im String um das Level des relativen Pfades herauszufinden
    $aFolder = StringSplit($FilePath, "\") ;~ den Ordnerpfad (Playlist) an den \'s aufsplitten.
    ;~ Das Array mit den einzelnen Ordnern wieder in einen String umwandeln.
    ;~ Der 4te Parameter: (Anzahl Elemente von $aFolder)-Anzahl der relativen Pfadebenen in $aCount
    ;~ Ergebnis: Der Ordner, von dem aus der absolute Teil des relativen Dateipfads weiter zur MP3 führt.
    $sTmp = _ArrayToString($aFolder, "\", 1, (UBound($aFolder) - 1) - UBound($aCount))
    $aTmp[$i] = StringReplace($aTmp[$i], "../", "") ;~ Alle '../' aus dem relativen Pfad entfernen
    $aTmp[$i] = StringReplace($aTmp[$i], "/", "\") ;~ '/' durch '\' ersetzen, damit ein anständiger Pfad draus wird
    $sTmp = $sTmp & "\" & $aTmp[$i] ;~ Den absoluten Pfad aus dem gekürzten Pfad der Playlist und dem 'gesäuberten' Pfad der MP3 zusammenbauen
    If Not FileExists($sTmp) Then ;~ Prüfen ob die Datei dort existiert
    MsgBox(0, "Fehler", "Datei: " & $sTmp & @CRLF & "Datei existiert nicht")
    _ArrayDelete($aTmp, $i) ;~ Wenn nicht, dann das Element aus dem Array löschen
    Else
    $aTmp[$i] = $sTmp ;~ wenn sie existiert, den Pfad in das Arrayelement schreiben
    EndIf
    EndIf
    Next
    EndIf
    EndIf

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

    If StringRight($FilePath, 5) = ".xspf" Then
    $hFile = FileOpen($FilePath)
    $sRead = FileRead($hFile)
    FileClose($hFile)
    If Not @error Then
    $aTmp = StringRegExp($sRead, '<location>file\:///(.*)</location>', 3, 1)
    If StringInStr($aTmp[$i], '/') Then ;%20 = ' ' %28 = '(' %29 = ')'
    For $i = UBound($aTmp) - 1 To 0 Step -1
    $aTmp[$i] = StringReplace($aTmp[$i], "/", "\")
    $aTmp[$i] = StringReplace($aTmp[$i], "%20", " ")
    $aTmp[$i] = StringReplace($aTmp[$i], "%28", "(")
    $aTmp[$i] = StringReplace($aTmp[$i], "%29", ")")
    Next
    EndIf
    Else
    MsgBox(0, "Fehler", "Datei konnte nicht importiert werden")
    Return
    EndIf
    EndIf
    If StringRight($FilePath, 4) = '.m3u' Then
    $hFile = FileOpen($FilePath)
    $sRead = FileRead($hFile)
    FileClose($hFile)
    If Not @error Then
    $aTmp = StringRegExp($sRead, '(.*\\.*)', 3, 1)
    EndIf
    EndIf
    If IsArray($aTmp) Then
    _GUICtrlListView_BeginUpdate($ListView)
    For $i = 0 To UBound($aTmp) - 2
    $Duration = 0
    _AddFileToListView($aTmp[$i])
    Next
    _GUICtrlListView_EndUpdate($ListView)
    Else
    MsgBox(0, "Fehler", "Keine Daten zum importieren.")
    Return
    EndIf
    EndFunc ;==>_Import
    #endregion ### _Import() ### von i2c (Teils Bsp)
    ;=============
    #region ### _DualDel() ###
    Func _DualDel()
    $count = _GUICtrlListView_GetItemCount($ListView)
    Local $iLV[$count][6], $case
    For $i = 0 To $count - 1
    $tmp = _GUICtrlListView_GetItemTextArray($ListView, $i)
    $iLV[$i][0] = $tmp[1]
    $iLV[$i][1] = $tmp[2]
    $iLV[$i][2] = $tmp[3]
    $iLV[$i][3] = $tmp[4]
    $iLV[$i][4] = $tmp[5]
    $iLV[$i][5] = $tmp[6]
    Next
    _GUICtrlListView_BeginUpdate($ListView)
    For $i = 0 To $case = 1
    _Array2DDblDel($iLV, $case)
    Next
    _GUICtrlListView_DeleteAllItems($ListView)
    For $i = 0 To UBound($iLV) - 1
    _AddFileToListView($iLV[$i][5])
    Next
    _GUICtrlListView_EndUpdate($ListView)
    EndFunc ;==>_DualDel
    #endregion ### _DualDel() ###
    ;=============
    #region ### _WMP() ### *.wpl
    Func _WMP()
    Local $sSaveFilename, $hFile, $iCount = _GUICtrlListView_GetItemCount($ListView)
    If $iCount = 0 Then Return
    $sSaveFilename = FileSaveDialog('Wähle einen Namen für die MP3-Playlist', @DesktopDir, 'Windows Media Player-Playlist (*.wpl)', 18, '')
    $Folder = $sSaveFilename
    $aFolder = StringSplit($Folder, "\")
    If IsArray($aFolder) Then $Folder = $aFolder[$aFolder[0] - 1] & "\" & $aFolder[$aFolder[0]]
    If Not @error Then
    If StringRight($sSaveFilename, 4) <> '.wpl' Then $sSaveFilename &= '.wpl'
    $hFile = FileOpen($sSaveFilename, 128 + 2)
    If $hFile <> -1 Then
    FileWrite($hFile, '<?wpl version="1.0"?>' & @CRLF)
    FileWrite($hFile, '<smil>' & @CRLF)
    FileWrite($hFile, ' <head>' & @CRLF)
    FileWrite($hFile, ' <meta name="Generator" content="Microsoft Windows Media Player -- "/>' & @CRLF)
    FileWrite($hFile, ' <meta name="ItemCount" content="' & $iPlCount & '"/>' & @CRLF)
    FileWrite($hFile, ' <meta name="TotalDuration" content="' & $Duration & '"/>' & @CRLF)
    FileWrite($hFile, ' <author/>' & @CRLF)
    FileWrite($hFile, ' <title>' & $Folder & '</title>' & @CRLF)
    FileWrite($hFile, ' </head>' & @CRLF)
    FileWrite($hFile, ' <body>' & @CRLF)
    FileWrite($hFile, ' <seq>' & @CRLF)
    For $i = 0 To $iCount
    FileWriteLine($hFile, ' <media src="' & _GUICtrlListView_GetItemText($ListView, $i, 5) & '"/>')
    Next
    FileWrite($hFile, ' </seq>' & @CRLF)
    FileWrite($hFile, ' </body>' & @CRLF)
    FileWrite($hFile, '</smil>' & @CRLF)
    FileClose($hFile)
    EndIf
    EndIf
    EndFunc ;==>_WMP
    #endregion ### _WMP() ### *.wpl
    ;=============
    #region ### _SongBird() ### *.pls
    Func _SongBird()
    Local $sSaveFilename, $hFile, $iCount = _GUICtrlListView_GetItemCount($ListView)
    If $iCount = 0 Then Return
    $sSaveFilename = FileSaveDialog('Wähle einen Namen für die MP3-Playlist', @DesktopDir, 'SongBird-Playlist (*.pls)', 18, '')
    If Not @error Then
    If StringRight($sSaveFilename, 4) <> '.pls' Then $sSaveFilename &= '.pls'
    $hFile = FileOpen($sSaveFilename, 2)
    If $hFile <> -1 Then
    FileWrite($hFile, '[playlist]' & @CRLF)
    FileWrite($hFile, 'NumberOfEntries=1' & @CRLF & @CRLF)
    For $i = 0 To $iCount
    FileWriteLine($hFile, 'File' & $i + 1 & '=' & _GUICtrlListView_GetItemText($ListView, $i, 5))
    FileWriteLine($hFile, 'Title' & $i + 1 & '=' & _GUICtrlListView_GetItemText($ListView, $i, 1) & ' - ' & _GUICtrlListView_GetItemText($ListView, $i, 2))
    FileWriteLine($hFile, 'Length' & $i + 1 & '=' & _GUICtrlListView_GetItemText($ListView, $i, 4) & @CRLF & @CRLF)
    Next
    FileWrite($hFile, @CRLF & 'Version=2' & @CRLF)
    FileClose($hFile)
    EndIf
    EndIf
    EndFunc ;==>_SongBird
    #endregion ### _SongBird() ### *.pls
    ;=============
    #region ### _WAMP() ### *.m3u
    Func _WAMP()
    Local $sSaveFilename, $hFile, $iCount = _GUICtrlListView_GetItemCount($ListView)
    If $iCount = 0 Then Return
    $sSaveFilename = FileSaveDialog('Wähle einen Namen für die MP3-Playlist', @DesktopDir, 'MP3-Playlist (*.m3u)', 18, '')
    If Not @error Then
    If StringRight($sSaveFilename, 4) <> '.m3u' Then $sSaveFilename &= '.m3u'
    $hFile = FileOpen($sSaveFilename, 2)
    If $hFile <> -1 Then
    FileWrite($hFile, '#EXTM3U' & @CRLF)
    For $i = 0 To $iCount - 1
    FileWriteLine($hFile, '#EXTINF:' & _GUICtrlListView_GetItemText($ListView, $i, 4) & ',' & _GUICtrlListView_GetItemText($ListView, $i, 1) & ' - ' & _GUICtrlListView_GetItemText($ListView, $i, 2) & ' - ' & 'Track Nr' & _GUICtrlListView_GetItemText($ListView, $i, 0) & ' end')
    FileWriteLine($hFile, _GUICtrlListView_GetItemText($ListView, $i, 5))
    Next
    FileClose($hFile)
    EndIf
    EndIf
    EndFunc ;==>_WAMP
    #endregion ### _WAMP() ### *.m3u
    ;=============
    #region ### _VLC() ### *.xspf
    Func _VLC()
    Local $sSaveFilename, $hFile, $iCount = _GUICtrlListView_GetItemCount($ListView)
    If $iCount = 0 Then Return
    $sSaveFilename = FileSaveDialog('Wähle einen Namen für die MP3-Playlist', @DesktopDir, 'VLC-Playlist (*.xspf)', 18, '')
    $Folder = $sSaveFilename
    $aFolder = StringSplit($Folder, "\")
    If IsArray($aFolder) Then $Folder = $aFolder[$aFolder[0] - 1] & "\" & $aFolder[$aFolder[0]]
    If Not @error Then
    If StringRight($sSaveFilename, 4) <> '.xspf' Then $sSaveFilename &= '.xspf'
    $hFile = FileOpen($sSaveFilename, 128 + 2)
    If $hFile <> -1 Then
    FileWrite($hFile, '<?xml version="1.0" encoding="UTF-8"?>' & @CRLF)
    FileWrite($hFile, '<playlist version="1" xmlns="http://xspf.org/ns/0/" xmlns:vlc="http://www.videolan.org/vlc/playlist/ns/0/">' & @CRLF)
    FileWrite($hFile, ' <title>' & $Folder & '</title>' & @CRLF)
    FileWrite($hFile, ' <trackList>' & @CRLF)
    For $i = 0 To $iCount - 1
    FileWriteLine($hFile, ' <track>')
    FileWriteLine($hFile, ' <location>file:///' & _GUICtrlListView_GetItemText($ListView, $i, 5) & '</location>')
    FileWriteLine($hFile, ' <title>' & _GUICtrlListView_GetItemText($ListView, $i, 2) & '</title>')
    FileWriteLine($hFile, ' <creator>' & _GUICtrlListView_GetItemText($ListView, $i, 1) & '</creator>')
    FileWriteLine($hFile, ' <album>' & _GUICtrlListView_GetItemText($ListView, $i, 3) & '</album>')
    FileWriteLine($hFile, ' <trackNum>' & _GUICtrlListView_GetItemText($ListView, $i, 0) & '</trackNum>')
    FileWriteLine($hFile, ' <image>file:///' & '' & '</image>')
    FileWriteLine($hFile, ' <extension application="http://www.videolan.org/vlc/playlist/0">')
    FileWriteLine($hFile, ' <vlc:id>' & _GUICtrlListView_GetItemText($ListView, $i, 0) & '</vlc:id>')
    FileWriteLine($hFile, ' </extension>')
    FileWriteLine($hFile, ' </track>')
    Next
    FileWrite($hFile, ' </trackList>' & @CRLF)
    FileWrite($hFile, ' <extension application="http://www.videolan.org/vlc/playlist/0">' & @CRLF)
    If $hFile <> -1 Then
    For $i = 0 To $iCount - 2
    FileWriteLine($hFile, ' <vlc:item tid="' & _GUICtrlListView_GetItemText($ListView, $i, 0) & '" />')
    Next
    FileWrite($hFile, ' </extension>' & @CRLF)
    FileWrite($hFile, '</playlist>')
    FileClose($hFile)
    EndIf
    EndIf
    EndIf
    EndFunc ;==>_VLC
    #endregion ### _VLC() ### *.xspf
    ;=============
    #region ### _RPlayer() ### *.m3u
    Func _RPlayer()
    Local $sSaveFilename, $hFile, $iCount = _GUICtrlListView_GetItemCount($ListView)
    If $iCount = 0 Then Return
    $sSaveFilename = FileSaveDialog('Wähle einen Namen für die MP3-Playlist', @DesktopDir, 'MP3-Playlist (*.m3u)', 18, '')
    If Not @error Then
    If StringRight($sSaveFilename, 4) <> '.m3u' Then $sSaveFilename &= '.m3u'
    $hFile = FileOpen($sSaveFilename, 2)
    If $hFile <> -1 Then
    FileWrite($hFile, '#EXTM3U' & @CRLF)
    For $i = 0 To $iCount - 1
    FileWriteLine($hFile, '#EXTINF:' & _GUICtrlListView_GetItemText($ListView, $i, 4) & ',' & _GUICtrlListView_GetItemText($ListView, $i, 1) & ' - ' & _GUICtrlListView_GetItemText($ListView, $i, 2) & ' - ' & 'Track Nr' & _GUICtrlListView_GetItemText($ListView, $i, 0) & ' end')
    FileWriteLine($hFile, _GUICtrlListView_GetItemText($ListView, $i, 5))
    Next
    FileClose($hFile)
    EndIf
    EndIf
    EndFunc ;==>_RPlayer
    #endregion ### _RPlayer() ### *.m3u
    ;=============
    #region ### _ID3Tag() ### Von Oscar
    Func _ReadID3Tag($sPath)
    If Not FileExists($sPath) Then Return SetError(1, 0, 0)
    Local $hFile, $sData, $sID3Header, $iID3HeaderSize = 0, $iOffset, $iSize, $tmp
    Local $aID3v2Tags[8] = ['TIT2', 'TPE1', 'TALB', 'TYER', 'TLEN', 'TRCK', 'TCON', 'TENC']
    Local $aID3[11][2] = [ _
    ['Title', ''],['Artist', ''],['Album', ''],['Year', ''], _
    ['Length', '0'],['Track', ''],['Genre', ''],['Encoder', ''], _
    ['MPEG-Version', ''],['Bitrate', ''],['Sample-Freq.', '']]
    Local $aMP3Version[4] = ['MPEG2.5', 'Reserved', 'MPEG2', 'MPEG1']
    Local $aMP3Layer[4] = ['Reserved', 'Layer III', 'Layer II', 'Layer I']
    Local $aMP3Bitrate[5][16] = [ _
    [000, 032, 064, 096, 128, 160, 192, 224, 256, 288, 320, 352, 384, 416, 448, 000], _
    [000, 032, 048, 056, 064, 080, 096, 112, 128, 160, 192, 224, 256, 320, 384, 000], _
    [000, 032, 040, 048, 056, 064, 080, 096, 112, 128, 160, 192, 224, 256, 320, 000], _
    [000, 032, 048, 056, 064, 080, 096, 112, 128, 144, 160, 176, 192, 224, 256, 000], _
    [000, 008, 016, 024, 032, 040, 048, 056, 064, 080, 096, 112, 128, 144, 160, 000]]
    Local $aSampleFreq[3][4] = [[44100, 48000, 32000, 0],[22050, 24000, 16000, 0],[11025, 12000, 8000, 0]]
    Local $sMP3FrameHeader, $iMP3Version, $sMP3Version, $sMP3Layer, $iMP3Bitrate, $iMP3SampleFreq
    Local $iVBRFrames = -1, $iVBRFilesize, $iVBRFlags
    $hFile = FileOpen($sPath, 16)
    If $hFile = -1 Then Return SetError(2, 0, 0)
    $sData = Binary(FileRead($hFile, 4))
    If BinaryMid($sData, 1, 3) = '0x494433' Then ; ID3 v2.x Kennung gefunden
    If (BinaryMid($sData, 4, 1) = '0x03') Or (BinaryMid($sData, 4, 1) = '0x04') Then ; nur v2.3 und 2.4
    FileRead($hFile, 2) ; 2 Bytes überspringen
    For $i = 0 To 3 ; berechne ID3-Headergröße (4 Bytes, jedoch nur jeweils die unteren 7 Bit)
    $iID3HeaderSize = BitShift($iID3HeaderSize, -7) + BitAND(Binary(FileRead($hFile, 1)), 0x7F)
    Next
    If $iID3HeaderSize > 0 Then
    $sID3Header = Binary(FileRead($hFile, $iID3HeaderSize)) ; lese gesamten ID3-Header
    For $i = 0 To 7
    $iOffset = StringInStr(BinaryToString($sID3Header), $aID3v2Tags[$i]) ; Offset zu dem ID3-Tag
    If $iOffset > 0 Then
    $iSize = Hex(BinaryMid($sID3Header, $iOffset + 4, 4)) ; Größe des ID3-Frames
    $tmp = BinaryMid($sID3Header, $iOffset + 11, Dec($iSize) - 1)
    If BinaryMid($tmp, 1, 2) = '0xFFFE' Then
    For $x = 3 To BinaryLen($tmp) Step 2
    $aID3[$i][1] &= BinaryToString(BinaryMid($tmp, $x, 2), 2)
    Next
    Else
    For $x = 1 To BinaryLen($tmp)
    $aID3[$i][1] &= BinaryToString(BinaryMid($tmp, $x, 1))
    Next
    EndIf
    $aID3[$i][1] = StringReplace($aID3[$i][1], Chr(0), '')
    EndIf
    Next
    EndIf
    Do
    $sData = String(FileRead($hFile, 1))
    If @error Then ExitLoop
    If BitAND($sData, 0xff) = 0xff Then
    FileSetPos($hFile, -1, 1)
    $sData = String(FileRead($hFile, 4))
    EndIf
    Until BitAND($sData, 0xFFE00000) = 0xFFE00000
    Else
    FileClose($hFile)
    Return SetError(3, 0, 0)
    EndIf
    Else ; ID3 v1.x
    $iOffset = FileGetPos($hFile)
    FileSetPos($hFile, -128, 2)
    $sID3Header = BinaryToString(FileRead($hFile, 3))
    If $sID3Header = 'TAG' Then
    $aID3[0][1] = StringReplace(BinaryToString(FileRead($hFile, 30)), Chr(0), '')
    $aID3[1][1] = StringReplace(BinaryToString(FileRead($hFile, 30)), Chr(0), '')
    $aID3[2][1] = StringReplace(BinaryToString(FileRead($hFile, 30)), Chr(0), '')
    $aID3[3][1] = StringReplace(BinaryToString(FileRead($hFile, 4)), Chr(0), '')
    EndIf
    FileSetPos($hFile, $iOffset, 0)
    EndIf
    $sMP3FrameHeader = String($sData)
    If BitAND($sMP3FrameHeader, 0xFFE00000) <> 0xFFE00000 Then
    FileClose($hFile)
    Return SetError(4, 0, 0) ; keine MP3-Datei, dann Return
    EndIf
    $iMP3Version = BitShift(BitXOR($sMP3FrameHeader, 0xFFE00000), 19) ; welche MP3-Version
    $sMP3Version = $aMP3Version[$iMP3Version] ; in Textform
    $sMP3Layer = $aMP3Layer[BitShift(BitAND($sMP3FrameHeader, 0x60000), 17)] ; welcher Layer
    $aID3[8][1] = $sMP3Version & ' / ' & $sMP3Layer ; ins Ausgabe-Array
    $iMP3Bitrate = BitShift(BitAND($sMP3FrameHeader, 0xF000), 12) ; Bitraten-Index auslesen
    Switch $sMP3Version ; je nach MPEG-Version Bitrate aus der Tabelle holen
    Case 'MPEG1'
    $aID3[9][1] = $aMP3Bitrate[$iMP3Version - ($iMP3Version > 1)][$iMP3Bitrate]
    Case 'MPEG2', 'MPEG2.5'
    If $sMP3Layer = 'Layer I' Then
    $aID3[9][1] = $aMP3Bitrate[3][$iMP3Bitrate]
    Else
    $aID3[9][1] = $aMP3Bitrate[4][$iMP3Bitrate]
    EndIf
    EndSwitch
    $iMP3SampleFreq = BitShift(BitAND($sMP3FrameHeader, 0xC00), 10) ; Sample-Frequenz-Index auslesen
    $aID3[10][1] = $aSampleFreq[2 - ($iMP3Version - ($iMP3Version > 1))][$iMP3SampleFreq] ; und Wert aus der Tabelle holen
    Do ; evtl. Leerbytes überspringen
    $tmp = FileRead($hFile, 1)
    If @error Then ExitLoop
    Until $tmp <> 0x00 Or @error
    If $tmp = 0x58 And BinaryToString(FileRead($hFile, 3)) = 'ing' Then ; MP3 mit VBR (Xing-Header gefunden)?
    $iVBRFlags = '0x' & Hex(FileRead($hFile, 4)) ; VBR-Flags auslesen
    If BitAND($iVBRFlags, 0x3) Then ; wenn die Einträge vorhanden sind, dann...
    $iVBRFrames = Dec(Hex(FileRead($hFile, 4))) ; Anzahl der VBR-Frames auslesen
    $iVBRFilesize = Dec(Hex(FileRead($hFile, 4))) ; Dateigröße auslesen
    $aID3[4][1] = $iVBRFrames * 1152 / $aID3[10][1] * 1000 ; VBR Laufzeit
    $aID3[9][1] = 'VBR ~' & Int($iVBRFilesize * 8 / ($aID3[4][1] / 1000) / 1000) ; VBR durchschnittliche Bitrate
    EndIf
    Else
    If $aID3[4][1] = 0 Then $aID3[4][1] = (FileGetSize($sPath) * 8) / ($aID3[9][1] * 1000) * 1000 ; alternative CBR Laufzeit
    $aID3[9][1] = 'CBR ' & $aID3[9][1]
    EndIf
    $aID3[4][1] = Int($aID3[4][1] / 1000) ; Laufzeit
    $aID3[9][1] &= ' kBit/s'
    $aID3[10][1] &= ' Hz'
    FileClose($hFile)
    Return $aID3
    EndFunc ;==>_ReadID3Tag
    #endregion ### _ID3Tag() ### Von Oscar
    ;=============
    #region ### _Array2DDblDel ### von BugFix
    ;----------------------------------------------------------------------------------------------------------------------
    ; Function _Array2DDblDel(ByRef $ARRAY [, $CASESENS=0])
    ;
    ; Description - From an 1D/2D Array will delete double entries (2D -> combination by '[n][0]' to '[n][x]').
    ; - Autodetection 1D/2D Array
    ; - By using string, you can choose case sensitivity.
    ;
    ; Parameter $ARRAY: Array to sort
    ; optional $CASESENS: Case sensitivity off[0] or on[1] (default 0)
    ;
    ; Return Succes ByRef Array without doubles
    ; Count of doubles
    ; Failure 0 and set @error = 1; no array
    ;
    ; Author BugFix ([email='bugfix@autoit.de'][/email])
    ;----------------------------------------------------------------------------------------------------------------------
    Func _Array2DDblDel(ByRef $ARRAY, $CASESENS = 0)
    Local $arTmp[1] = [''], $dbl = 0, $count = 0, $x, $l, $val, $valTmp, $i, $k
    If (Not IsArray($ARRAY)) Then
    SetError(1)
    Return 0
    EndIf
    Local $Ubound2nd = UBound($ARRAY, 2)
    If @error = 2 Then
    For $i = 0 To UBound($ARRAY) - 1
    $dbl = 0
    For $k = 0 To UBound($arTmp) - 1
    Switch $CASESENS
    Case 0
    If $arTmp[$k] = $ARRAY[$i] Then
    $dbl = 1
    $count += 1
    EndIf
    Case 1
    If $arTmp[$k] == $ARRAY[$i] Then
    $dbl = 1
    $count += 1
    EndIf
    EndSwitch
    Next
    If $dbl = 0 Then
    If $arTmp[0] = "" Then
    $arTmp[0] = $ARRAY[$i]
    Else
    ReDim $arTmp[UBound($arTmp) + 1]
    $arTmp[UBound($arTmp) - 1] = $ARRAY[$i]
    EndIf
    Else
    $dbl = 0
    EndIf
    Next
    Else
    ReDim $arTmp[1][$Ubound2nd]
    $arTmp[0][0] = ''
    $x = 0
    For $i = 0 To UBound($ARRAY) - 1
    $dbl = 0
    $val = ''
    $valTmp = ''
    For $l = 0 To $Ubound2nd - 1
    $val &= $ARRAY[$i][$l]
    Next
    For $k = 0 To UBound($arTmp) - 1
    For $l = 0 To $Ubound2nd - 1
    $valTmp &= $arTmp[$k][$l]
    Next
    Switch $CASESENS
    Case 0
    If $valTmp = $val Then
    $dbl = 1
    $count += 1
    EndIf
    Case 1
    If $valTmp == $val Then
    $dbl = 1
    $count += 1
    EndIf
    EndSwitch
    $valTmp = ''
    Next
    If $dbl = 0 Then
    If $x = 1 Then ReDim $arTmp[UBound($arTmp) + 1][$Ubound2nd]
    For $l = 0 To $Ubound2nd - 1
    If $arTmp[0][0] = '' Or $x = 0 Then
    $arTmp[0][$l] = $ARRAY[0][$l]
    If $l = $Ubound2nd - 1 Then $x = 1
    Else
    $arTmp[UBound($arTmp) - 1][$l] = $ARRAY[$i][$l]
    $x = 2
    If $l = $Ubound2nd - 1 Then $x = 1
    EndIf
    Next
    Else
    $dbl = 0
    EndIf
    Next
    EndIf
    $ARRAY = $arTmp
    Return $count
    EndFunc ;==>_Array2DDblDel
    #endregion ### _Array2DDblDel ### von BugFix
    ;=============
    #region ### _optNormal() ###
    Func _optNormal()
    GUISetBkColor(0xF0F0F0, $WL) ;GUI farbe standard
    GUICtrlSetColor(10, 0x000000) ;Tip text farbe schwarz
    For $i = 0 To UBound($ahCheckbox) - 1
    GUICtrlSetColor($ahCheckbox[$i], 0x000000)
    StyleToggle(0)
    Next
    EndFunc ;==>_optNormal
    #endregion ### _optNormal() ###
    ;=============
    #region ### _optBlack() ###
    Func _optBlack()
    GUISetBkColor(0x000000, $WL)
    GUICtrlSetColor(10, 0xFFFFFF) ;Tip text farbe weiss
    For $i = 0 To UBound($ahCheckbox) - 1
    GUICtrlSetColor($ahCheckbox[$i], 0xFFFFFF)
    StyleToggle(0)
    Next
    EndFunc ;==>_optBlack
    #endregion ### _optBlack() ###
    ;=============
    #region ### _optRed() ###
    Func _optRed()
    GUISetBkColor(0xFF0000, $WL)
    GUICtrlSetColor(10, 0x000000)
    For $i = 0 To UBound($ahCheckbox) - 1
    GUICtrlSetColor($ahCheckbox[$i], 0x000000)
    StyleToggle(0)
    Next
    EndFunc ;==>_optRed
    #endregion ### _optRed() ###
    ;=============
    #region ### _SytelToggle() ###
    Func StyleToggle($Off = 1)
    If Not StringInStr(@OSType, "WIN_7") Then Return 0
    If $Off Then
    $XS_n = DllCall("uxtheme.dll", "int", "GetThemeAppProperties")
    DllCall("uxtheme.dll", "none", "SetThemeAppProperties", "int", 0)
    Return 1
    ElseIf IsArray($XS_n) Then
    DllCall("uxtheme.dll", "none", "SetThemeAppProperties", "int", $XS_n[0])
    $XS_n = ""
    Return 1
    EndIf
    Return 0
    EndFunc ;==>StyleToggle
    #endregion ### _SytelToggle() ###

    [/autoit]


    =================

    WL Easy
    [autoit]


    #region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_icon=icons\prog.ico
    #AutoIt3Wrapper_outfile=WL Easy.exe
    #AutoIt3Wrapper_UseUpx=n
    #AutoIt3Wrapper_UseX64=n
    #AutoIt3Wrapper_Res_Fileversion=1.1.0.1
    #AutoIt3Wrapper_Res_LegalCopyright=(Hilfe: Oscar & i2c & Raupi & ohforf & Twodollarbillie) Skilkor(http://www.autoit.de)
    #AutoIt3Wrapper_Res_Language=1031
    #endregion ;**** Directives created by AutoIt3Wrapper_GUI ****
    ;==============
    #Region ### include ###
    #include <Array.au3>
    #include <File.au3>
    #include <ButtonConstants.au3>;
    #include <GUIConstantsEx.au3>;
    #include <StaticConstants.au3>;
    #include <WindowsConstants.au3>;
    #include <GuiListView.au3>
    #include <ListViewConstants.au3>
    #include <StructureConstants.au3>
    #include <GuiImageList.au3>
    #EndRegion ### include ###
    ;=============
    #Region ### GUI ###
    GUICreate('WL Easy', 394, 357, 645, 393)
    GUICtrlSetState(-1, $GUI_DROPACCEPTED)
    GUICtrlCreateGroup('', 8, 0, 377, 41)
    GUICtrlCreateGroup('', 8, 40, 377, 313)
    $Create = GUICtrlCreateButton('Create', 160, 8, 75, 25, $WS_GROUP)
    $Hilfe = GUICtrlCreateButton('Hilfe', 304, 8, 75, 25, $WS_GROUP)
    $Folder = GUICtrlCreateButton("Ordner", 16, 8, 75, 25, $WS_GROUP)
    GUISetState(@SW_SHOW)
    #EndRegion ### GUI ###
    ;=============
    #Region ### Global ###
    Global $aID3, $aFiles, $sPath, $sNewItem
    Global $ahPlItem[1], $iPlCount = 0, $sID3Tags
    Global $LV_Style = BitOR($WS_EX_DLGMODALFRAME, $WS_EX_CLIENTEDGE)
    Global $LV_EX_STYLE = BitOR($LVS_EX_SUBITEMIMAGES, $LVS_EX_DOUBLEBUFFER)
    Global $ListView = GUICtrlCreateListView('Nr.|Artist|Title|Album|Länge|Path', 16, 48, 361, 297, $LV_Style, $LV_EX_STYLE)
    _GUICtrlListView_SetExtendedListViewStyle($ListView, $LV_EX_STYLE)
    _GUICtrlListView_RegisterSortCallBack($ListView)
    GUICtrlSetState(-1, $GUI_DROPACCEPTED)
    GUICtrlSetBkColor(-1, 0xDDDDDD)
    GUICtrlSendMsg($ListView, $LVM_SETCOLUMNWIDTH, 0, 32)
    GUICtrlSendMsg($ListView, $LVM_SETCOLUMNWIDTH, 1, 100)
    GUICtrlSendMsg($ListView, $LVM_SETCOLUMNWIDTH, 2, 100)
    GUICtrlSendMsg($ListView, $LVM_SETCOLUMNWIDTH, 3, 110)
    GUICtrlSendMsg($ListView, $LVM_SETCOLUMNWIDTH, 4, 50)
    GUICtrlSendMsg($ListView, $LVM_SETCOLUMNWIDTH, 5, 120)
    #EndRegion ### Global ###
    ;=============
    #Region ### GUI Event ###
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $ListView
    _GUICtrlListView_SortItems($ListView, GUICtrlGetState($ListView))
    Case $Create
    _Create()
    Case $Hilfe
    _Hilfe()
    Case $Folder
    _FolderSearch()
    ;~ _Create()
    EndSwitch
    WEnd
    #EndRegion ### GUI Event ###
    ;=============
    #Region ### _Fehler() ###
    Func _Fehler()
    MsgBox(48, 'Fehler', 'Keine Wiedergabelieste ausgewählt')
    EndFunc ;==>_Fehler
    #EndRegion ### _Fehler() ###
    ;=============
    #Region _Hilfe() ###
    Func _Hilfe()
    MsgBox(4096,'Hilfe','Wiedergabelisten Beschreibung'&@CRLF&@CRLF&'Einfach auf Ordner Klicken und Verzeichniss auswählen'&@CRLF&'Dann auf Create'&@CRLF&@CRLF&'WL Easy erstellt ein "*.m3u" File,welches von'&@CRLF&'mehreren Playern verwendet werden kann z.B.'&@CRLF&'- Windows Media Player'&@CRLF&'- Song Bird'&@CRLF&'- Real Player'&@CRLF&'- Video Lan (VLC)'&@CRLF&'- Win Amp'&@CRLF&'und viele andere'&@CRLF&@CRLF&'Ein Danke an:'&@CRLF&'i2c:Für seine Hilfe und Ideen'&@CRLF&'Raupi:Auch für seine Hilfe'&@CRLF&'ohforf:Auch für seine Hilfe'&@CRLF&@CRLF&'Createt by Skilkor')
    EndFunc ;==>_Hilfe
    #EndRegion _Hilfe() ###
    ;=============
    #Region ### _FolderSearch() ###
    Func _FolderSearch()
    $sPath = FileSelectFolder('Wähle einen MP3 Verzeichniss aus', '', 4, '', '')
    $aFiles = _FileListToArray($sPath, '*.mp3', 1) ; Array mit den MP3-Dateinamen
    _GUICtrlListView_AddArray($aFiles, $ListView)
    If Not @error Then
    For $i = 1 To UBound($aFiles) - 1
    _AddFileToListView($sPath & "\" & $aFiles[$i])
    Next
    EndIf
    EndFunc ;==>_FolderSearch
    #EndRegion ### _FolderSearch() ###
    ;=============
    #Region ### _AddFileToListView() ###
    Func _AddFileToListView($sPath) ;$aID3Tag[5][1] für die Titel Nr | $aID3Tag[2][1] für Artist | $aID3Tag[1][1] für Titel | $aID3Tag[3][1] für Album
    If Not FileExists($sPath) Then Return
    Local $aID3, $sNewItem
    $aID3 = _ReadID3Tag($sPath)
    If Not @error Then
    ReDim $ahPlItem[$iPlCount + 1]
    $sNewItem = $aID3[5][1] & '|' & $aID3[1][1] & '|' & $aID3[0][1] & '|' & $aID3[2][1] & '|' & $aID3[4][1] & '|' & $sPath
    $ahPlItem[$iPlCount] = GUICtrlCreateListViewItem($sNewItem, $ListView)
    $iPlCount += 1
    EndIf
    EndFunc
    #EndRegion ### _AddFileToListView() ###
    ;=============
    #Region ### _Create() ###
    Func _Create()
    Local $sSaveFilename,$hFile, $iCount = _GUICtrlListView_GetItemCount($ListView)
    If $iCount = 0 Then Return
    $sSaveFilename = FileSaveDialog('Wähle einen Namen für die MP3-Playlist', @DesktopDir, 'MP3-Playlist (*.m3u)', 18, '')
    If Not @error Then
    If StringRight($sSaveFilename, 4) <> '.m3u' Then $sSaveFilename &= '.m3u'
    $hFile = FileOpen($sSaveFilename, 2)
    If $hFile <> -1 Then
    FileWrite($hFile, '#EXTM3U' & @CRLF)
    For $i = 0 To $iCount - 1
    FileWriteLine($hFile, '#EXTINF:' & _GUICtrlListView_GetItemText($ListView,$i,4) & ',' & _GUICtrlListView_GetItemText($ListView,$i,1) & ' - ' & _GUICtrlListView_GetItemText($ListView,$i,2)& ' - ' & 'Track Nr ' & _GUICtrlListView_GetItemText($ListView,$i,0) & ' end')
    FileWriteLine($hFile, _GUICtrlListView_GetItemText($ListView,$i,5))
    Next
    FileClose($hFile)
    EndIf
    EndIf
    EndFunc
    #EndRegion ### _Create() ###
    ;=============
    #Region ### ID3Tag ### Von Oscar
    Func _ReadID3Tag($sPath)
    If Not FileExists($sPath) Then Return SetError(1, 0, 0)
    Local $hFile, $sData, $sID3Header, $iID3HeaderSize = 0, $iOffset, $iSize, $tmp
    Local $aID3v2Tags[8] = ['TIT2', 'TPE1', 'TALB', 'TYER', 'TLEN', 'TRCK', 'TCON', 'TENC']
    Local $aID3[11][2] = [ _
    ['Title', ''],['Artist', ''],['Album', ''],['Year', ''], _
    ['Length', '0'],['Track', ''],['Genre', ''],['Encoder', ''], _
    ['MPEG-Version', ''],['Bitrate', ''],['Sample-Freq.', '']]
    Local $aMP3Version[4] = ['MPEG2.5', 'Reserved', 'MPEG2', 'MPEG1']
    Local $aMP3Layer[4] = ['Reserved', 'Layer III', 'Layer II', 'Layer I']
    Local $aMP3Bitrate[5][16] = [ _
    [000, 032, 064, 096, 128, 160, 192, 224, 256, 288, 320, 352, 384, 416, 448, 000], _
    [000, 032, 048, 056, 064, 080, 096, 112, 128, 160, 192, 224, 256, 320, 384, 000], _
    [000, 032, 040, 048, 056, 064, 080, 096, 112, 128, 160, 192, 224, 256, 320, 000], _
    [000, 032, 048, 056, 064, 080, 096, 112, 128, 144, 160, 176, 192, 224, 256, 000], _
    [000, 008, 016, 024, 032, 040, 048, 056, 064, 080, 096, 112, 128, 144, 160, 000]]
    Local $aSampleFreq[3][4] = [[44100, 48000, 32000, 0],[22050, 24000, 16000, 0],[11025, 12000, 8000, 0]]
    Local $sMP3FrameHeader, $iMP3Version, $sMP3Version, $sMP3Layer, $iMP3Bitrate, $iMP3SampleFreq
    Local $iVBRFrames = -1, $iVBRFilesize, $iVBRFlags
    $hFile = FileOpen($sPath, 16)
    If $hFile = -1 Then Return SetError(2, 0, 0)
    $sData = Binary(FileRead($hFile, 4))
    If BinaryMid($sData, 1, 3) = '0x494433' Then ; ID3 v2.x Kennung gefunden
    If (BinaryMid($sData, 4, 1) = '0x03') Or (BinaryMid($sData, 4, 1) = '0x04') Then ; nur v2.3 und 2.4
    FileRead($hFile, 2) ; 2 Bytes überspringen
    For $i = 0 To 3 ; berechne ID3-Headergröße (4 Bytes, jedoch nur jeweils die unteren 7 Bit)
    $iID3HeaderSize = BitShift($iID3HeaderSize, -7) + BitAND(Binary(FileRead($hFile, 1)), 0x7F)
    Next
    If $iID3HeaderSize > 0 Then
    $sID3Header = Binary(FileRead($hFile, $iID3HeaderSize)) ; lese gesamten ID3-Header
    For $i = 0 To 7
    $iOffset = StringInStr(BinaryToString($sID3Header), $aID3v2Tags[$i]) ; Offset zu dem ID3-Tag
    If $iOffset > 0 Then
    $iSize = Hex(BinaryMid($sID3Header, $iOffset + 4, 4)) ; Größe des ID3-Frames
    $tmp = BinaryMid($sID3Header, $iOffset + 11, Dec($iSize) - 1)
    If BinaryMid($tmp, 1, 2) = '0xFFFE' Then
    For $x = 3 To BinaryLen($tmp) Step 2
    $aID3[$i][1] &= BinaryToString(BinaryMid($tmp, $x, 2), 2)
    Next
    Else
    For $x = 1 To BinaryLen($tmp)
    $aID3[$i][1] &= BinaryToString(BinaryMid($tmp, $x, 1))
    Next
    EndIf
    $aID3[$i][1] = StringReplace($aID3[$i][1], Chr(0), '')
    EndIf
    Next
    EndIf
    Do
    $sData = String(FileRead($hFile, 1))
    If @error Then ExitLoop
    If BitAND($sData, 0xff) = 0xff Then
    FileSetPos($hFile, -1, 1)
    $sData = String(FileRead($hFile, 4))
    EndIf
    Until BitAND($sData, 0xFFE00000) = 0xFFE00000
    Else
    FileClose($hFile)
    Return SetError(3, 0, 0)
    EndIf
    Else ; ID3 v1.x
    $iOffset = FileGetPos($hFile)
    FileSetPos($hFile, -128, 2)
    $sID3Header = BinaryToString(FileRead($hFile, 3))
    If $sID3Header = 'TAG' Then
    $aID3[0][1] = StringReplace(BinaryToString(FileRead($hFile, 30)), Chr(0), '')
    $aID3[1][1] = StringReplace(BinaryToString(FileRead($hFile, 30)), Chr(0), '')
    $aID3[2][1] = StringReplace(BinaryToString(FileRead($hFile, 30)), Chr(0), '')
    $aID3[3][1] = StringReplace(BinaryToString(FileRead($hFile, 4)), Chr(0), '')
    EndIf
    FileSetPos($hFile, $iOffset, 0)
    EndIf
    $sMP3FrameHeader = String($sData)
    If BitAND($sMP3FrameHeader, 0xFFE00000) <> 0xFFE00000 Then
    FileClose($hFile)
    Return SetError(4, 0, 0) ; keine MP3-Datei, dann Return
    EndIf
    $iMP3Version = BitShift(BitXOR($sMP3FrameHeader, 0xFFE00000), 19) ; welche MP3-Version
    $sMP3Version = $aMP3Version[$iMP3Version] ; in Textform
    $sMP3Layer = $aMP3Layer[BitShift(BitAND($sMP3FrameHeader, 0x60000), 17)] ; welcher Layer
    $aID3[8][1] = $sMP3Version & ' / ' & $sMP3Layer ; ins Ausgabe-Array
    $iMP3Bitrate = BitShift(BitAND($sMP3FrameHeader, 0xF000), 12) ; Bitraten-Index auslesen
    Switch $sMP3Version ; je nach MPEG-Version Bitrate aus der Tabelle holen
    Case 'MPEG1'
    $aID3[9][1] = $aMP3Bitrate[$iMP3Version - ($iMP3Version > 1)][$iMP3Bitrate]
    Case 'MPEG2', 'MPEG2.5'
    If $sMP3Layer = 'Layer I' Then
    $aID3[9][1] = $aMP3Bitrate[3][$iMP3Bitrate]
    Else
    $aID3[9][1] = $aMP3Bitrate[4][$iMP3Bitrate]
    EndIf
    EndSwitch
    $iMP3SampleFreq = BitShift(BitAND($sMP3FrameHeader, 0xC00), 10) ; Sample-Frequenz-Index auslesen
    $aID3[10][1] = $aSampleFreq[2 - ($iMP3Version - ($iMP3Version > 1))][$iMP3SampleFreq] ; und Wert aus der Tabelle holen
    Do ; evtl. Leerbytes überspringen
    $tmp = FileRead($hFile, 1)
    If @error Then ExitLoop
    Until $tmp <> 0x00 Or @error
    If $tmp = 0x58 And BinaryToString(FileRead($hFile, 3)) = 'ing' Then ; MP3 mit VBR (Xing-Header gefunden)?
    $iVBRFlags = '0x' & Hex(FileRead($hFile, 4)) ; VBR-Flags auslesen
    If BitAND($iVBRFlags, 0x3) Then ; wenn die Einträge vorhanden sind, dann...
    $iVBRFrames = Dec(Hex(FileRead($hFile, 4))) ; Anzahl der VBR-Frames auslesen
    $iVBRFilesize = Dec(Hex(FileRead($hFile, 4))) ; Dateigröße auslesen
    $aID3[4][1] = $iVBRFrames * 1152 / $aID3[10][1] * 1000 ; VBR Laufzeit
    $aID3[9][1] = 'VBR ~' & Int($iVBRFilesize * 8 / ($aID3[4][1] / 1000) / 1000) ; VBR durchschnittliche Bitrate
    EndIf
    Else
    If $aID3[4][1] = 0 Then $aID3[4][1] = (FileGetSize($sPath) * 8) / ($aID3[9][1] * 1000) * 1000 ; alternative CBR Laufzeit
    $aID3[9][1] = 'CBR ' & $aID3[9][1]
    EndIf
    $aID3[4][1] = Int($aID3[4][1] / 1000) ; Laufzeit
    $aID3[9][1] &= ' kBit/s'
    $aID3[10][1] &= ' Hz'
    FileClose($hFile)
    Return $aID3
    EndFunc ;==>_ReadID3Tag
    #EndRegion ### ID3Tag ### Von Oscar

    [/autoit]

    Ich hoffe das die Playlists korrekt sind, Rückmeldung immer gerne :D

    ***Edit***


    18.03.2011 - Auf Wunsch hab ich noch einige Funktionen hinzugefügt:
    Menü & ContextMenü (Menü oben, ContextMenü,rechtsklick in die ListView)
    Funktion1 - Playlist Importieren (Importirt Erstellte Playlists. Es wird Empfohlen, Playlists zu Importieren die mit >WL< erstellt wurden (Betrifft *.wpl(Windows Media Player) & *.pls(Songbird) | da diese die eigenschaften haben einen Realativen Pfad anzugeben))
    Funktion2 - Liste Leeren (Alle ListView Elemente Löschen)
    Funktion3 - Maske (Ändert die GUI farbe)
    ContextMenü
    Funktion1 - Löschen (Löscht das Markierte ListView Element)
    Funktion2 - File Hinzufügen (Fügt ein neues *.mp3 nach wahl ein)
    Funktion3 - Playlist Importieren
    Funktion4 - Liste Leeren
    Funktion5 - Doppelte Entfernen (Löschen dopelter ListView Elemente. Damit ist gemeint, das wen es 2x den selbigen Song enthält, einer Gelöscht wird)
    Diese Funktionen werden NICHT auf WL Easy übertragen. Da WL Easy noch schlichter und einfacher bleiben soll als WL selbst

    07.03.2011 - Das Markieren und Löschen von Items in der ListView ist nun möglich via "Del" taste oder Rechtsklick auf das Item-->"Löschen"
    07.03.2011 - WL erneut überarbeitet, Bug für Win XP User sollte nun Behoben sein
    06.03.2011 - WL überarbeitet, Es können nun mehrere Playlists erstellt werden
    06.03.2011 - Bei WL hab ich noch ein Clear ListView eingeparkt :P das ermöglicht es die Liste zu leeren und das prog nicht immer neu gestartet werden muss
    06.03.2011 - Nochmals WL.au3 & WL.7z UpDate (Und nun hoff ich sind dieFehler bei der .wpl für den WMP behoben für den WMP win XP)
    05.03.2011 - WL.au3 & WL.7z UptoDate (Fehler mit WMP bei Win XP Hoffentlich behoben)
    05.03.2011 - WL.7z hinzugefügt (Beinhaltet 2 Ordner WL (Inhalt: WL.au3|WL.exe|icon)) WL Easy (Inhalt: WL Easy.au3|WL Easy.exe|icon)))
    05.03.2011 - Beschreibungen und Angaben hinzugefügt


    Grüsse
    Skilkor

    Dateien

    WL 1_5.au3 32,18 kB – 278 Downloads WL.7z 573,61 kB – 329 Downloads WL Easy 1_2.au3 12,12 kB – 309 Downloads
  • Musikplayer - Paar Problemchen

    • Skilkor
    • 2. März 2011 um 21:06

    MPEG ist die Codiering wen ich mich nicht Irre
    Falls doch...Berichtigt mich :P

  • GDI+ Auf Desktop/Bildschirm zeichnen.

    • Skilkor
    • 2. März 2011 um 19:20

    höhö dass macht Spass xD So kann man direkt Dinge mit Schwarzen Balken überziehen die man nicht sehen sollte ^^

  • autoit datein aus handy

    • Skilkor
    • 2. März 2011 um 13:48

    soweit ich weiss kan "Windows Mobile" nur bedingt .exe ausführen, wen überhaupt

  • Frage zu nem "Kleinen" Script

    • Skilkor
    • 2. März 2011 um 13:28

    ach da kann man manche hersteller drauf hinweissen bis man ein grünling wird.... viele wollen einfach nicht -.-'

  • Frage zu nem "Kleinen" Script

    • Skilkor
    • 2. März 2011 um 10:28

    Babb... Sicher ^^ aber was ist wen der fehler an der Software Liegt? Die kannste ja nicht einfach Ändern..Copyright lässt grüssen ^^

  • Frage zu nem "Kleinen" Script

    • Skilkor
    • 1. März 2011 um 18:49

    Schon klar, da jedes If mit einem EndIf beendet werden muss
    wie z.b. im obrigen Script

    [autoit]


    If WinExists("Ultima Online - (Keine Rückmeldung)") Then
    WinActivate("Ultima Online - (Keine Rückmeldung)")
    Send('{UP},{ENTER}')
    Sleep(1000)
    WinKill("Ultima Online - (Keine Rückmeldung)")
    ShellExecute("C:Programme\Razor\Razor.exe")
    Sleep(5000)
    $runtime = timerdiff($start)
    EndIf

    [/autoit]


    Poste doch am Besten das gesamte Script in einem Spoiler

    PHP
    [spoiler][autoit]Deine Script[/autoit][/spoiler]
  • Frage zu nem "Kleinen" Script

    • Skilkor
    • 1. März 2011 um 18:24

    Sorry aber, Ich finde dies ist zu Lang... Das kann man doch So (Auch ohne Array) verkürzen
    Ich überlege mir mal was ^^

    ***Edit***
    Mir fällt grad nix ein (Hab zu viel Hunger, da is mein Hirn zu Schlapp :S)

  • Frage zu nem "Kleinen" Script

    • Skilkor
    • 1. März 2011 um 17:53

    also,
    1´000 = 1sec
    60´000 = 1min
    1`800`000 = 30min

    (Sollte Stimmen)
    Skilkor

  • Frage zu nem "Kleinen" Script

    • Skilkor
    • 1. März 2011 um 17:35
    [autoit]

    TimerDiff

    [/autoit]


    Meinte misterspeed
    Ach da wahr er Schneller beim Korigieren höhö

  • Frage zu nem "Kleinen" Script

    • Skilkor
    • 1. März 2011 um 17:28

    Denk ein bisschen nach?
    Ansonnsten muss ich dich doch in die Jobbörse verweissen :D
    Tip:
    Du kennst bisjetze die Funktionen

    [autoit]


    While 1
    Wend
    Sleep()
    WinSetState()
    WinActivate()
    WinActive()
    WinExists()
    WinWaitActive()
    WinClose()
    WinWaitClose()
    ShellExecute()
    Run()
    Send()
    Do
    If
    EndIf
    Else
    ElseIf
    Until
    Not

    [/autoit]


    Und sicher nochn Paar mehr....
    Versuche daraus was zu machen :D
    Skilkor

  • Frage zu nem "Kleinen" Script

    • Skilkor
    • 1. März 2011 um 17:12
    Zitat von nightfire0110

    Winactive ist ja im Script Drinne aber erst nach dem die fehlermeldung kommt , Suche Gerade im Wiki oder Buch nach der Erklärung für den WinSetState mit dme soll man minimieren und maximieren können


    Da

    [autoit]

    ;Zeigt, versteckt, minimiert, maximiert oder stellt ein Fenster wieder her.
    WinSetState('title','text',flag)
    ;~ title Der Titel des Fensters, dessen Status verändert werden soll. Siehe Erweiterte Fenstertiteldefinition.
    ;~ text Der Text des Fensters, dessen Status verändert werden soll.
    ;~ flag Der "show" Flag des ausgeführten Programms:
    ;~ @SW_HIDE = Versteckt das Fenster.
    ;~ @SW_SHOW = Zeigt ein vorher verstecktes Fenster.
    ;~ @SW_MINIMIZE = Minimiert das Fenster.
    ;~ @SW_MAXIMIZE = Maximiert das Fenster.
    ;~ @SW_RESTORE = Macht eine Fensterminimierung oder -maximierung rückgängig.
    ;~ @SW_DISABLE = Deaktiviert ein Fenster.
    ;~ @SW_ENABLE = Aktiviert ein Fenster.

    [/autoit]


    Verwende doch die F1 Taste in Scite ^^

    ***Edit***
    Fies nun wahr 'r4lf' Schneller X(

    ***Edit1***
    Hier kannst du die Hilfe Herunterladen
    Einfach in dass AutoIt Installations Verzeichniss Kopieren da man als Standard die Englishe Hilfe drin hat

  • Frage zu nem "Kleinen" Script

    • Skilkor
    • 1. März 2011 um 17:03

    Gut :D
    Ja dass ist denk ich möglich, mit

    [autoit]


    ;Holt ein bestimmtes Fenster in den Vordergrund und setzt den Fokus auf dasselbe.
    WinActivate('title' [,'text'])

    [/autoit]
  • Frage zu nem "Kleinen" Script

    • Skilkor
    • 1. März 2011 um 16:58
    Zitat von r4lf

    Edit: da war jemand schneller :D


    HöHö ^^ Ja, aber das mit dem

    [autoit]

    AdlibRegister
    ;und
    AdlibUnregister

    [/autoit]


    wusst ich Selbst nicht ^^

    Zitat von sumsum


    Sie umschliessen sich gegenseitig , d.h. Wenn du zum Beispiel in einer Msgbox einen String mit " " ausgeben willst könntest du es so schreiben : Msgbox(0,"Test",'Das "weil" steht in Anführungszeichen')


    Besser hätt man es Iwrklich nicht Erklären können :D

    Aber eben @nightfire0110

    Pass Wirklich auf was du mit "MoouesClick" Anstellst, Gewarrnt hab ich dich ja Bereits ^^

    Skilkor

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™