Beiträge von Cheater Dieter

    Hui, die Ereignisse überschlagen sich in letzter Zeit ein bisschen.
    Hier mal ein Update: Ich habe mir mal music.163.com angesehen. Der Download von dort ist kein Problem. Ich habe bereits damit begonnen, GrooveLoad für music.163.com umzuprogrammieren, das kann aber noch bisschen dauern.


    Außerdem scheint Grooveshark als Schatten seiner selbst auferstanden zu sein: http://grooveshark.io
    Hierzu die entsprechende Heise-Meldung:
    http://www.heise.de/newsticker…auferstanden-2633694.html


    Das Problem: Hier handelt es sich ohne Zweifel wohl um eine klar offensichtlich illegale Quelle. Würde GrooveLoad Musik von dort beziehen, würde es sich meines Erachtens um klare Urheberrechtsverletzungen handeln. Deshalb werde ich Grooveshark.io _nicht_ als Musikquelle in GrooveLoad verwenden, sondern weiter an der Implementierung von music.163.com arbeiten. Außerdem lässt sich die Musik von Grooveshark.io sowieso per Klick herunterladen, eine Software wäre also nicht unbedingt nötig. Ich möchte aber darauf hinweisen, dass GrooveLoad nun unter einer völlig offenen Lizenz steht. Wer grooveshark.io als Quelle in GrooveLoad selbst einbauen möchte und einen Ableger von GrooveLoad veröffentlichen will, darf das gerne tun - von meiner Seite wird aber da nichts kommen.

    Hallo.
    Es ist aus :/. Grooveshark hat am 30.4.15 den Dienst entgültig eingestellt. Damit stirbt auch GrooveLoad. Danke an alle Nutzer.
    http://grooveshark.com/


    GrooveLoad wird hiermit unter die DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE gestellt.

    So, mal wieder ein kleines Update, diesmal auf Version 1.8.2.0.
    - Neu: Französische Sprache eingebaut
    - Behoben: Fehlermeldung beim Reinhören
    - Neu: Reinhören-Instanz beendet sich, wenn eine neue gestartet wird.
    - Behoben: Hinweis, dass sich noch Lieder in der DL-Liste befinden war nur auf Deutsch verfügbar
    - Geändert: AutoIt Version auf 3.3.12.0 aktualisiert
    - Kleiner Änderungen und Bugfixes


    Das Update kann mit dem Updater geladen werden :)

    Oha, da hast du dich ja mächtig ins Zeug gelegt - vielen, vielen Dank! :thumbup::thumbup:
    Die Anzeigefehler lassen sich ganz einfach durch eine Kodierung in ANSI beheben, das ist kein Ding (Download in ANSI kodiert).
    Das mit den zu kleinen Textfeldern werde ich die nächsten Tage ausbügeln und dann zusammen mit ein paar Bugfixes und der französischen Sprachdatei eine neue Version veröffentlichen (ich weiß, momentan stockt der "Fortschritt" bisschen, schulisch habe ich z.Z. aber einfach viel um die Ohren). Die englische Übersetzung ist wirklich nicht die beste, da muss ich mich wirklich nochmal dransetzen. Aber wenn dir was auffällt, dann kannst du mir - und wenn es auch nur wegen einem Fehler ist - jederzeit eine PN schicken, ich korrigiere ihn dann sofort ;)
    GitHub schau ich mir morgen mal an, ich muss ja zugeben, bisher habe ich die Vorteile davon noch nicht ganz verstanden, aber wenn auf diesem Weg wieder bisschen neuer Schwung in das Projekt kommt, dann bin ich dazu gerne bereit :)


    Ich hoffe, es ist ok, wenn ich dir evtl. mal eine PN schreibe - ich kann absolut kein Französisch und evtl. kommt mir beim Integriegen der Sprachdatei eine Frage auf.


    Auf jeden Fall nochmal ein richtig dickes Dankeschön :thumbup:

    Ach, tatsächlich, danke, dass du mich darauf aufmerksam gemacht hast. Es verwundert mich nur, dass bei mir alles funktioniert (wie gesagt auch auf einem System ohne AutoIt) und bei dir das Programm abstürzt. Naja, ich werd jedenfalls mit dem nächsten Update die Includes mit Anführungszeichen einbinden.

    Der Link zu den neuesten Änderungen ist tot.

    Danke, ist hier auf AutoIt.de gefixt und wird es mit der nächsten Version in der Readme Datei :)


    Es gibt eine Fehlermeldung beim Reinhören mit Bezug auf eine BASS-Funktion, kann es sein, dass man die BASS.au3 braucht? 8)
    line 67 in der Reinhören GUI

    Komisch.... Die Bass.au3 liegt bei und ist auch richtig eingebunden. Auch an anderen fehlenden Includes kann es nicht liegen, ich habe das Programm gerade eben nochmal auf einem Systemen ohne AutoIt Installation getestet, bei mir läuft alles problemlos. Tritt der Fehler bei dir immer gleich beim Starten des Reinhörens auf?

    So, ich hab mich mal nach einer längeren Auszeit mal wieder dran gemacht, GrooveLoad mal wieder zum Laufen zu bringen. Es hat sich die Zeit über einiges bei Grooveshark geändert, mehrere Änderungen im Programm waren notwendig.
    Das Reinhören in Titel funktioniert läuft jetzt in einem eigenen Prozess unabhängig vom Hauptprogramm. Es kann nun also parallel ein Titel angehört werden und ein neuer gesucht werden.
    Neuerungen beinhaltet das längst überfällige Update auf Version 1.8.1.0 darüber hinaus keine, diese werde ich möglicherweise in nächster Zeit nachreichen, wichtig ist erstmal, dass GrooveLoad überhaupt wieder funktioniert.
    Das Update kann NICHT über den Updater geladen werden. Zukünftig wird dies aber wieder möglich sein, da der Updater mit dieser Version ebenfalls überholt wurde.

    Hallöchen,
    ich wurde nun schon mehrfach gebeten zu erklären, wie ich in meinem Programm GrooveLoad die Standart-AutoIt Fehlermeldung durch einen eigene ersetzt habe (kann man sich einfach angucken, indem man in GrooveLoad F10 drückt, dann stürzt es nach 3 Piepsern ab).


    Für erfahrenere AutoItler ist das Abfangen von Fehlern wohl nichts Neues, das hier richtet sich also mehr an die Anfanger.
    Aber was bringt das überhaupt? Der normale Nutzer, der noch nie das Wort AutoIt gehört hat, kann mit einer AutoIt Fehlermeldung absolut nichts anfangen und ärgert sich über den Absturz mit nutzloser Benachrichtigung. Eine eigene Fehlermeldung hingegen kann beispielsweise die Möglichkeit bieten, einen Fehlerbericht zu versenden oder das Programm neu zu starten.


    Erstmal: Für das Erstellen einer eignene Fehlermeldung braucht man 2 Scripte. Eines, was das Hauptprogramm beinhaltet und eines, was für das Abfangen und Anzeigen der Fehler zuständig ist. Ich habe nun mal 2 Beispielscripte erstellt, "Programm.au3" und "ErrorHandler.au3". Da die Scripte (hoffentlich) gut kommentiert sind, werde ich jetzt nicht auf jede Einzelheit, sondern nur auf den groben Ablauf eingehen.




    Ablauf einer Programmausführung:
    1. Programm.au3 wird gestartet und prüft, ob der Parameter "-Dihydrogenmonoxid-" mitgegeben wurde. Da das Programm einfach per Doppelklick gestartet wurde, ist dies natürlich nicht der Fall


    2. Programm.au3 startet ErrorHandler.au3 und beendet sich darufhin selbst.


    3. ErrorHandler.au3 startet Programm.au3 mit dem Parameter "-Dihydrogenmonoxid-" und überwacht fortan im Hintergrund den STDOUT Stream, wo alle Fehlermeldungen hineingeschrieben werden. Klingt kompliziert, ist es nicht. Im Grunde lauscht ErrorHandler.au3 einfach an einer Schnittstelle, die für die Kommunikation zwischen Programmen da ist. Den STDOUT Stream kann man auch manuell beschreiben, indem man den Befehl "ConsoleWrite" verwendet, der etwas in die SciTE Konsole hineinschreibt. Denn auch SciTE hört den STDOUT Stream ab und zeigt alles an, was das Programm auf diesem Weg von sich gibt, also ausgaben über ConsoleWrite oder auch Fehlermeldungen. Das ConsoleWrite-Befehle und Fehlermeldungen den gleichen Weg zur Ausgabe nutzen, hat allerdings einen Nachteil: So ohne weites sind diese nicht voneinander zu unterscheiden (lässt sich natürlich über String-Vergleiche usw. trotzdem machen, aber das führt hier zu weit), deshalb darf in Programm.au3 der Befehl ConsoleWrite NICHT verwendet werden (siehe auch Programm.au3 Zeile 20 f.)!


    4. Programm.au3 wird irgendwann wieder beendet, sei es gewollt oder durch einen Absturz.


    5. ErrorHandler.au3 merkt das und schaut, ob sich das Programm mit einer Ausgabe im STDOUT Stream verabschiedet hat. Wenn nein, wertet er dies als geplantes Beenden und beendet sich selbst auch, wenn ja als Absturz und zeigt eine schicke Fehlermeldung an, die dem Nutzer z.B. die Option bietet, einen Fehlerbericht zu senden oder das Programm neu zu starten.


    Anmerkungen:
    Schritt 1 und 2 können übersprungen werden, wenn gleich ErrorHandler.au3 gestartet wird. Das Ganze funktioniert auch, wenn die 2 Scripte in komplierter Form vorliegen. Der Parameter "-Dihydrogenmonoxid-" kann natürlich verändert werden, das war nur das erstbeste Wort, was mir eingefallen ist :D :rolleyes:
    Das Ganze hier ist ein Beispiel zum Fehler abfangen und ich erhebe nicht den Anspruch, die einzig wahre Lösung gefunden zu haben :P



    Bevor ihr euch jetzt aber im Abfangen von Fehlern verkünstelt, solltet ihr eher versuchen, euer Programm fehlerfrei zu programmieren. Das nützt dem Nutzer am Ende nämlich am Meisten ;).
    Und wenn's Fragen gibt, dann fragt.



    Viele Grüße
    Cheater Dieter

    Sehr feine Sache 8)
    Nur einen kleinen Fehler habe ich im Script gefunden. Wenn man zuletzt einen Stern auswählt und dann das Programm beendet, gibt's eine Fehlermeldung:
    "C:\Users\Admin\Desktop\test.au3" (42) : ==> Subscript used on non-accessible variable.:
    $aStarPos[$i][0] = $aCtrlPos[0]
    $aStarPos[$i][0] = $aCtrlPos^ ERROR

    Moin moin,
    also ich kenne das Problem auch. Da hat man ein Programm geschrieben und weil man den Fokus auf die Funktion gelegt hat, nur so eine Test-GUI zusammengeklatscht. Dann will man nur noch eine vernünftige Oberfläche bauen - "2 Stunden und dann steht die" - und schon hat man das Fass ohne Boden.
    Ich benutze zwar ganz gerne Koda, das nimmt etwas Arbeit ab, gerät aber auch ziemlich schnell an seine Grenzen, sodass ich doch den Großteil der GUI von Hand erstellen muss.

    Uiiii, da ist der Wurm drin ;). Der PC wird gesperrt, obwohl kein USB Stick eingesteckt wurde und folgende Meldung kam: Die Erkennungszeit wurde überschritten! Es wurde kein USB-Stick erkannt!
    Wenn man dann OK klickt, war's das.


    Wenn du übrigens die Einträge im Sperrbildschirm einfach ausblendest, brauchst du die Maus nicht fangen und der Nutzer kann vom Windows-Sperrbildschirm zurück zum Sperrbildschirm deines Programms:

    ; Einträge im Sperrbildschirm entfernen
    RegWrite('HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System','HideFastUserSwitching', 'REG_DWORD', '1')
    RegWrite('HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System','DisableLockWorkstation', 'REG_DWORD', '1')
    RegWrite('HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer','NoLogoff', 'REG_DWORD', '1')
    RegWrite('HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System','DisableChangePassword', 'REG_DWORD', '1')
    RegWrite('HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System','DisableTaskMgr', 'REG_DWORD', '1')



    ; Einträge im Sperrbildschirm wieder anzeigen
    RegWrite('HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System','HideFastUserSwitching', 'REG_DWORD', '0')
    RegWrite('HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System','DisableLockWorkstation', 'REG_DWORD', '0')
    RegWrite('HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer','NoLogoff', 'REG_DWORD', '0')
    RegWrite('HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System','DisableChangePassword', 'REG_DWORD', '0')
    RegWrite('HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System','DisableTaskMgr', 'REG_DWORD', '0')


    Klappt zumindest bei Windows 7 prima, woanders habe ich es noch nicht getestet.

    Stevenx: Das sollte eigentlich machbar sein. Hast ne PN :)
    @chess: Da war ja was :whistling: Ich bin der Sache bisher noch nie so wirklich nachgegangen, weil das Problem bei mir nicht auftritt. Ich nehme stark an, du hast eine recht langsame Internetverbindung.
    Da sollte ich wirklich mal so was mit einem zweiten Prozess einbauen. Kommt das nächste Mal dann wirklich :D :rolleyes:

    So, nachdem ich mir ordentlich Zeit gelassen habe, heute mal die neue Version 1.8.0.0
    - Neu: ausführlicher Abschlussbericht
    - Neu: Auslesen von Dateigröße und Spieldauer der Stücke
    - Geändert: Reinhören-Fenster verschönert
    - Behoben: Falsche Benennung/Nummerierung doppelter Dateinamen
    - Neu: Anzeige der Neuerungen im Programm nach einem Update
    - Neu: Bessere Fehlermeldung im Fall eines Programmabsturzes
    - Kleiner Änderungen und Bugfixes


    Die zeitaufwendigste Änderung liegt allerdings unter der Haube, das System hinter den Sprachen habe ich komplett überarbeitet, dadurch können jetzt flexibel neue hinzugefügt werden. Sollte jemand Zeit, Lust und Fremdsprachenkenntnisse haben und sich an einer Übersetzung in irgendeine Sprache probieren wollen, darf er gerne auf mich zukommen ;) 8)

    Wie wär's mit noch einer Sprache...?


    Ich würde mich auch bereit erklären, es zu versuchen. Hatte jetzt auch fast 5 Jahre lang Latein. :D

    Jesus hast du Ideen :D
    Eigentlich schon 'ne lustige Idee, aber ich glaube, das scheitert an ein paar praktischen Gründen. Einerseits ist das eine wahnsinns Arbeit, z.Z. sinds glaube ich gut 200 Sätze, die zu übersetzen wären. Und andererseits muss dann wohl das volle Programm zum Einsatz kommen. AcI, PC, Abl Abs... Das letzte Mal, dass ich Deutsche Texte ins Lateinische übersetzt habe, war vor 5 Jahren. Und das war dann sowas wie "Lucius frägt: "Wo ist Gaius?" Die Slavin antwortet: "Gaius ist im Stall."". Also da bin ich mittlerweile wirklich aus der Übung :rolleyes: :D
    Aber vor allem: Weder ich noch der Langenscheidt weiß, was Internet, Download, Streaming, Byte, oder Proxy heißt ^^
    Und der Nutzen einer Lateinübersetzung hällt sich nun wirklich in Grenzen :D


    Schau dir mal das hier an. Damit bekommst das etwas übersichtlicher hin als mit deiner aktuellen Arraylösung: http://www.autoitscript.com/forum/topic/…g-your-scripts/

    Danke, auf sowas werde ich wohl zurückgreifen.

    Wenn du willst, kann ich es zu Englisch und Französisch übersetzen.

    Danke für das Angebot! Englisch gibts ja schon, ursprünglich wurde diese Übersetzung von Stevenx erstellt. Alles, was danach neu an Englischen Texten dazukam, kommt von mir. Da mein Englisch allerdings (trotz 10 Jahren Englischunterricht in der Schule) recht bescheiden ist, ist die Übersetzung mittlerweile wohl ziemlich verpfuscht. Wenn du also Zeit und Lust hast, kannst du das Programm auf Englisch durchgehen und alles, bei dem du glaubst, es sei grammatikalisch falsch oder unsinnig formuliert mir (bitte mit Verbesserungsvorschlag :rolleyes: :D ) schicken (am Besten per PN). Mit den Sprachdateien brauchst du dich nicht rumschlagen, das System dahinter ist z.Z. ziemlich blöd gelöst. Einfach so das Programm beim normalen Bedienen durchforsten.
    Alles, was dir auffällt, werde ich dann ändern.


    Das mit Französisch ist so ne Sache, ich kann absolut 0 Französisch (dafür aber Latein und Altgriechisch - ein Hoch auf die Sprachen, für die ich mich damals entschieden habe 8o :wacko: :pinch: ), also wirds für mich immer bisschen schwer, wenn ich mal was Neues einbaue, weil ich immer erst jemand finden muss, der mir die Texte übersetzt. Aber das sollte machbar sein, ich meinem Familien- und Freundeskreis hat's einige Leute, die ich damit beschäftigen kann.
    Ich bastle allerdings gerade an einer neuen Version mit einigen Neuerungen, es kam also auch wieder neuer Text hinzu. Ich würde gerne erstmal die Version rausbringen - danach sind meine Ideen für neue Sachen im Programm auch ziemlich aufgebraucht - dann kann man eine Übersetzung anpacken. Zuvor muss ich auch nochmal die Sache mit den Sprachdateien überarbeiten. Ich schreib' dich dann einfach mal an, wenn's soweit ist.


    BTW: Gleich mal ausprobieren, wie weit ich meinen Sprachkenntnissen im Französischen komme:
    lesolutionneur => le solutionneur => Artikel ("der"?) + Substantiv vom Stamm "lösen" (lat. solvere, engl. solution, gr. λύνω) mit männlicher Endung "eur" (frz. monsi_eur_) ==> Also würde ich sagen: "Der Löser" oder etwas Freier: "Der Problemlöser". Liege ich richtig? :D