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

  • Oberfläche auf Veränderung prüfen

    • alpines
    • 15. Mai 2017 um 19:43
    Zitat von Bitnugger

    wie anders?

    Naja, anders anders halt :D

    ImageSearch erstmal komplett weggelassen, das sollte man einfach nicht verwenden.
    Falls die GUI Win32-Controls anbietet, hätte ich lieber die Control*-Funktionen verwendet um die zu manipulieren.

    Ich weiß jetzt nicht genau was der TE machen möchte aber ich hätte grundsätzlich die Pixel-Funktionen nicht verwendet - bin kein großer Fan davon.
    Er hat ja nicht mal das Ergebnis von AutoIt Window Info hochgeladen, er sprach nur von einer uralten Software und da stehen die Chancen hervorragend,
    das man mit den Control*-Funktionen sehr weit kommt.

  • Oberfläche auf Veränderung prüfen

    • alpines
    • 15. Mai 2017 um 18:43
    Zitat von Bitnugger

    Die Funktion wird doch bereits durch AdlibRegister('_Check') alle 250 ms aufgerufen...

    Ich hab nur die _Check-Funktion in seinem Post gesehen und mir nicht das Archiv angeguckt. Ich hätts ja sowieso ganz anders gemacht :rolleyes: :D

  • Ordner/Dateien verpacken mit Progressbar

    • alpines
    • 15. Mai 2017 um 18:42
    Zitat von BugFix

    Das kannst du mit der Angabe eines fixen Pfades umgehen.

    Kommt letzlich aufs selbe hinaus. Allerdings sollte man lieber das WD setzen, wenn man die Datei ins selbe Verzeichnis wie das Programm schreiben möchte.
    Ich weiß nicht wie die Shell das handhabt, aber wenn ich bei der auszuführenden Datei den Pfad mitliefere, aber nicht bei der output.txt, ob die output.txt dann im selben Verzeichnis wie die Datei landet.

    Zitat von dieselwiesel

    Nimm das Leben nicht so schwer, lutsch lieber einen Gummibär Der ist vong der Tastigkeit her lecker am been

    bäh

  • Ordner/Dateien verpacken mit Progressbar

    • alpines
    • 15. Mai 2017 um 13:28
    Zitat von Musashi

    Ich vermute mal, 'Niceigkeit' ist ein etwas verunglückter Anglizismus für Benutzerfreundlichkeit, abgeleitet von 'nice' für nett .

    Schon klar, aber der Begriff.... bähh...

  • Oberfläche auf Veränderung prüfen

    • alpines
    • 15. Mai 2017 um 12:07
    Zitat von *wudu*

    Wieder vorne angefangen wird ?

    Na wie wäre es denn mit einer Schleife? Du könntest zwar die Funktion nochmal aufrufen, aber das würde sich rekursiv stapeln und irgendwann abstürzen.

    Erstelle dir einfach eine Schleife die so lange läuft, bis du nicht mehr drin bleiben möchtest. Dann kannst du ExitLoop aufrufen.

  • Ordner/Dateien verpacken mit Progressbar

    • alpines
    • 15. Mai 2017 um 12:02
    Zitat von dieselwiesel

    ist von der Niceigkeit her besser

    Was?

    Zitat von dieselwiesel

    über StdoutRead abfragen u. in eine Progressbar setzen kann?!

    Ja das kannst du so machen. Ich persönlich hatte oft Probleme den Stdout von Programmen zu lesen und habe es immer über einen Umweg gemacht:

    Du startest das Programm einfach über die CMD und lässt die Ausgabe in eine Datei schreiben, in etwa so:
    RunWait(@ComSpec & " /c ""program.exe -param1 -param2 >> out.txt""")

    Bei der Methode musst du aber auf das Working-Directory aufpassen, weil die out.txt Datei dort hingeschrieben wird.

  • EditBox letztes Zeichen löschen

    • alpines
    • 15. Mai 2017 um 08:59

    Dann vergiss nicht beim nächsten Mal den grünen Haken für erledigt zu setzen indem du den Threadstatus anpasst.
    Außerdem sind das die Grundlagen von AutoIt, die solltest du dir nochmal angucken, falls du sowas nicht kennst.

  • EditBox letztes Zeichen löschen

    • alpines
    • 15. Mai 2017 um 08:28

    Wenn du die Funktion zum Abfangen schon fertig hast kannst du ja einfach folgende Funktion ausführen wenn die Zahl reinkommt
    GUICtrlSetData($Edit1, StringTrimRight(GUICtrlRead($Edit1), 1)).

  • GUICtrlCreateObj - Handling

    • alpines
    • 13. Mai 2017 um 21:24

    Dann kannst du ja später hier berichten und den Haken setzen.

  • GUICtrlCreateObj - Handling

    • alpines
    • 13. Mai 2017 um 21:19
    Zitat von olfibits

    4.=> Oder gibt es in AutoIt keine andere Möglichkeit, eine scrollbare Area zu haben, in der man in angemessenem Layout den Chatverlauf anzeigt?

    Schon mal mit dem RichEdit-Textfeld versucht? Das bietet die selbe Funktionalität wie das Wordpad. https://www.autoitscript.com/autoit3/docs/l…Edit_Create.htm

  • GUICtrlCreateObj - Handling

    • alpines
    • 13. Mai 2017 um 20:52
    Zitat von GUICtrlCreateObj

    The GUI functions GUICtrlRead() and GUICtrlSet have no effect on this control. The object can only be controlled using 'methods' or 'properties' on the $ObjectVar.

    Im Klartext: Du musst selber im Objekt rausfinden ob du geklickt hast.

    Du verwendest das Shell.Explorer.2 Objekt darauf, allerdings solltest du verzichten das Objekt selber so zu erstellen, da du viele Fehler machen kannst.
    Nimm stattdessen die IE.au3-UDF, die bietet mit $oIE = _IECreateEmbedded() (was du in GUICtrlCreateObj) reingibst, genau die selbe Funktionalität.

    Außerdem sind die Fehler dann nicht so hart, dass dein Script direkt crasht.

    Du hast bei dem Problem allerdings mehrere Vorgehensmöglichkeiten:
    1. Du könntest ein transparentes Control drüberlegen und die Klicks so abfangen (allerdings ist das IE-Objekt drunter nicht mehr klickbar).
    2. Du könntest in die HTML vom IE-Objekt einen Event-Handler reinschreiben, der ein bestimmtes Control auf der Seite verändert, welches du dann mit den entsprechenden IE-Funktionen abfängst.
    3. Du könntest schauen ob mit der Maus geklickt wurde, und wo. Wenn deine GUI aktiv ist, und der Mausklick im Bereich des IE-Controls ist, dann kannst du was machen.
    4. Ein neues Konzept überlegen, und nicht das Objekt anklicken wollen.

  • Oberfläche auf Veränderung prüfen

    • alpines
    • 13. Mai 2017 um 20:37

    Nein, es ist eine built-in Funktion von AutoIt und benötigt keine extra DLL.

  • Oberfläche auf Veränderung prüfen

    • alpines
    • 13. Mai 2017 um 20:16

    Das Tool ist bei der AutoIt Installation mitgeliefert und kann als eigenständige Exe vom Stick aus laufen.
    Zieh mal den Finder im Fenster auf einer der Labels die du ablesen möchtest und poste uns mal das Ergebnis was unter "Summary" steht.

  • GUICtrlCreateObj - Handling

    • alpines
    • 13. Mai 2017 um 20:13

    Wie wäre es denn mit dem Code der nicht funktioniert, damit wir uns das mal angucken können? Meine Glaskugel ist leider gerade bei der Politur.

  • Oberfläche auf Veränderung prüfen

    • alpines
    • 13. Mai 2017 um 19:43

    Benutz mal das AutoIt Window Info Tool und zeig uns mal was es dir anzeigt.
    Wenn es sich um Windows Standardcontrols handelt, kannst du das ganze VIEL VIEL VIEL besser und sicherer lösen als mit ImageSearch.

  • Oberfläche auf Veränderung prüfen

    • alpines
    • 13. Mai 2017 um 09:38

    Wonach möchtest du denn suchen und was möchtest du denn machen? Wir können dir viel bessere Lösungsvorschläge geben, wenn du uns verrätst was du wo machen möchtest.

  • Ordner/Dateien verpacken mit Progressbar

    • alpines
    • 12. Mai 2017 um 19:28
    Zitat von Musashi

    Nachdem der erste Schritt (z.B. das Kopieren eines Verzeichnisses) beendet ist, erhöhst Du den Schrittzähler um 1, und zeigst den neuen Zustand der Progressbar an :

    Das kann bei großen Verzeichnissen den Eindruck erwecken, dass das Programm eingefroren ist.
    Besser wäre es, wenn man nach jeder Datei die ProgressBar aktualisiert. Da muss man auch nicht eine Schrittweite oder ähnliches definieren sondern nimmt einfach die Anzahl der verarbeiteten Dateien geteilt durch die Anzahl aller Dateien.

  • Observer Pattern

    • alpines
    • 11. Mai 2017 um 20:28
    Zitat von Churanos

    Func Array()
    local $arr = []
    _ArrayDelete($arr, 0)
    return $arr
    EndFunc

    Was soll das denn werden? Warum nutzt du nicht einfach Local $aArray[0]

    Wenn ich das richtig sehe, dann fehlt dir noch eine Funktion um die Observer zu detachen.

  • Brauche Ideen für Zeitmessung zwischen 2 Rechnern

    • alpines
    • 10. Mai 2017 um 21:24
    Zitat von BLinz

    Wie Messe ich die Laufzeit meiner Datenpakete zwischen Client und Server? Würde ich mir z.B. errechnen wenn ich die Differenz aus 1. kenne

    Wenn deine Pakete nicht groß sind, dann kannst du den Ping nehmen oder die Zeit zwischen Verbindungsaufbau und Datenankunft (vorausgesetzt du connectest immer neu und sendest direkt die Daten).

    Zitat von BLinz

    Wie könnte ich das auf Millisekunden genau ermitteln? Klar, es wird einen Fehler/Abweichung durch die Laufzeit der TCP-Pakete geben - dazu Punkt 2

    Guck dir mal TimerInit() an. Das returnt dir einen Timestamp, wenn du nun auf beiden Systemen TimerInit() zur selben Zeit ausführst und sie voneinander subtrahierst und von dem Wert dann den Betrag nimmst, dann kriegst du die Zeitdifferenz in Millisekunden.

    Zitat von BLinz

    Alternativ: Wie schaffe ich es 2 Funktionen / Befehle auf diesen beiden Rechnern exakt zum gleichen Zeitpunkt zu starten?

    Es kommt ganz darauf an wie genau du es haben willst. Du könntest in beiden Scripten eine Uhr laufen lassen die sich mit einer Atomuhr über eine Website z.B. synchronisiert.
    Du kannst aber auch ein Paket an den zweiten Clienten schicken und die Zeit die du zum Senden und Verarbeiten brauchst noch abziehen.

  • Frage zu include bei nicht kompilierung

    • alpines
    • 9. Mai 2017 um 19:43

    Es kommt ganz darauf an was für includes du verwendest.

    Includes mit die <> eingebunden werden, liegen im AutoIt-Include Verzeichnis und müssen nicht mitverschoben werden.
    Includes die mit "" eingebunden sind und im Scriptordner liegen müssen mitverschoben werden.

    Du kannst aber auch die Includes im Scriptordner ins AutoIt verzeichnis schieben, sie mit <> einbinden und dann nur das Script verschieben.

    Alternativ kannst du auch eine Verknüpfung vom Script ins Sysvol kopieren und das Working-Directory im Scriptordner lassen und so das ganze ausführen.

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™