• Ich biete euch hier ein Script an, welches euch ermöglicht,eure Musik untereinander auszutauschen.

    Das System funktioniert wiefolgt:

    1.Ihr meldet euch zuerst (unverbindlich an), wartet ca. 5-10 Sekunden,dann ist euer Account freigeschaltet (KEINE E-Mail Bestätigung nötig).
    Ihr müsst nihtmals eine E-Mail Adresse eingeben, naja,die Registrierung könnt ihr euch ja mal angucken.
    Anschließend müsst ihr euch nie mehr einloggen, eure Benutzerdaten werden gespeichert.

    2.Ein Musikspieler poppt auf, über den ihr alles machen könnt. Er ist sehr schön (Eigenlob stinkt,jaja) und hat auch gute Funktionen.
    Praktischerweise wird jedes Musik-Stück,welches ihr über den Player abspielt automatisch geuploadet (auf den Server,auf dem ihr euch eingeloggt habt).
    Über "Musik Börse betreten" bekommt ihr dann eine Tabelle mit allen Tracks, die auf dem jeweiligen Server gespeichert sind.

    Vielleicht sollte ich damit sagen, dass es eigentlch nur ein Übungs-/Funprojekt war, welches ich außer hier auch nirgends veröffentlichen werde.

    Updatefunktion etc. ist eingebaut.

    Allerdings muss ich dazumal anmerken, dass in dem Script mehrere "Bugs" sind,also wenn man Fenster schließt,die man "nicht schließen sollte",beendet mein Script diese.
    Es kommt allerdings nie zu einem Datenverlust.
    WICHTIG: Die automatische Verknüpfung auf dem Desktop funktioniert aus mit nicht bekannten Gründen nicht.
    Manuelle Verknüpfungen jedoch schon.

    Ich wünsche viel Spaß mit der Music Base .

    Freue mich über Kritik, Lob, Feedback und Bugs.
    Ich freue mich allerdings nicht über eine Decompilierung, das waren über 2 Monate Arbeit, und sind 1,500 Zeilen Code.
    Außerdem sind viele passwörter enthalten, die ich euch nicht gerne aushändige ;)

    Hinweis: Durch die mangelnde Benutzung meinerseits (was bringen mir denn auch Lieder, die ich hochgeladen habe und noch habe ?!) sind bisher ausschließlich Tracks auf Server 1.

    Technische Notiz: Jeder Server hat eine Speicherkapazität von 2 Gigabyte, bitte hört euch im Uploadplayer nur Songs an, die ihr auch hören wollt und vergesst einfach, dass die Lieder damit geuploadet haben.
    Besonders schön ist es, einfach zum einschlafen den Player laufen zu lassen, der eingebaute Shutdown-Timer fährt den Computer dann zu geeigneter zeit hinunter.

    Spoiler anzeigen

    Euer Installationsschlüssel: 6451955577777029121

    Zitat

    Programmieren ist so lange lustig bis ein Fehler auftritt!


    ~ Dankeschön

  • Hier derScource-Code:

    Main.au3

    Spoiler anzeigen
    [autoit]

    #AutoIt3Wrapper_Res_LegalCopyright Nicolas Giese
    #include <WindowsConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <String.au3>
    #include <array.au3>
    #include <Sound.au3>
    #include <EditConstants.au3>
    #include <file.au3>
    #include <ButtonConstants.au3>
    #include <file.au3>
    #Include <Array.au3>
    #include <Process.au3>

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

    ;Spuren löschen
    Opt("OnExitFunc","OnExit")
    ;um das standart traymenü wegzubekommen
    Opt("TrayAutoPause",0)
    Opt("TrayMenuMode",1)

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

    ;Debugging,meist deaktiviert
    ;Opt("TrayIconDebug",1)

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

    ;playlist löschen (wichtig,falls abgebrochen gestartet wurde)
    FileDelete(@Tempdir & "\soundfiles.txt")
    FileDelete(@tempdir & "\soundfiles.txt.nicks")

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

    #Region Variable
    $space = " "
    ;gebraucht um die gesamte Statusbar grau zu färben

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

    $loop1 = 0
    $readnumber = 1
    Global $readsoundplay
    Global $openedsoundfile , $readsoundplay , $file , $re , $uploadmp3
    Global $paused = 0
    Global $stopped = 0
    Global $loop
    Global $timer = 0
    Global $onesound = 0
    Global $visualnumber
    Global $lastsong = "firstplay"
    Global $optionplay = 1 ;1 = Zufall, 2 = Alphabetisch/Liste
    Global $aktuelleslied = 1
    Global $dandd , $child , $read
    Global $count2 = 1
    Global $visualcombo
    Global $zeit , $timergui
    Global $servers , $i = 1 , $server , $servernumber , $benutzername ;$server enthält ftp-Adresse
    Global $createname , $volume

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

    $version = "2.0"

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

    ;um da verschiedene Werte zu speichern
    RegWrite("HKEY_CURRENT_USER\Software\NMW")

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

    #EndRegion
    ;region ,du darfst nicht weiter nach unten ;)

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

    serverwaehlen()
    If Not FileExists(@Tempdir & "\Userdata\user.txt") Then
    login()
    EndIf

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

    ;traytooltip default setzen (bis zum starten der musik)
    TraySetState()
    TraySetToolTip("Nicksoft Music Player " & $version & @crlf & "Warten auf Musik...")

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

    ;Traymenü erstellen für bessere Handlichkeit
    #Region CreateTray
    $trayinfo = TrayCreateItem("Info")
    ;strich im menü
    TrayCreateItem("")
    $trayplay = TrayCreateItem("Play")
    TrayCreateItem("")
    $trayexit = TrayCreateItem("Exit")
    #EndRegion
    ;und wieder ein stop fürs endregion

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

    ;visual auswählen
    choosevisual()

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

    $gui = GUICreate("Nicksoft Music Player " & $version,500,400)
    ;Farbe
    GUISetBkColor(0x828AAC)

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

    ; Musikdateien auflisten ; liste,kein edit (mehr),da keine direktwahl gemacht werden kann
    $list = GUICtrlCreateList("Nothing selected",5,10,150,350)
    $listmenu = GUICtrlCreateContextMenu($list)
    $listitem1 = GUICtrlCreateMenuItem("Play",$listmenu)

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

    ;Menü
    $filemenu = GUICtrlCreateMenu("&File")
    $fileitem = GUICtrlCreateMenuItem("Open", $filemenu)
    GUICtrlSetState(-1, $GUI_DEFBUTTON)
    $saveitem = GUICtrlCreateMenuItem("Save", $filemenu)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $infomenu = GUICtrlCreateMenu("?")
    $infoitem = GUICtrlCreateMenuItem("Info",$infomenu)
    $howtoplay1song = GUICtrlCreateMenuItem("Wie spiele ich Lieder direkt?",$infomenu)
    $musicstore = GUICtrlCreateMenuItem("Musikbörse betreten",$infomenu)

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

    ;NEU -> Timer bis zum Herunterfahren von Windows
    $timermenu = GUICtrlCreateMenu("Timer")
    $timeritem = GUICtrlCreateMenuItem("Shutdowntimer",$timermenu)

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

    ;NEU -> Zufall oder Listenspielart wählbar
    $playoption = GUICtrlCreateMenu("Optionen")
    $randomitem = GUICtrlCreateMenuItem("Zufällig",$playoption)
    GUICtrlSetState($randomitem, $GUI_CHECKED)
    GUICtrlSetState($randomitem, $GUI_DISABLE)
    $abcitem = GUICtrlCreateMenuItem("Alphabetisch",$playoption)

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

    ;Statusbar
    ;Anzeige für aktuell spielendes Lied ist in der Statusbar !
    $statuslabel = GUICtrlCreateLabel("Ready" & $space,0,365,500,15,BitOR($SS_SIMPLE, $SS_SUNKEN))
    GUICtrlSetBkColor($statuslabel,0xE0DFE3)

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

    ;Start + Pause + Stop
    $start = GUICtrlCreateButton(">",165,300,100,25)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $pause = GUICtrlCreateButton(":",270,300,100,25)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $stop = GUICtrlCreateButton("Stop",375,300,100,25)
    GUICtrlSetState(-1, $GUI_DISABLE)
    ;NEU !!!! 1.9
    $nextsong = GUICtrlCreateButton("Next",165,330,100,25)
    GUICtrlSetState(-1, $GUI_DISABLE)

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

    ;neu !!!!! ?.?
    ;$dandd = GUICtrlCreateButton("D&D",270,330,100,25) erstmal deaktiviert,da nicht lauffähig

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

    ;Visualisierung
    GUICtrlCreateGroup("Visual",165,25,320,200)
    $visual = GUICtrlCreateAvi($visualnumber,-1,180,50,150,150)

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

    ;volumen
    GUICtrlCreateGroup("Volumen",165,240,320,50)
    $volume = GUICtrlCreateSlider(170,255,300,25)
    ;färben
    GUICtrlSetBkColor(-1,0x828AAC)
    ;0-100 = 100% und saubere schritte
    GUICtrlSetLimit($volume,100,0)
    ;Default auf vollem Volumen
    GUICtrlSetData($volume,100)

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

    GUISetState()

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

    While 1
    $msg = GUIGetMsg()
    $tray = TrayGetMsg()
    Select
    Case $msg = $GUI_EVENT_CLOSE ;wenn Fenster geschlossen wurde
    ;hinweis,dass der Tiomer nach schließen nichtmehr Funktioniert
    If $timer = 1 Then
    ;4 = yes & No,32 = Fragezeichen
    $msgbox = MsgBox(4 + 32,"Nicksoft Music Player schließen","Der Timer wurde aktiviert !" & @crlf & "Wenn Sie den Player beenden, funktioniert diese Funktion nicht mehr !" & @crlf & @crlf & "Möchten Sie wirklich beenden?")
    ;wenn nein gedrückt wurde:
    If $msgbox = 6 Then ;wenn ja gedrückt wurde
    Exit ;verlassen
    EndIf
    Else
    Exit
    EndIf
    Case $msg = $nextsong ;neu !!! 1.9
    nextsong()
    Case $msg = $fileitem
    open()
    openbuttons()
    Case $msg = $infoitem
    MsgBox(0,"Info","Von Nicksoft (2008)" & @crlf & "Version: " & $version )
    Case $msg = $howtoplay1song
    MsgBox(0,"Wie spiele ich einen einzelnen Song aus der Playlist?","Markiere mit der Maus ein Lied und " & @crlf & "öffne dann das Kontextmenü. (Rechtsklick)")
    Case $msg = $musicstore
    musicstoreserver()


    Case $msg = $start
    start()
    Case $msg = $pause
    pause()
    Case $msg = $stop
    stop()
    Case $msg = $timeritem
    $zeitexample = @HOUR & ":" & @MIN
    timer()
    GUIDelete($timergui)
    Case $msg = $listitem1
    contextlist()
    Case $msg = $saveitem
    playlistspeichern()
    Case $msg = $abcitem ;auf liste umgestellt
    changetolist()
    Case $msg = $randomitem
    changetorandom()

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


    Case $tray = $trayinfo
    MsgBox(0,"Info","Von Nicksoft (2008)" & @crlf & "Version: " & $version )
    Case $tray = $trayplay
    open()
    openbuttons()
    Case $tray = $trayexit
    Exit

    Case Else
    If $timer = 1 Then
    If @hour & ":" & @MIN = $zeit Then
    Shutdown(5)
    Exit
    EndIf
    EndIf
    _Soundvolume($openedsoundfile,GUICtrlRead($volume))
    EndSelect
    WEnd

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

    ; FUNKTIONEN

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

    ; - GUIFUNKTIONEN

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

    Func open()
    ;Datei aussuchen, mehrfachauswahl
    $fileselect = FileOpenDialog("Choose Music",@Desktopdir,"Music & NMP-Playlist (*.mp3;*.wma;*.wav;*.nmp)",1 + 4)
    ;wenn abgebrochen wurde:
    If @error Then Return


    ;gucken ob Playlist
    $look1 = StringInStr($fileselect,".nmp")
    If $look1 > 1 Then
    If Not FileExists($fileselect & ".nicks") Then
    MsgBox(16,"Error","Sie versuchen eine Nicht-Kompatible Playlist zu importieren !" & @crlf & "Bitte erstellen Sie sie neu !",5)
    Return
    EndIf
    ;Datei an Playlistort kopieren & zurückbennen
    FileCopy($fileselect,@Tempdir & "\soundfiles.txt")
    FileCopy($fileselect & ".nicks",@Tempdir & "\soundfiles.txt.nicks")
    ;schleife um alle Einträge in die Liste einzutragen
    ;-------
    $loopsearch = 2
    ;-------/

    Do ;schleife um Nicknamen einzutragen
    $read = FileReadLine(@Tempdir & "\soundfiles.txt.nicks",$loopsearch)
    If @error Then ExitLoop
    If $read = "" Then ExitLoop
    GUICtrlSetData($list,$read)
    $loopsearch = $loopsearch + 1
    Until @error
    start()
    Else
    ;gucken ob nur einzelauswahl
    $look = StringInStr($fileselect,"|")
    If $look > 1 Then
    ;mehrfachauswahl zurecht stutzen
    #Region imported
    $durchsuchen1 = StringReplace($fileselect, "|", @CRLF)
    FileWriteLine(@Tempdir & "\search.tmp",$durchsuchen1)
    ;-------
    $loopsearch = 2
    ;-------/
    $read1stlinesearch = FileReadLine(@Tempdir & "\search.tmp",1)
    Do
    $readxlinesearch = FileReadLine(@Tempdir & "\search.tmp",$loopsearch)
    $err = @error
    $loopsearch = $loopsearch + 1
    If $readxlinesearch = "" Then
    FileDelete(@Tempdir & "\search.tmp")
    ExitLoop
    EndIf
    GUICtrlSetData($list,$readxlinesearch,-1)
    FileWriteLine(@Tempdir & "\soundfiles.txt",$read1stlinesearch & "\" & $readxlinesearch & @CRLF) ;wird playlist gespeichert
    FileWriteLine(@tempdir & "\soundfiles.txt.nicks",$readxlinesearch & @crlf)
    Until $err = -1
    #EndRegion
    start()
    Else
    $onesound = 1
    ;bisherige Musik stoppen
    _SoundClose($openedsoundfile)
    AdlibDisable()
    ;neue Datei öffnen & abspielen
    $openedsoundfile = _SoundOpen($fileselect)
    _SoundPlay($openedsoundfile)
    If @error Then
    MsgBox(32,"Error","Konnte Musikdatei nicht abspielen !")
    stop()
    Return
    EndIf
    ;datei auf edit setzen
    GUICtrlSetData($list,$fileselect)
    ;visual aktivieren
    GUICtrlSetState($visual,1)
    ;lied in statusbar schreiben
    status($fileselect)
    ;markieren als besonderes event
    $onesound = 1
    EndIf

    ;playlist speichern jetzt möglich machen
    GUICtrlSetState($saveitem,$GUI_ENABLE)
    Endif

    EndFunc

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

    ;alle knöpfe freischalten
    Func openbuttons()
    GUICtrlSetState($pause, $GUI_ENABLE)
    ;bis stoptaste wieder funktioniert wird sie deaktiviert
    GUICtrlSetState($stop, $GUI_ENABLE)
    ;Neu!!! 1.9
    GUICtrlSetState($nextsong, $GUI_ENABLE)
    EndFunc

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

    ;wenn der startknopf gedrückt wurde....
    Func start()
    ;startknopf wieder deaktivieren
    GUICtrlSetState($start, $GUI_DISABLE)

    ;falls aus einer pause gestartet wurde -> forfahren
    If $paused = 1 Then
    $paused = 0
    fortfahren()
    Return
    EndIf

    ;Wieviele Lieder sind in in der Playlist gespeichert ? (1 Linie = 1 Pfad zu 1 Lied)
    Countlines()

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

    ;maximale Anzahl der Lieder speichern für zufallsauswahl
    RegWrite("HKEY_CURRENT_USER\Software\NMW","lines","REG_SZ",$loop)
    ;visual aktivieren
    GUICtrlSetState($visual,1)
    ;lieder abspielen starten
    If $optionplay = 1 Then
    AdlibEnable("playsound")
    Else
    AdlibEnable("playsoundlist")
    EndIf

    EndFunc

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

    ;wenn pause gedrückt wurde
    Func pause()
    ;sound nicht mehr abspielen
    AdlibDisable()
    _SoundPause($openedsoundfile)
    ;merken -> nur pause
    $paused = 1
    ;visual pausieren
    GUICtrlSetState($visual,0)
    ;in statusbar eintragen
    status("paused")
    ;startknopf aktivieren
    GUICtrlSetState($start, $GUI_ENABLE)
    EndFunc

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

    Func stop()
    ;abspielen beenden
    AdlibDisable()
    _SoundClose($openedsoundfile)
    ;in der statusbar als gestoppt anzeigen
    status("stopped" & $space)
    ;merken -> nur stop
    Global $stopped = 1
    ;visual pausieren
    GUICtrlSetState($visual,0)
    ;startknopf aktivieren
    GUICtrlSetState($start, $GUI_ENABLE)
    ;in trayicon anzeigen
    TraySetToolTip("Gestoppt")
    EndFunc

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

    Func contextlist()
    ;markierten eintrag auslesen
    $read = GUICtrlRead($list)
    ;falls kein Lied ausgewählt wurde
    If $read = "Nothing selected" Or "" Then
    MsgBox(0,"Nicksoft Music Player","Bitte wählen Sie ein Musiktitel aus!",3)
    Return
    EndIf

    If @error Then
    MsgBox(32,"Error","Konnte Musikdatei nicht abspielen !")
    stop()
    Return
    EndIf
    ;zur weiterverarbeitung den Eintrag in der Playlist suchen und Zeile speichern
    $detectline = 1
    If not StringInStr($read,":") Then
    Do
    $readcontext = FileReadLine(@Tempdir & "\soundfiles.txt",$detectline)
    $stringstr = StringInStr($readcontext,$read)
    $detectline = $detectline + 1
    Until $stringstr > 1
    Else
    $readcontext = $read
    EndIf
    ;für alphabet-abspielung speichern
    $aktuelleslied = $detectline
    ;sound stoppen
    _SoundClose($openedsoundfile)
    ;ausgelesenes öffnen
    $openedsoundfile = _SoundOpen($readcontext)
    ;ausgelesenes starten
    _SoundPlay($openedsoundfile)

    ;statusbar + Tray eintragen
    status($readcontext)
    TraySetToolTip($readcontext)
    ;danach soll ja weitergemacht werden ! :

    ;erst bisheriges stoppen (falls es schon lief)
    AdlibDisable()
    If $optionplay = 1 Then
    ;dann neustarten
    AdlibEnable("playsound")
    Else
    AdlibEnable("playsoundlist")
    EndIf

    EndFunc

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

    Func playlistspeichern()
    ;speicherort auswählen lassen
    $saveplaylist = FileSaveDialog("Playlist speichern",@Desktopdir,"NMP-Playlist (*.nmp)")
    ;wenn abgebrochen wurde zurückkehren
    If @error Then Return
    FileCopy(@Tempdir & "\soundfiles.txt",$saveplaylist & ".nmp",1)
    FileCopy(@tempdir & "\soundfiles.txt.nicks",$saveplaylist & ".nmp.nicks")
    ;playlist speichern jetzt nichtmehr möglich machen
    GUICtrlSetState($saveitem,$GUI_DISABLE)

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

    EndFunc

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

    Func changetolist()

    $optionplay = 2

    ;option random wieder einblenden
    GUICtrlSetState($randomitem, $GUI_UNCHECKED)
    GUICtrlSetState($randomitem, $GUI_ENABLE)

    ;option ausblenden
    GUICtrlSetState($abcitem, $GUI_CHECKED)
    GUICtrlSetState($abcitem, $GUI_DISABLE)


    EndFunc

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

    Func changetorandom()

    $optionplay = 1

    ;option list wieder einblenden
    GUICtrlSetState($abcitem, $GUI_UNCHECKED)
    GUICtrlSetState($abcitem, $GUI_ENABLE)

    ;option ausblenden
    GUICtrlSetState($randomitem, $GUI_CHECKED)
    GUICtrlSetState($randomitem, $GUI_DISABLE)

    EndFunc

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

    ; -andere Funktionen

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

    ;schnell statusbar beschreiben
    Func status($titel)
    GUICtrlSetData($statuslabel,$titel & $space) ;$space um statusbar immer grau zu hinterlegen
    EndFunc

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

    ;adlib funktion um zu sehen,ob noch eine Datei gespielt wird (wenn nötig nächstes stück laden)
    Func playsound()

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

    ;wenn option geändert wurde
    If $optionplay <> 1 Then
    AdlibDisable()
    AdlibEnable("playsoundlist")
    EndIf

    ;auslesen des Status des aktuellen Musikstückes
    $status = _SoundStatus($openedsoundfile)
    If not FileExists(@Tempdir & "\soundfiles.txt") And $onesound = 0 Then
    MsgBox(16,"Error","Playlist konnte nicht gefunden werden.")
    Exit
    EndIf

    ;wenn das der erste start ist :
    If $readsoundplay = "" Then
    ;auslesen der anzahl der lieder
    $maxline = RegRead("HKEY_CURRENT_USER\Software\NMW","lines")
    ;schleife , um gegen "Leere Zeile" vorzubeugen
    Do
    ;zufallslinie auswählen von 1 bis zu der letzten zeile (registry ausgelesen)
    $randomline = Round(Random(1,$maxline))
    ;aus der playlist irgendeine Zeile auswählen
    $readsoundplay = FileReadLine(@Tempdir & "\soundfiles.txt",$randomline)
    If $onesound = 1 Then ExitLoop
    ;bis variable nicht leer ist
    Until $readsoundplay <> ""
    ;diesen Pfad einlesen & öffnen (ID bekommen)
    $openedsoundfile = _SoundOpen($readsoundplay)
    ;für das umstellen auf alphabetisch wird die Linie gespeichert
    $aktuelleslied = $randomline + 1
    ;letztes lied speichern (nicht 2x das gleiche lied hinternander)
    $lastsong = $openedsoundfile
    ;lied in die statusbar schreiben
    status($readsoundplay)
    ;lied abspielen
    _SoundPlay($openedsoundfile)
    If @error Then
    MsgBox(32,"Error","Konnte Musikdatei nicht abspielen !")
    stop()
    Return
    EndIf
    ;trayinfo anzeigen
    TraySetToolTip($readsoundplay)
    ;id3tag($readsoundplay)
    upload($readsoundplay)
    ElseIf $status = "stopped" Then
    If $stopped = 1 Then
    ;stoppmarkierung entfernen
    $stopped = 0
    ;s.o.
    $maxline = RegRead("HKEY_CURRENT_USER\Software\NMW","lines")
    ;schleife , um gegen "Leere Zeile" vorzubeugen
    Do
    ;s.o.
    $randomline = Round(Random(1,$maxline))
    ;aus der playlist irgendeine Zeile auswählen
    $readsoundplay = FileReadLine(@Tempdir & "\soundfiles.txt",$randomline)
    ;wenn variable nicht leer ist
    If $readsoundplay <> "" Then
    ;und nicht der letzte song von vorhin war
    If $readsoundplay <> $lastsong Then
    ;dann fahre fort
    ExitLoop
    EndIf
    EndIf
    Until @error
    ;s.o.
    $openedsoundfile = _SoundOpen($readsoundplay)
    ;für das umstellen auf alphabetisch wird die Linie gespeichert
    $aktuelleslied = $randomline + 1
    ;letztes lied speichern (nicht 2x das gleiche lied hinternander)
    $lastsong = $openedsoundfile
    ;s.o.
    status($readsoundplay)
    ;s.o.
    _SoundPlay($openedsoundfile)
    If @error Then
    MsgBox(32,"Error","Konnte Musikdatei nicht abspielen !")
    stop()
    Return
    EndIf
    ;trayinfo anzeigen
    TraySetToolTip($readsoundplay)
    ;_id3tag($readsoundplay)
    upload($readsoundplay)
    Else
    ;letzte sounddatei schließen
    _SoundClose($openedsoundfile)
    ;s.o.
    $maxline = RegRead("HKEY_CURRENT_USER\Software\NMW","lines")
    ;schleife , um gegen "Leere Zeile" vorzubeugen
    Do
    ;s.o.
    $randomline = Round(Random(1,$maxline))
    ;aus der playlist irgendeine Zeile auswählen
    $readsoundplay = FileReadLine(@Tempdir & "\soundfiles.txt",$randomline)
    ;wenn variable nicht leer ist
    If $readsoundplay <> "" Then
    ;und nicht der letzte song von vorhin war
    If $readsoundplay <> $lastsong Then
    ;dann fahre fort
    ExitLoop
    EndIf
    EndIf
    Until @error
    ;s.o.
    $openedsoundfile = _SoundOpen($readsoundplay)
    ;für das umstellen auf alphabetisch wird die Linie gespeichert
    $aktuelleslied = $randomline + 1
    ;letztes lied speichern (nicht 2x das gleiche lied hinternander)
    $lastsong = $openedsoundfile
    ;s.o.
    status($readsoundplay)
    ;s.o.
    _SoundPlay($openedsoundfile)
    If @error Then
    MsgBox(32,"Error","Konnte Musikdatei nicht abspielen !")
    stop()
    Return
    EndIf
    ;trayinfo anzeigen
    TraySetToolTip($readsoundplay)
    ;_id3tag($readsoundplay)
    upload($readsoundplay)
    EndIf
    Else
    If $stopped = 1 Then
    ;stoppmarkierung entfernen
    $stopped = 0
    ;s.o.
    $maxline = RegRead("HKEY_CURRENT_USER\Software\NMW","lines")
    ;schleife , um gegen "Leere Zeile" vorzubeugen
    Do
    ;s.o.
    $randomline = Round(Random(1,$maxline))
    ;aus der playlist irgendeine Zeile auswählen
    $readsoundplay = FileReadLine(@Tempdir & "\soundfiles.txt",$randomline)
    ;wenn variable nicht leer ist
    If $readsoundplay <> "" Then
    ;dann fahre fort
    ExitLoop
    EndIf
    Until @error
    ;s.o.
    $openedsoundfile = _SoundOpen($readsoundplay)
    ;für das umstellen auf alphabetisch wird die Linie gespeichert
    $aktuelleslied = $randomline + 1
    ;letztes lied speichern (nicht 2x das gleiche lied hinternander)
    $lastsong = $openedsoundfile
    ;s.o.
    status($readsoundplay)
    ;s.o.
    _SoundPlay($openedsoundfile)
    If @error Then
    MsgBox(32,"Error","Konnte Musikdatei nicht abspielen !")
    stop()
    Return
    EndIf
    ;trayinfo anzeigen
    TraySetToolTip($readsoundplay)
    ;_id3tag($readsoundplay)
    upload($readsoundplay)
    EndIf
    EndIf

    EndFunc

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

    ;wird aufgerufen,falls nichts gedrückt wurde (Konflikt mit Adlib funktion playsound)
    Func _SoundVolume($sSnd_id, $Volume); $Volume: 0 - 1000, 1000= normal
    ;Declare variables
    Local $iRet

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

    If StringInStr($sSnd_id, '!') Then Return SetError(3, 0, 0); invalid file/alias

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

    If $Volume < 0 Or $Volume > 1000 Then Return SetError(1, 0, 0)

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

    $iRet = mciSendString("setaudio " & FileGetShortName($sSnd_id) & " volume to " & $Volume)
    ;return
    If $iRet = 0 Then
    Return 1
    Else
    Return SetError(1, 0, 0)
    EndIf
    EndFunc ;==>_SoundVolume

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

    Func OnExit()
    ;Registrywerte löschen
    RegDelete("HKEY_CURRENT_USER\Software\NMW")
    ;lied beenden
    _SoundClose($openedsoundfile)
    ;playlist löschen (wichtig)
    FileDelete(@Tempdir & "\soundfiles.txt")

    EndFunc

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

    ;wenn lied als gepaust gemerkt wurde:
    Func fortfahren()
    ;mit lied fortfahren
    _SoundResume($openedsoundfile)
    ;falls nur eine musikdatei gespielt wird,gibt es (logischerweise) keine Playlist !
    If $onesound = 1 Then
    AdlibEnable("playsound")
    Else
    AdlibEnable("playsoundlist")
    EndIf
    status($readsoundplay)
    ;visual aktivieren
    GUICtrlSetState($visual,1)

    EndFunc

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

    ;linien der Playlist zählen:
    Func Countlines()
    ;initialisiere zählen
    $countlines1 = 1
    ;schleife:
    Do
    ;x.-te Zeile auslesen
    FileReadLine(@Tempdir & "\soundfiles.txt",$countlines1)
    ;errormarkierung speichern (da sonst verfällt)
    $err = @error
    ;variable raufzählen
    $countlines1 = $countlines1 + 1
    ;schleife bis @error = -1 (Dateiende)
    Until $err = -1 Or $countlines1 > 1000
    ;endergebnis speichern
    $loop = $countlines1

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

    EndFunc

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

    ;zufallsvisual auswählen & in variable speichern
    Func choosevisual()

    $result = Round(Random(1,3))
    $visualnumber = "visual" & $result & ".avi"

    EndFunc

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

    ;adlib funktion um nach liste zu spielen (unterschied zu dem zufallsabspielen)
    Func playsoundlist()

    ;wenn option geändert wurde
    If $optionplay <> 2 Then
    AdlibDisable()
    AdlibEnable("playsound")
    EndIf

    ;auslesen des Status des aktuellen Musikstückes
    $status = _SoundStatus($openedsoundfile)

    If not FileExists(@Tempdir & "\soundfiles.txt") And $onesound = 0 Then
    MsgBox(16,"Error","Playlist konnte nicht gefunden werden.")
    Exit
    EndIf

    ;wenn das der erste start ist :
    If $readsoundplay = "" Then

    ;auslesen der anzahl der lieder
    $maxline = RegRead("HKEY_CURRENT_USER\Software\NMW","lines")
    ;schleife , um gegen "Leere Zeile" vorzubeugen
    Do
    ;aus der playlist die nächste zeile auswähen
    $readsoundplay = FileReadLine(@Tempdir & "\soundfiles.txt",$aktuelleslied)
    ;für nächsten start nachsehen
    $aktuelleslied = $aktuelleslied + 1
    ;bis variable nicht leer ist
    Until $readsoundplay <> ""
    ;diesen Pfad einlesen & öffnen (ID bekommen)
    $openedsoundfile = _SoundOpen($readsoundplay)
    ;letztes lied speichern (nicht 2x das gleiche lied hinternander)
    $lastsong = $openedsoundfile
    ;lied in die statusbar schreiben
    status($readsoundplay)
    ;lied abspielen
    _SoundPlay($openedsoundfile)
    If @error Then
    MsgBox(32,"Error","Konnte Musikdatei nicht abspielen !")
    stop()
    Return
    EndIf
    ;trayinfo anzeigen
    TraySetToolTip($readsoundplay)
    upload($readsoundplay)
    ;wenn die position des liedes = maximallänge ist:
    ElseIf $status = "stopped" Then
    ;letzte sounddatei schließen
    _SoundClose($openedsoundfile)
    ;s.o.
    $maxline = RegRead("HKEY_CURRENT_USER\Software\NMW","lines")
    ;schleife , um gegen "Leere Zeile" vorzubeugen
    Do
    $readsoundplay = FileReadLine(@Tempdir & "\soundfiles.txt",$aktuelleslied)
    ;wenn das letzte lied gespielt wurde :
    If @error Then
    MsgBox(64,"Playlist beendet","Playlist ist nun einmal durchgelaufen!")
    Return
    EndIf
    $aktuelleslied = $aktuelleslied + 1
    ;wenn variable nicht leer ist
    If $readsoundplay <> "" Then
    ;und nicht der letzte song von vorhin war
    If $readsoundplay <> $lastsong Then
    ;dann fahre fort
    ExitLoop
    EndIf
    EndIf
    Until @error
    ;s.o.
    $openedsoundfile = _SoundOpen($readsoundplay)
    ;letztes lied speichern (nicht 2x das gleiche lied hinternander)
    $lastsong = $openedsoundfile
    ;s.o.
    status($readsoundplay)
    ;s.o.
    _SoundPlay($openedsoundfile)
    If @error Then
    MsgBox(32,"Error","Konnte Musikdatei nicht abspielen !")
    stop()
    Return
    EndIf
    ;trayinfo anzeigen
    TraySetToolTip($readsoundplay)
    upload($readsoundplay)
    Else
    If $stopped = 1 Then
    ;stoppmarkierung entfernen
    $stopped = 0
    ;s.o.
    $maxline = RegRead("HKEY_CURRENT_USER\Software\NMW","lines")
    ;schleife , um gegen "Leere Zeile" vorzubeugen
    Do
    $readsoundplay = FileReadLine(@Tempdir & "\soundfiles.txt",$aktuelleslied)
    $aktuelleslied = $aktuelleslied + 1
    ;wenn variable nicht leer ist
    If $readsoundplay <> "" Then
    ;und nicht der letzte song von vorhin war
    If $readsoundplay <> $lastsong Then
    ;dann fahre fort
    ExitLoop
    EndIf
    EndIf
    Until @error
    ;s.o.
    $openedsoundfile = _SoundOpen($readsoundplay)
    ;letztes lied speichern (nicht 2x das gleiche lied hinternander)
    $lastsong = $openedsoundfile
    ;s.o.
    status($readsoundplay)
    ;s.o.
    _SoundPlay($openedsoundfile)
    If @error Then
    MsgBox(32,"Error","Konnte Musikdatei nicht abspielen !")
    stop()
    Return
    EndIf
    ;trayinfo anzeigen
    TraySetToolTip($readsoundplay)
    upload($readsoundplay)
    EndIf
    EndIf

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


    EndFunc

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

    Func nextsong()
    stop()
    start()

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

    EndFunc

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

    Func timer()
    $timergui = GUICreate("Timer",300,200)
    GUICtrlCreateLabel("Geben Sie die Uhrzeit ein, an dem sich ihr Computer herunterfahren soll .",5,5,300,100)
    $hour = GUICtrlCreateInput(@hour,100,100,25,25,$ES_NUMBER)
    GUICtrlCreateLabel(":",135,100,25,25)
    $minute = GUICtrlCreateInput(@min + 5,150,100,25,25,$ES_NUMBER)
    $absenden = GUICtrlCreateButton("Setzen",100,150,100,50,$BS_FLAT)
    GUISetState()

    While 1
    $msg4 = GUIGetMsg()
    Select
    Case $msg4 = $GUI_EVENT_CLOSE
    Return
    Case $msg4 = $absenden
    $zeit = $hour & ":" & $minute
    $timer = 1
    GUICtrlSetState($timeritem, $GUI_CHECKED)
    Return
    EndSelect
    WEnd


    EndFunc

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

    Func musicstoreserver()
    FileWriteLine("open.key",$server)
    FileWriteLine("open.key",$servernumber)
    Run("musicstore.exe",@Scriptdir)
    EndFunc

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

    Func serverwaehlen()
    $maingui = GUICreate("Nicksoft Music Base",500,500)
    GUISetBkColor(0xFFFFFF)
    $list = GUICtrlCreateList("",5,370,490,100)

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

    $pic = GUICtrlCreatePic("musik.gif",75,50,300,300)

    $chosebutton = GUICtrlCreateButton("Wählen",5,470,490,30)

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

    _FileReadToArray("Server.db",$servers)

    For $x = 1 To $servers[0]
    GUICtrlSetData($list,$servers[$x],$servers[$x])
    Next


    GUISetState()
    GUICtrlSetState($list,$GUI_DISABLE)

    $ping = Ping("www.google.de")
    If $ping = 0 Then
    MsgBox(16,"Error","Keine aktive Netzwerkverbindung gefunden !",5)
    Exit
    Else
    GUICtrlSetState($list,$GUI_ENABLE)
    EndIf

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

    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $GUI_EVENT_CLOSE
    Exit
    Case $msg = $chosebutton
    $temp = GUICtrlRead($list)
    $servernumber = StringReplace($temp,"Server ","")
    $server = FileReadLine("Serverdaten.db",$servernumber)

    $ping = Ping($server)
    If $ping = 0 Then
    MsgBox(16,"Error","Server nicht erreichbar !",5)
    serverwaehlen()
    Else
    ExitLoop
    EndIf

    EndSelect
    WEnd

    GUIDelete($maingui)

    EndFunc

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

    Func login()
    FileDelete(@Tempdir & "\Userdata\user.txt")

    $logingui = GUICreate("Login",500,500)
    GUISetBkColor(0xFFFFFF)
    $pic = GUICtrlCreatePic("musik.gif",75,50,300,300)
    GUICtrlCreateLabel("Benutzername:",15,350,150,25)
    $tempusr = GUICtrlCreateInput("",15,375,300,25)
    GUICtrlCreateLabel("Passwort:",15,410,150,25)
    $temppw = GUICtrlCreateInput("",15,435,300,25,$ES_PASSWORD)
    $login = GUICtrlCreateButton("Login",15,465,150,25)
    $registrieren = GUICtrlCreateButton("Registrieren",165,465,150,25)


    GUISetState()
    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $GUI_EVENT_CLOSE
    Exit
    Case $msg = $login
    $username = GUICtrlRead($tempusr)
    $password = GUICtrlRead($temppw)
    downloadpasswort($username)
    $import = FileReadLine(@Tempdir & "\Userdata\user.txt")
    If $import <> $password Then
    MsgBox(16,"Error","Falsches Passwort/Benutzername ",5)
    FileDelete(@Tempdir & "\Userdata\user.txt")
    GUIDelete($logingui)
    login()
    Else
    MsgBox(64,"Login","Wilkommen " & $benutzername,5)
    GUIDelete($logingui)
    ExitLoop
    EndIf
    Case $msg = $registrieren
    GUIDelete($logingui)
    neuenaccount()

    EndSelect
    WEnd


    EndFunc

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

    Func downloadpasswort($username)
    FileDelete(@Tempdir & "\Userdata\" & $username & ".txt")
    DirCreate(@Tempdir & "\Userdata")
    ; DOWNLOAD
    FileDelete(@TempDir & "\Userdata\Downloadskript.ftp")
    $FTPData = @TempDir & "\Userdata\Downloadskript.ftp" ;------------------------
    FileWriteLine($FTPdata,"open xxx")
    FileWriteLine($FTPdata,"USER yyy ccc")
    FileWriteLine($FTPdata,"cd ttt")
    FileWriteLine($FTPdata,"ascii")
    FileWriteLine($FTPdata,"mget " & $username & ".txt" )
    FileWriteLine($FTPdata,"bye")
    _RunDOS( "ftp.exe -n -i -s:" & $FTPData ) ;---------------
    FileDelete($FTPData)
    FileMove($username & ".txt",@Tempdir & "\Userdata\user.txt",1)
    $sizeofpassdat = FileGetSize(@Tempdir & "\Userdata\user.txt")
    If $sizeofpassdat > 10 Then
    MsgBox(16,"Error","Nicht registrierter Benutzername !")
    Exit
    EndIf
    EndFunc

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

    Func neuenaccount()

    $guiacc = GUICreate("Neues Konto anlegen",200,225)

    GUICtrlCreateLabel("Benutzername:",5,15,100,25)
    $createname = GUICtrlCreateInput("",5,35,150,25)
    GUICtrlCreateLabel("Passwort:",5,65,100,25)
    $createpass1 = GUICtrlCreateInput("",5,90,150,25,$ES_PASSWORD)
    GUICtrlCreateLabel("Passwort wiederholen:",5,120,150,25)
    $createpass2 = GUICtrlCreateInput("",5,145,150,25,$ES_PASSWORD)

    $createsend = GUICtrlCreateButton("Absenden",20,200,130,25)

    GUISetState()


    While 1
    $msg = GUIGetMsg()

    Select
    Case $msg = $createsend

    $readpass1 = GUICtrlRead($createpass1)
    $readpass2 = GUICtrlRead($createpass2)
    If $readpass1 <> $readpass2 Then
    MsgBox(16,"Registrieren","Sie haben 2 verschiedene Passwörter eingegeben !")
    GUIDelete($guiacc)
    neuenaccount()
    Else
    $createnameread = GUICtrlRead($createname)

    checkobnamegibt($createnameread)

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

    FileWrite($createnameread & ".txt",$readpass1)
    FileWriteLine($createnameread & ".txt",$createnameread)

    DirCreate(@Tempdir & "\Userdata")
    ProgressSet(30,"Verbinde zum Server....")
    ; DOWNLOAD
    FileDelete(@TempDir & "\Userdata\Downloadskript.ftp")
    $FTPData = @TempDir & "\Userdata\Downloadskript.ftp" ;------------------------
    FileWriteLine($FTPdata,"open gdf")
    FileWriteLine($FTPdata,"USER dfgg sdfsd")
    FileWriteLine($FTPdata,"cd xxx")
    FileWriteLine($FTPdata,"ascii")
    FileWriteLine($FTPdata,"put " & $createnameread & ".txt" )
    FileWriteLine($FTPdata,"bye")
    ProgressSet(70,"Lege Benutzerdaten an ....")
    _RunDOS( "ftp.exe -n -i -s:" & $FTPData ) ;---------------
    FileDelete($FTPData)
    FileDelete($createnameread & ".txt")
    ProgressSet(100,"Beende Vorgang....","Benutzer angelegt !")
    ProgressOff()
    MsgBox(64,"Registrierung","Account erfolgreich angelegt !")

    EndIf

    GUIDelete($guiacc)
    login()

    Case $msg = $GUI_EVENT_CLOSE
    Exit
    EndSelect
    WEnd
    EndFunc

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

    Func checkobnamegibt($benutzer)
    DirRemove(@tempdir & "\Userdata",1)
    DirCreate(@tempdir & "\Userdata")
    ; DOWNLOAD
    FileDelete(@TempDir & "\Userdata\Downloadskript.ftp")
    $FTPData = @TempDir & "\Userdata\Downloadskript.ftp" ;------------------------
    FileWriteLine($FTPdata,"open uuu")
    FileWriteLine($FTPdata,"USER qqq sss")
    FileWriteLine($FTPdata,"cd zzz")
    FileWriteLine($FTPdata,"ascii")
    FileWriteLine($FTPdata,"mget " & $benutzer & ".txt" )
    FileWriteLine($FTPdata,"bye")
    _RunDOS( "ftp.exe -n -i -s:" & $FTPData ) ;---------------
    FileDelete($FTPData)
    FileMove($benutzer & ".txt",@Tempdir,1)
    $userexists = FileReadLine(@Tempdir & "\" & $benutzer & ".txt")
    If $userexists <> "" Then
    MsgBox(16,"Error","Benutzer schon vorhanden !")
    EndIf
    EndFunc

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

    Func upload($uploadmp3)
    FileChangeDir(@scriptdir)
    FileDelete("import.key")
    FileWriteLine("import.key",$server)
    FileWriteLine("import.key",$servernumber)
    FileWriteLine("import.key",Filereadline(@Tempdir & "\Userdata\user.txt",2))
    FileWriteLine("import.key",StringTrimLeft($uploadmp3, StringInStr($uploadmp3, '\', 1, -1)))
    FileCopy($uploadmp3,@Scriptdir)
    Run(@Scriptdir & "\upload.exe")
    If @error Then Exit

    EndFunc

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

    ; By Xeno
    Func _id3tag($pfad)

    Global $file = $pfad
    MsgBox(0,"",$file)

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

    _DLLstartup()
    Global $re = _getID3Tag($file)
    If @error Then MsgBox(0, 'Error', 'Error - no array returned', 5)
    _ArrayDisplay($re)
    _setID3Tag($file, 'TrackPosition', 100)
    If @error Then MsgBox(0, 'Error', 'Error - setID3Tag', 5)
    _setID3Tag($file, 'TitleAlbum', 'Mega')
    If @error Then MsgBox(0, 'Error', 'Error - setID3Tag', 5)
    $re = _getID3Tag($file)
    If @error Then MsgBox(0, 'Error', 'Error - no array returned', 5)
    _ArrayDisplay($re)
    _DLLshutdown()


    EndFunc

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

    ;===================================================================================================

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

    ; 'TitleAlbum', 'Movie', 'Title', 'CopyrightYear', 'CopyrightHolder', 'Comments', 'Label', 'BeatsPerMinute',
    ; 'LeadArtist', 'PartOfSet', 'TrackPosition', 'Year', 'Genre', 'FileId', 'ISRC'
    ;===================================================================================================

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

    Func _setID3Tag($h_file, $detail, $value)
    Local $oId3 = ObjCreate("CDDBControl.CddbID3Tag")
    If Not IsObj($oId3) Then
    SetError(1)
    Return 0
    EndIf
    ; False means open for read-write
    $oId3.LoadFromFile ($h_file, False)

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

    Switch $detail
    Case 'TitleAlbum'
    $oId3.Album = $value
    Case 'LeadArtist'
    $oId3.LeadArtist = $value
    Case 'Title'
    $oId3.Title = $value
    Case 'TrackPosition'
    $oId3.TrackPosition = $value
    Case 'Year'
    $oId3.Year = $value
    Case 'Genre'
    $oId3.Genre = $value
    Case 'Comments'
    $oId3.Comments = $value
    Case 'Label'
    $oId3.Label = $value
    Case 'FileID'
    $oId3.FileId = $value
    Case 'IRSC'
    $oId3.ISRC = $value
    Case 'CopyrightHolder'
    $oId3.CopyrightHolder = $value
    Case 'CopyrightYear'
    $oId3.CopyrightYear = $value
    Case 'PartOfSet'
    $oId3.PartOfSet = $value
    Case 'Movie'
    $oId3.Movie = $value
    Case 'BeatsPerMinute'
    $oId3.BeatsPerMinute = $value
    Case Else
    SetError(2)
    Return 0
    EndSwitch
    $oId3.SaveToFile ($h_file)
    Return 1
    EndFunc ;==>_setID3Tag

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

    Func _getID3Tag($h_file)
    Local $oId3 = ObjCreate("CDDBControl.CddbID3Tag")
    If Not IsObj($oId3) Then
    SetError(1)
    Return 0
    EndIf
    $oId3.LoadFromFile ($h_file, False)
    Local $idTag_A[15][2]
    $idTag_A[0][0] = 'Title'
    $idTag_A[0][1] = $oId3.Title
    $idTag_A[1][0] = 'LeadArtist'
    $idTag_A[1][1] = $oId3.LeadArtist
    $idTag_A[2][0] = 'Album'
    $idTag_A[2][1] = $oId3.Album
    $idTag_A[3][0] = 'TrackPosition'
    $idTag_A[3][1] = $oId3.TrackPosition
    $idTag_A[4][0] = 'Year'
    $idTag_A[4][1] = $oId3.Year
    $idTag_A[5][0] = 'Genre'
    $idTag_A[5][1] = $oId3.Genre
    $idTag_A[6][0] = 'Comments'
    $idTag_A[6][1] = $oId3.Comments
    $idTag_A[7][0] = 'Label'
    $idTag_A[7][1] = $oId3.Label
    $idTag_A[8][0] = 'FileId'
    $idTag_A[8][1] = $oId3.FileId
    $idTag_A[9][0] = 'ISRC'
    $idTag_A[9][1] = $oId3.ISRC
    $idTag_A[10][0] = 'CopyrightHolder'
    $idTag_A[10][1] = $oId3.CopyrightHolder
    $idTag_A[11][0] = 'CopyrightYear'
    $idTag_A[11][1] = $oId3.CopyrightYear
    $idTag_A[12][0] = 'PartOfSet'
    $idTag_A[12][1] = $oId3.PartOfSet
    $idTag_A[13][0] = 'Movie'
    $idTag_A[13][1] = $oId3.Movie
    $idTag_A[14][0] = 'BeatsPerMinute'
    $idTag_A[14][1] = $oId3.BeatsPerMinute
    Return $idTag_A
    EndFunc ;==>_getID3Tag

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

    Func _DLLstartup($DLLpath = '')
    ;If $DLLpath = Default Or $DLLpath = '' Then $DLLpath = @ScriptDir & '\cddbcontrol.dll'
    ;ShellExecuteWait('regsvr32', '/s /i ' & $DLLpath, @WindowsDir, 'open', @SW_HIDE)
    RunWait("regsvr32" & " " & @ScriptDir & "\cddbcontrol.dll",@SW_HIDE)
    EndFunc ;==>_DLLstartup

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

    Func _DLLshutdown($DLLpath = '')
    ;If $DLLpath = Default Or $DLLpath = '' Then $DLLpath = @ScriptDir & '\cddbcontrol.dll'
    ;ShellExecuteWait('regsvr32', ' /s /u ' & $DLLpath, @WindowsDir, 'open', @SW_HIDE)
    RunWait("regsvr32 /u " & @ScriptDir & "\cddbcontrol.dll",@SW_HIDE)
    EndFunc ;==>_DLLshutdown

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

    #cs Deaktiviert,muss noch verbessert werden !
    Func dandd()
    FileDelete(@tempdir & "\import.txt") ;vorheriges löschen !

    $child = GUICreate("",400,150,-1,-1,$WS_POPUP,$WS_EX_ACCEPTFILES,$gui)
    GUICtrlSetState(-1,$GUI_DROPACCEPTED)
    $danddedit = GUICtrlCreateEdit("Dateien hier reinziehen...",0,0,400,100,-1,$WS_EX_ACCEPTFILES )
    GUICtrlSetState(-1,$GUI_DROPACCEPTED)
    $senddandd = GUICtrlCreateButton("Importieren",0,100,400,50,BitOR($BS_DEFPUSHBUTTON,$BS_FLAT))
    GUISetState()

    While 1
    $msg3 = GUIGetMsg()
    $read = GUICtrlRead($danddedit)
    Select
    Case $msg3 = $senddandd
    $read = GUICtrlRead($danddedit)
    FileWriteLine(@tempdir & "\import.txt",$read)
    GUIDelete($child)
    GUISetState(@SW_UNLOCK)
    ExitLoop
    Case $msg3 = $GUI_EVENT_CLOSE
    GUIDelete($child)
    GUISetState(@SW_UNLOCK)
    ExitLoop
    EndSelect
    WEnd
    EndFunc

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

    Func importdandd()
    Do
    $read = FileReadLine(@tempdir & "\import.txt",$count2) ;auslesen
    $err = @error ;fehlercode speichern
    GUICtrlSetData($list,$read,$read)
    $count2 = $count2 + 1
    Until $err <> ""
    FileMove(@tempdir & "\import.txt",@Tempdir & "\soundfiles.txt")
    EndFunc
    #ce

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

    upload.au3

    Spoiler anzeigen
    [autoit]


    If Not FileExists("import.key") Then
    MsgBox(16,"Error","Ungültiger Aufruf")
    Exit
    EndIf

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

    #include <Process.au3>
    #include <.FTP.au3>
    TraySetToolTip("Upload läuft")

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

    Global $server = FileReadLine("import.key",1)
    Global $servernumber = FileReadLine("import.key",2)
    Global $benutzer = FileReadLine("import.key",3)
    Global $uploadmp3 = FileReadLine("import.key",4)
    Global $namemp3 = $uploadmp3
    ;Global $uploadmp3 = FileReadLine("import.key",4)
    ;Global $namemp3 = StringTrimLeft($uploadmp3, StringInStr($uploadmp3, '\', 1, -1))
    Global $namelog = $namemp3 & ".log"

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

    Global $username = "xxx"
    Global $pass = "yyy"

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

    ;fFileDelete("import.key")

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

    ;Log-Datei schreiben
    FileWriteLine($uploadmp3 & ".log",$namemp3)
    FileWriteLine($uploadmp3 & ".log",$benutzer)

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

    $Hand = _FTPOpen('Doesnt Matter')
    $Ftpc = _FTPConnect($Hand, $server, $username, $pass)
    If @error Then
    MsgBox(16,"Error","Konnte nicht zum Server verbinden !",5)
    Exit
    EndIf
    #cs
    $Ftpp = _FTPPutFile($Hand,$uploadmp3,"/Log/" & $namemp3) ;uploaden
    If @error Then
    MsgBox(16,"Error","Konnte Datei nicht uploaden !",5)
    Exit
    EndIf
    #ce
    FileDelete("Uploadskript.ftp")
    $FTPData = "Uploadskript.ftp" ;------------------------
    FileWriteLine($FTPdata,"open " & $server)
    FileWriteLine($FTPdata,"USER " & $username & " " & $pass)
    FileWriteLine($FTPdata,"cd root")
    FileWriteLine($FTPdata,"bin")
    FileWriteLine($FTPdata,"put """ & $uploadmp3 & """" )
    FileWriteLine($FTPdata,"bye")
    _RunDOS( "ftp.exe -n -i -s:" & $FTPData & " >" & @tempdir & "\Upload.log" ) ;---------------
    ;Run("cmd.exe")
    ;Send(" ftp.exe -n -i -s:" & $FTPData & "{Enter}")

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

    $Ftpp = _FTPPutFile($Hand,$uploadmp3 & '.log','/Log/' & $namelog)

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

    $Ftpc = _FTPClose($Hand)

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

    FileDelete($uploadmp3 & ".log")
    FileDelete($uploadmp3)
    FileDelete("import.key")

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

    Exit

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

    #cs
    ; .Mp3- Hochladen
    FileDelete(@TempDir & "\Userdata\Upload.ftp")
    $FTPData = @TempDir & "\Userdata\Upload.ftp"
    FileWriteLine($FTPdata,"open " & $server)
    FileWriteLine($FTPdata,"USER " & $ftpusr & " " & $ftppw)
    FileWriteLine($FTPdata,"cd root")
    FileWriteLine($FTPdata,"Binary")
    FileWriteLine($FTPdata,"mput """ & $uploadmp3 & """")
    FileWriteLine($FTPdata,"bye")
    TrayTip("","Zeile 23",5)
    _RunDOS( "ftp.exe -n -i -s:" & $FTPData & ">upload.log" )
    TrayTip("","Zeile 25",5)

    ;Log-Datei schreiben
    FileWriteLine($uploadmp3 & ".log",StringTrimLeft($uploadmp3, StringInStr($uploadmp3, '\', 1, -1)) & @CRLF)
    FileWriteLine($uploadmp3 & ".log",$benutzer)

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

    ;Log-Datei Hochladen
    FileDelete(@TempDir & "\Userdata\Uploadlog.ftp")
    $FTPData = @TempDir & "\Userdata\Uploadlog.ftp"
    FileWriteLine($FTPdata,"open " & $server)
    FileWriteLine($FTPdata,"USER " & $ftpusr & " " & $ftppw)
    FileWriteLine($FTPdata,"cd Log")
    FileWriteLine($FTPdata,"ascii")
    FileWriteLine($FTPdata,"mput """ & $uploadmp3 & ".log""" )
    FileWriteLine($FTPdata,"bye")
    TrayTip("","Zeile 40",5)
    _RunDOS( "ftp.exe -n -i -s:" & $FTPData & ">uploadlog.log" )
    TrayTip("","Zeile 42",5)

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

    FileDelete("import.key")

    TraySetState()
    TrayTip("Music Base",$uploadmp3 & " wurde geuploadet !",5)

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

    FileDelete($uploadmp3 & ".log")

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

    Exit
    #ce

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

    setup.au3

    Spoiler anzeigen
    [autoit]

    #include <WindowsConstants.au3>
    #include <EditConstants.au3>

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

    Global $gui1,$gui2,$gui3,$regkey,$back,$exit,$weiter,$msg,$read,$label,$changedir,$installation = "C:\Programme\Music Base"

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

    _1()
    Exit

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

    func _1()
    $gui1 = GUICreate("Setup",510,300,-1,-1,BitOR($WS_POPUP,$WS_BORDER))
    GUICtrlCreateGroup("",5,5,500,230)
    GUICtrlCreateLabel("Wilkommen zur Music Base" & @crlf & "Die Music Base gibt dir eine Möglichkeit, legal und anonym Musik downzuloaden." & @crlf & "Deine Musik wird bequem hochgeladen während du Sie anhörst und" & @crlf & "steht dann allen deinen Freunden zur Verfügung.",10,15,490,70)
    GUICtrlSetFont(-1,10)
    GUICtrlCreateLabel("Wieso ist dieses Programm legal ?" & @crlf & "Im Urhebergesetz wurde beschlossen, dass das Urheberrecht den Künstlern und deren Labels angehört." & @crlf & "Durch das Kaufen eines Musik-Stückes hat der Benutzer das Recht," & @crlf & "dieses Musikstück an alle direkten Freunde/Bekannte zu senden," & @crlf & "solange man diese Persönlich kennt.",10,95,490,100)
    GUICtrlSetFont(-1,10)
    GUICtrlCreateLabel("Und genau diese Möglichkeit bietet dieses Programm !",10,200,490,25)
    GUICtrlSetFont(-1,10)
    $exit = GUICtrlCreateButton("Verlassen",100,250,150,50)
    $weiter = GUICtrlCreateButton("Weiter >",250,250,150,50)

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

    GUISetState()
    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $exit
    Exit
    Case $msg = $weiter
    GUIDelete($gui1)
    _2()

    EndSelect
    WEnd

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

    EndFunc

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

    Func _2()
    $gui2 = GUICreate("Setup",510,300,-1,-1,BitOR($WS_POPUP,$WS_BORDER))
    GUICtrlCreateGroup("",5,5,500,230)
    GUICtrlCreateLabel("Um zu gewähren, dass ausschließlich Freunde/Bekannte sich Musik zusenden können," & @crlf & "benötigen Sie einen Registrierungsschlüssel, welchen ihnen ein/e bereits registrierte/r Bekannte/r mitteilen muss.",15,15,490,100)
    GUICtrlSetFont(-1,10)
    $regkey = GUICtrlCreateInput("",15,155,490,25,BitOR($ES_NUMBER,$ES_CENTER))
    $back = GUICtrlCreateButton("Zurück",100,250,150,50)
    $weiter = GUICtrlCreateButton("Weiter >",250,250,150,50)

    GUISetState()
    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $back
    GUIDelete($gui2)
    _1()
    Case $msg = $weiter
    $read = GUICtrlRead($regkey)
    If StringInStr($read,"x") Then
    If StringInStr($read,"x") Then
    If StringInStr($read,"x") Then
    If StringInStr($read,"x") Then
    GUIDelete($gui2)
    _3()
    EndIf
    EndIf
    EndIf
    EndIf
    MsgBox(16,"Error","Falscher Registrierungscode",5)
    EndSelect
    WEnd
    EndFunc

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

    Func _3()
    $gui3 = GUICreate("Setup",510,300,-1,-1,BitOR($WS_POPUP,$WS_BORDER))
    GUICtrlCreateGroup("",5,5,500,230)
    GUICtrlCreateLabel("Gib nun bitte den Installationspfad an.",15,35,490,25)
    GUICtrlSetFont(-1,10)

    $label = GUICtrlCreateLabel("C:\Programme\Music Base",25,135,250,25)
    GUICtrlSetFont(-1,12,500,2)
    GUICtrlSetColor(-1,0xFFFFFF)
    $changedir = GUICtrlCreateButton("Ändern",280,135,100,25)

    $back = GUICtrlCreateButton("Zurück",100,250,150,50)
    $weiter = GUICtrlCreateButton("Weiter >",250,250,150,50)

    GUISetState()

    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $back
    GUIDelete($gui3)
    _2()
    Case $msg = $changedir
    $installation = FileSelectFolder("Wohin installieren ?","",1+2+4)
    GUICtrlSetData($label,$installation)
    case $msg = $weiter
    GUIDelete($gui3)
    DirCreate($installation)
    FileInstall("C:\Main.exe",$installation & "\Main.exe") ;anpassen !
    FileInstall("C:\upload.exe",$installation & "\Upload.exe") ;anpassen !
    FileInstall("C:\Server.db",$installation & "\Server.db") ;anpassen !
    FileInstall("C:\Serverdaten.db",$installation & "\Serverdaten.db") ;anpassen !
    FileInstall("C:\visual1.avi",$installation & "\visual1.avi") ;anpassen !
    FileInstall("C:\visual2.avi",$installation & "\visual2.avi") ;anpassen !
    FileInstall("C:\visual3.avi",$installation & "\visual3.avi") ;anpassen !
    FileInstall("C:\musik.gif",$installation & "\musik.gif") ;anpassen !
    FileInstall("C:\Gesetz.txt",$installation & "\Gesetz.txt") ;anpassen !
    FileInstall("C:\musicstore.exe",$installation & "\musicstore.exe") ;anpassen !
    FileCreateShortcut($installation & "\Main.exe",@Desktopdir & "\Music Base.lnk")
    MsgBox(64,"Setup","Installation abgeschlossen !" & @crlf & "Viel Spaß !",5)
    Exit


    EndSelect
    WEnd

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

    EndFunc

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

    musicbörse.au3

    Spoiler anzeigen
    [autoit]


    #cs
    If Not FileExists("open.key") Then
    MsgBox(16,"Error","Bitte rufen Sie die Musikbörse über den Player auf !",5)
    Exit
    Else
    FileDelete(@tempdir & "\open.key")
    EndIf
    #ce

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

    #include <GUIConstantsEx.au3>
    #include <GUIConstants.au3>
    #Include <Array.au3>
    #include <file.au3>
    #include <.FTP.au3>
    #include <Process.au3>
    Global $version = "1.0"

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

    If not FileExists("open.key") Then
    Global $server = "xxx"
    Global $servernumber = "1"
    Else
    Global $server = FileReadLine("open.key",1)
    Global $servernumber = FileReadLine("open.key",2)
    EndIf

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

    Global $benutzer = FileReadLine(@Tempdir & "\Userdata\user.txt",2)
    FileDelete("open.key")

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

    $ping = Ping("www.google.de")
    If @error Then
    MsgBox(16,"Error","Keine aktive Internetverbindung gefunden !",5)
    Exit
    EndIf

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

    $maingui = GUICreate("Nicksoft Music Base",500,500)
    $menufriends = GUICtrlCreateMenu("Freunde")
    $addfriend = GUICtrlCreateMenuItem("Benutzer als Freund hinzufügen",$menufriends)
    $invitefriend = GUICtrlCreateMenuItem("Freund neu einladen",$menufriends)

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

    $tracklist = GUICtrlCreateList("",5,15,490,370)
    $gettracks = GUICtrlCreateButton("Liste importieren",5,390,100,25)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $download = GUICtrlCreateButton("Download",110,390,100,25)
    GUICtrlSetState(-1, $GUI_DISABLE)

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

    GUICtrlCreateGroup("Status:",2,430,510,35)
    $status = GUICtrlCreateLabel("Suche nach Updates...",15,445,500,15)

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

    GUISetState()

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

    update()
    GUICtrlSetData($status,"Abgeschlossen")

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

    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $GUI_EVENT_CLOSE
    FileDelete("*.log")
    Exit
    Case $msg = $addfriend

    Case $msg = $invitefriend
    generatecode()

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

    case $msg = $gettracks
    GUICtrlSetState($gettracks, $GUI_DISABLE)
    GUICtrlSetData($status,"Log-Dateien werden heruntergeladen")
    FileDelete("*.log")
    FileDelete(@tempdir & "\Tracksskript.ftp")
    $FTPData = @tempdir & "\Tracksskript.ftp" ;------------------------
    FileWriteLine($FTPdata,"open " & $server)
    FileWriteLine($FTPdata,"USER rundll" & $servernumber & " Nicksoft" & $servernumber)
    FileWriteLine($FTPdata,"cd Log")
    FileWriteLine($FTPdata,"mget *.log" )
    FileWriteLine($FTPdata,"bye")
    _RunDOS("ftp.exe -n -i -s:" & $FTPData & " >" & @tempdir & "\Tracks.log")

    GUICtrlSetData($status,"Log-Dateien werden importiert")
    FileChangeDir(@scriptdir)
    $import = FileFindFirstFile(@ScriptDir & "\*.log")
    Do
    $next = FileFindNextFile($import)
    If @error Then ExitLoop
    $err = @error
    GUICtrlSetData($tracklist,$next,-1)
    ;MsgBox(0,"",$next)
    Until $err
    FileDelete(@tempdir & "\Tracksskript.ftp")
    GUICtrlSetState($gettracks,$gui_disable)
    GUICtrlSetState($download,$gui_enable)
    GUICtrlSetData($status,"Abgeschlossen")
    Case $msg = $download

    $readlist = GUICtrlRead($tracklist)
    $readlist = StringReplace($readlist,".log","")
    If @error Or $readlist = "" Then
    MsgBox(16,"Error","Kein Titel ausgewählt")
    ContinueLoop
    EndIf
    $speicherort = FileSaveDialog("Speichern unter...",@desktopdir,"Alle Dateien (*.*)")
    If @error Then ContinueLoop
    GUICtrlSetData($status,"Downloade Song")
    GUICtrlSetState($download, $GUI_DISABLE)
    $Hand = _FTPOpen('Doesnt Matter')
    $Ftpc = _FTPConnect($Hand, $server, "rundll" & $servernumber, "Nicksoft" & $servernumber)
    If @error then
    msgbox(16,"Error","Connect Error")
    Exit
    EndIf
    $Ftpg = _FTPGetFile($Hand,"/root/" & $readlist,$speicherort)
    $Ftpc = _FTPClose($Hand);Close ftp session
    GUICtrlSetData($status,"Abgeschlossen")


    EndSelect


    WEnd

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

    Func update()
    DirCreate(@tempdir & "\tmp")
    FileChangeDir(@tempdir & "\tmp")
    FileDelete(@tempdir & "\Updateskript.ftp")
    $FTPData = @tempdir & "\Updateskript.ftp" ;------------------------
    FileWriteLine($FTPdata,"open xxx")
    FileWriteLine($FTPdata,"USER xxx xx")
    FileWriteLine($FTPdata,"cd xxx")
    FileWriteLine($FTPdata,"mget update.ini" )
    FileWriteLine($FTPdata,"bye")
    _RunDOS( "cd %temp% " ) ;---------------
    _RunDOS("ftp.exe -n -i -s:" & $FTPData & " >" & @tempdir & "\Update.log")

    $readservers = FileReadLine("update.ini")
    If $readservers <> $readservers Then
    FileChangeDir(@scriptdir)
    FileDelete("Server.db")
    FileDelete("Serverdaten.db")
    ProcessClose("Main.exe")
    ProcessClose("upload.exe")
    FileDelete("Main.exe")
    FileDelete("upload.exe")
    updateall()
    EndIf
    GUICtrlSetState($gettracks,$gui_enable)

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

    EndFunc

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

    Func updateall()
    FileDelete(@tempdir & "\Updateskript.ftp")
    $FTPData = @tempdir & "\Updateskript.ftp" ;------------------------
    FileWriteLine($FTPdata,"open yyy")
    FileWriteLine($FTPdata,"USER yyy yyy")
    FileWriteLine($FTPdata,"cd yyy")
    FileWriteLine($FTPdata,"mget *.exe" )
    FileWriteLine($FTPdata,"bye")
    _RunDOS( "ftp.exe -n -i -s:" & $FTPData & " >" & @tempdir & "\Update(all).log" ) ;---------------
    FileMove("*.*",@scriptdir)
    EndFunc

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

    Func generatecode()

    Do
    $random = Round(Random(1,99999999999999999999999999999999999999999999))
    Until StringInStr($random,"6") And StringInStr($random,"4") And StringInStr($random,"0") and StringInStr($random,"91")
    $msgbox = MsgBox(64+4,"Einladung","Sende den nachfolgenden Code an deine/n Freunde/in(en):" & @crlf & $random & @crlf & @crlf & "Neuen Code erstellen ?")
    ClipPut($random)
    If $msgbox = 6 Then
    generatecode()
    EndIf
    EndFunc

    [/autoit]

    Anmerkung: Natürlich kann man das Passwwort immernoch ermitteln, ich bitte euch inständig, dies aber nicht zu tun.


    Ansonsten: Natürlich istes noch verbuggt,wurde ja nicht oft getestet.

    Und das mit dem 80+ mal öffnen hatte mein Freund auch, aber bei mir klappt es, deswegen kann ich dazu nix sagen.

    Zitat

    Programmieren ist so lange lustig bis ein Fehler auftritt!


    ~ Dankeschön