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

Beiträge von alpines

  • Nach dem Aufruf einer Schleife wieder zurück in die GUI

    • alpines
    • 4. Juli 2017 um 17:30

    Beim nächsten Mal den grünen Haken setzen nicht vergessen ;) (1. Beitrag bearbeiten, Threadstatus anpassen).

    Zu deinem Script hätte ich aber mehrere Fragen:

    1. Warum Selectst du statt zu Switchen? Dann kannst du dir die Abfragen Case $msg = $button1 sparen und nur noch Case $button1 schreiben.
    2. Wieso prüfst du @error = 1, bei der InputBox gibt alles @error > 0 an, dass es gefailed ist also könntest du einfach If @error Then Exit schreiben und dir das Else + EndIf klemmen.
    3. Wieso schreibst du FileOpen("" &$PfadtxtDatei& "", 0)? Du kannst die Gänsefüßchen weglassen, AutoIt kommt damit hervorragend zurecht, das ist nicht die CMD.
    4. Wieso speicherst du die Returnwerte der MsgBoxen ab? Variablen die du nur einmal verwendest kannst du direkt in die If-Abfrage einbauen, sieht nicht nur schicker aus, sondern
    spart auch Platz und du brauchst weniger Variablen.
    5. If $Ping Not Then ist falsch, der Negierung muss vor der Ping-Variable.
    6. Wieso deklarierst du alle Variablen am Anfang? Deklariere sie doch erst wenn du sie brauchst.
    7. Du solltest deine Variablen sowie Buttons besser beschriften, $button1, $button2, $button3 sind nicht aussagekräftig. Wenn du in 2 Jahren in das Script reinguckst weißte nicht mehr was los ist.

  • Nach dem Aufruf einer Schleife wieder zurück in die GUI

    • alpines
    • 4. Juli 2017 um 10:22

    Ohne Code den du uns zeigen kannst, wie du es bisher geskriptet hast, können wir nur ins Blaue hinein raten.
    Im Regelfall sind die GUIs ja mit Switch-Cases aufgebaut und da genügt es, den Code der bei der Ausführung eines Buttons läuft "auslaufen" zu lassen.

    Wenn du am Ende diesen Codes kein Exit hast, so landest du auch wieder in der While-Schleife für die GUI-Switch-Case-Abfrage.

  • 2D - Array Problem/Frage

    • alpines
    • 3. Juli 2017 um 22:31

    Dann vergiss nicht beim nächsten Mal den grünen Haken für erledigt / gelöst zu setzen damit andere Nutzer auch direkt eine Lösung finden :)

  • Autoit3 Internal Process Piping | Pipe

    • alpines
    • 3. Juli 2017 um 20:09
    Zitat von chesstiger

    TCP ist auch eine schöne Möglichkeit, zwei Prozesse miteinander kommunizieren zu lassen. Ist natives AutoIt und lässt sich sehr leicht nutzen.

    Brauch aber unter Umständen Firewallrechte, ich weiß nicht ob das lokal auch der Fall ist.
    Man kann auch eine GUI nehmen und sie verstecken, dann setzt man ein Input rein was man beschreiben und lesen kann.

    Viele Wege führen Rom ^^

  • Windows Storage Space ?

    • alpines
    • 3. Juli 2017 um 18:23
    Zitat von Musashi

    CDs/DVDs und Festplatten waren überhaupt keine Option (Lebensdauer < 10-15 Jahre).

    Das kommt aber darauf an wie du diese lagerst.
    Bit Rotting oder Data Rotting wie man das auch nennt, tritt auf wenn man die Datenträger so lagert, dass ihre Bestandteile feuchter Luft ausgesetzt sind und/oder oxidieren und somit unbrauchbar werden.

    Ich hab hier zuhause noch CDs rumliegen die bestimmt älter als 20 Jahre sind und noch hervorragend funktionieren, weil sie vernünftig gelagert wurden.

    Zitat von BLinz

    Tägliches, automatisiertes Backup auf einen Raspberry Pi / Banana Pi mit 2x 2,5" Festplatten

    Wird von dem zu sichernden Datenträger eine Dateiliste angelegt und abgeglichen so ähnlich wie in Git oder wird das ganze nochmal gesichert? Letzteres müsste ja unfassbar viel Speicher fressen. Hast du die Möglichkeit auf ein genaues Datum zurückzusetzen, oder hast du nur sozusagen die neueste Revision?

  • Random Sleep Time

    • alpines
    • 2. Juli 2017 um 17:06
    Zitat von ru642

    @alpines ist nix schlimmes meine Tastatur hat die möglichkeit per Random Button die Farbe zu wechseln auf irgendwas und wollte zum Spass diese per Autoit zu einer zufälligen Zeit drücken lassen

    Wenn du meinst. Grüner Haken für gelöst ist gesetzt.
    Den Hotkey solltest du aber umbelegen, da ESC von anderen Programmen belegt bzw. benutzt werden kann. (Kombinationen wie STRG+F1 wären empfehlenswert).

  • FileOpen -> -1

    • alpines
    • 2. Juli 2017 um 17:02

    Hast du dich vielleicht im Pfad vertan oder wird das Script mit einem anderen Working-Directory gestartet? Versuch mal auf @ScriptDir & "\settings.txt" zuzugreifen.

  • FileOpen -> -1

    • alpines
    • 2. Juli 2017 um 16:59

    Wo befindet sich das Verzeichnis denn? Auf einem Netzlaufwerk eventuell?
    Du musst uns schon ein paar Infos liefern, sonst können wir dir auch nicht helfen.

  • Random Sleep Time

    • alpines
    • 2. Juli 2017 um 16:55

    Wo willst du denn Random rumclicken? Wenn du uns verrätst was du wo machen möchtest können wir dir sicherlich besser helfen.

  • FileOpen -> -1

    • alpines
    • 2. Juli 2017 um 16:55

    Das kann mehrere Gründe haben: Die Datei existiert nicht oder du hast keinen Zugriff darauf.
    Starte mal das Script mit #RequireAdmin und schau ob es dann klappt.

    Kannst du die Datei mit FileRead denn lesen?

  • Video Program mit VLC play list

    • alpines
    • 2. Juli 2017 um 15:50
    Zitat von autoiter

    Hehe, Avi. Ist das noch so verbreitet?

    Avi wird als Container bei Aufnahmen verwendet. Zumindest verwenden Leute das, die keine starke Hardware haben um gleichzeitig in mp4 komprimieren zu können.
    Dafür sind die Aufnahmen auch unfassbar groß.

  • Video Program mit VLC play list

    • alpines
    • 2. Juli 2017 um 15:37
    Zitat von autoiter

    Da habe ich andere Erfahrungen. Schon das Beispiel dort bietet ja schon fast alles, was erfragt ist - fehlt eigentlich nur Ratio.

    Bei der 3.3.8.1 habe ich alle möglichen AVI-Formate durchprobiert, mit allen möglichen Convertern und nie wurde mir ein Bild gezeigt. Einfach nie, egal was ich gemacht habe.
    Der WMPlayer spielt eigentlich die gängigsten Formate (AVI, MP4, MP3, ...) ab, ich nutz den sowieso nur zum Streamen von Internetradios.

    Wenn ich Videos gucken will, dann mache ich das mit dem VLC media player und nicht in einer eingebeddeten GUI :)

  • Video Program mit VLC play list

    • alpines
    • 2. Juli 2017 um 14:56
    Zitat von olfibits

    Ernsthaft, Microsoft lässt das mit dem Embedded WMPlayer zu?
    Wusste ich ja gar nicht.

    Na klar, du kannst mit ObjCreate und dem Verweis auf die WMPlayer.ocx ein Objekt erstellen und es ggf. mit GUICtrlCreateObj als GUI-Element einbinden.

    Zitat von olfibits

    Wolltest du das Skripten übernehmen oder wäre es OK wenn ich das skripten würde?

    Ich hab zu keinem Zeitpunkt gesagt, das ich das machen wollte. Nur zu, viel Spaß dabei.

  • UDF _FolderIsWriteable

    • alpines
    • 2. Juli 2017 um 14:52
    Zitat von olfibits

    Schau mal oben, wie ich $path deklariert habe.

    Du schreibst aber in das Working-Directory ohne ein Datei anzugeben. Lass dir doch mal den Returnwert von FileWriteLine ausgeben, da kommt immer 0 raus.
    FileWriteLine ( "filehandle/filename", "line" ) FileWriteLine will als ersten Parameter den Dateinamen haben, und mit "." übergibst du das nicht, sondern nur das Working Directory.

    Führe doch mal folgende Zeile aus in einem leeren AutoIt-Skript: FileWriteLine(".\testFile.txt", "123") und du wirst merken, dass er in das Working-Directory die testFile.txt erzeugt.
    Führst du allerdings diese Zeile aus FileWriteLine(".", @ScriptDir & "\testFile.txt"), dann siehst du das keine Datei erzeugt wird. Dein Funktionsaufruf ist also falsch.

  • Video Program mit VLC play list

    • alpines
    • 2. Juli 2017 um 14:47
    Zitat von olfibits

    _GUICtrlAVI-Element einarbeitest. Da hast du im Prinzip dieselben Möglichkeiten, abgesehen davon, dass nur das AVI-Format unterstützt wird.

    Davon würde ich nicht gebrauch machen, ich habe mit der Funktion noch nie was vernünftiges zum laufen gekriegt. Da wäre es besser den embedded WMPlayer einzubinden.

    Zitat von olfibits

    Da habe ich mich wohl unverständlich ausgedrückt. Ich meinte er soll sich doch mal ansehen, ob die dort genannten Funktionen seinen Anforderungen entsprechen.

    Wenn du meinst. Ich gehe davon aus, dass es dem TE egal ist mit welcher UDF man das realisiert solange es funktioniert. Sonst würde er es ja selbst versuchen.

  • Video Program mit VLC play list

    • alpines
    • 2. Juli 2017 um 14:39
    Zitat von olfibits

    Hallo,

    Setze dich mal mit der UDF-Sektion _GUICtrlVLC auseinander (Link zum engl. AutoIt forum).
    Ansonsten würde ich dir raten, dass du dich lieber mal in das _GUICtrlAVI-Element einarbeitest. Da hast du im Prinzip dieselben Möglichkeiten, abgesehen davon, dass nur das AVI-Format unterstützt wird.

    LG
    olfibits

    Guck mal in welcher Sektion du dich befindest, ich glaube nicht das der TE das selber skripten möchte. Schon gar nicht wenn es in 'Mit Gegenleistung' gepostet wird.

  • UDF _FolderIsWriteable

    • alpines
    • 2. Juli 2017 um 14:30

    Warum nutzt du nicht FileGetAttrib zum prüfen? Das funktioniert auch für Ordner wie du es aus der Hilfe entnehmen kannst.

    Außerdem ist der Rückgabewert so nicht richtig, ich kann mit FileWrite in das Verzeichnis schreiben auch wenn ich eine 0 zurückbekomme (klappt auch bei FilGetAttrib trotz R-only).
    Übrigens ist FileWriteLine(".", $path) kein gültiger Aufruf, da der Dateiname gefordert ist, so würdest du nur das working-directory auswählen und eine Datei ohne Namen.
    Das müsste dann in jedem Fall eine 0 zurückgeben, richtig wäre FileWriteLine($path, "content").

    Dann brauchst du auch nicht mehr die Datei zu verstecken, weil diese doch sowieso direkt gelöscht wird im Skript.

    Zitat von olfibits

    SetError(1) ; invalid parameter 1
    Return 0

    Das kannst du übrigens in Return SetError(1, 0, 0) zusammenfassen, nur als kleiner Tipp.

  • Local $hCtrl = GUICtrlGetHandle($idDummy)

    • alpines
    • 30. Juni 2017 um 16:47
    Zitat von Bitnugger

    Allem Anschein nach kann ich kein Handle von einem Dummy-Control bekommen, weil es nur ein simuliertes (internes) Control ist?!

    Korrekt, das sagte ich ja bereits auch. Dummy Controls werden für Accelerators oder Gdi+ verwendet und sind keine Controls im Standardreportoire von Win32-GUIs.
    Deshalb liefert dir auch EnumChildWindows nicht die Dummy Controls, weil diese nicht mal ein Handle haben, sie sind dafür dar um GUI-Sachen zu vereinfachen, weil man sonst einen Umweg über Hooks oder andere Sachen gehen müsste.

    Bei Accelerators müsste man dann z.B. global einen Hotkey setzen und prüfen ob man sich in dem Fenster befindet oder eine Hook erstellen, die bei jedem Tastendruck prüft eine bestimmte Taste gedrückt wurde und welches Control markiert ist. Mit Dummies kann man einfach ein Array erstellen, den passenden Accelerator definieren und fertig, es läuft.

  • Local $hCtrl = GUICtrlGetHandle($idDummy)

    • alpines
    • 30. Juni 2017 um 16:19

    AutoIt-intern haben sie Handles (IDs in diesem Fall), die kriegst du mit $idDummy. Wozu willst du denn das Handle haben?
    Das Dummy Control soll ja nur intern verwendet werden, und da reicht die Id eigentlich.

    Und die Hilfe liefert folgendes:

    Zitat von GUICtrlGetHandle

    The following controls will not return a handle: GUICtrlCreateDummy(), GUICtrlCreateGraphic(), GUICtrlCreateObj(), GUICtrlCreateListViewItem() and GUICtrlCreateTabItem().

  • Windows Storage Space ?

    • alpines
    • 30. Juni 2017 um 14:59
    Zitat von Mars

    Die Sektorenfehler kann man durch komplettes formatieren und ggf ein paar mal vollschreiben und wieder leermachen beheben oder?

    Bei meiner defekten Platte ist der Explorer aufgrund von IO-Fehlern zusammengebrochen.
    Wenn ich Dateien die in den Sektoren lagen verschieben wollte hat der ab einer bestimmten Prozentzahl (ab dort wo es in die Sektoren ging) sich aufgehängt.
    Komplette Formatierungen, seien es nun schnell, langsam, 7x, 30x haben den selber Fehler reproduziert.

    Außerdem ist die Ausfallwahrscheinlichkeit extrem erhöht wenn die Platte schon defekte Sektoren hat, da sollte man seine Daten so schnell wie möglich auf eine andere Platte schieben.

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™