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

Beiträge von autoiter

  • Timer

    • autoiter
    • 13. Dezember 2018 um 21:32

    Hallo germanidol

    Zitat von germanidol

    Kriegt man dieses Script Paused noch weg im Tray Icon? Sonst läuft alles super.

    Du könntest das Standard TrayMenü so entfernen Opt("TrayMenuMode", 1).

    Wenn du dann aber Beenden darin haben möchtest, musst du den Menüpunkt selbst erstellen.

  • Den Programm Name einblenden, statt Aut2Exe

    • autoiter
    • 11. Dezember 2018 um 17:22

    Das kannst du mit den #pragma - Anweisungen. Schau mal in der Hilfe.


    Wenn du die Dateibeschreibung setzt, wird diese angezeigt: #pragma compile(FileDescription, "Mein Programm")

  • nach kompilieren als HEUR Virus erkannt

    • autoiter
    • 7. Dezember 2018 um 18:54

    FCMaltus

    niemand verbietet Fragen. Dein Bsp. zeigt aus meiner Sicht aber zwei Dinge. 1. Du bist nicht dumm. 2. Du willst gegen die Forenregeln verstoßen. Dein Beispiel war mir einfach zu lächerlich. Ich habe keine Beweise. Aber ich kann mir nicht vorstellen, dass du mich vom Gegenteil überzeugen könntest.

    Natürlich hat dein Lizensierungssystem auch nichts mit deinem anderen Problem zu tun. Sonst müsste man sich ja fragen, warum du für eine Desktopsuche nach zwei gleichen Bildern auf deinem eigenen Desktop, ein solches System brauchen würdest.............

  • ListView füllen und ProgressBar

    • autoiter
    • 7. Dezember 2018 um 07:54

    Hallo Code-Jack

    Das ist sehr interessant. Ich kann das jetzt nicht auf die Schnelle gegentesten. Allerdings nutze ich SQlite3 in einigen Programmen und werde da Optimierungen an den Schleifen testen. Ich bin gespannt. :)

    Zitat von Code-Jack

    Aber damit nicht genug, denn man bekommt die Variante a) noch rund doppelt schneller, indem man die übliche While-Schleife durch eine For-Next-Schleife ersetzt (mit ausreichend hohem Endwert)

    Hierzu möchte ich nur darauf hinweisen, dass du die Anzahl der Einträge in der Tabelle schnell abfragen kannst:

    _SQLite_Query(-1, "SELECT COUNT(*) FROM tabellenname;", $hQuery)

  • [Anfrage] Möchte Stoppuhr mit USB Button und Eingabeformular programmieren

    • autoiter
    • 6. Dezember 2018 um 20:32

    Hallo Muecke

    Eine Alternative wäre noch die Checkbox so klein zu machen, dass wirklich nur die Box dargestellt wird. Den Text dahinter stellst du über ein Label dar. Dann kannst du auch einfach die Chekbox aktivieren oder deaktivieren, ohne Effekte auf die Darstellung zu haben.

  • Icon verstecken (Systray)

    • autoiter
    • 6. Dezember 2018 um 20:20

    Hey, danke Bitnugger.

    Das geht in meine Sammlung. Immer nützlich, für alle möglichen Fälle schon etwas parat zu haben.

    Zitat von Bitnugger

    die Zeilen 86-90 in deinem Original... so kann man "StringFormat" natürlich auch benutzen

    Ja, das stimmt ^^

  • Schleife mit fortlaufendem read-befehl aus Excel.

    • autoiter
    • 5. Dezember 2018 um 22:41

    Für so einen Anfänger wie dich, ist das vielleicht nicht klar. Die anderen sehen den Fehler aber sofort. Denn die Fehlerzeile wird ja angezeigt (obwohl ich nicht verstehe, warum 14 davor steht). Bei der Zeile mit dem Funktionsaufruf, der mit einer offenen Kalmmer ( beginnt, fehlt die schließende Klammer ).

    Edit: Ich kann gar nicht ausschließen, dass es das damit war. Du solltest wirklich wissen, dass man mir die rote Farbe wahrscheinlich wegen meiner Präsenz aber auf keinen Fall wegen meiner Fähigkeiten gegeben hat. :whistling:

  • Schleife mit fortlaufendem read-befehl aus Excel.

    • autoiter
    • 5. Dezember 2018 um 21:27
    Zitat von LordMONSTER

    $i = einen beliebigen Zahlenwert gewählt.

    Hehe, da haben wir eines deiner Probleme. Lass den Wert von $i doch mal bei Null. Schau dir dann das Array an, dass angezeigt werden sollte. Dann könnte dir klar werden, warum $i zu Anfang den Wert Null hat.

  • ImageSearch für 2 identische Bilder Koordinaten finden

    • autoiter
    • 5. Dezember 2018 um 21:23

    Da es eine Art Spiel zu sein schient, ist Unterstützung hier ausgeschlossen. (Auch deine Spiele mit dir selbst werden von den Forenregeln ausgeschlossen).

  • Schleife mit fortlaufendem read-befehl aus Excel.

    • autoiter
    • 5. Dezember 2018 um 20:45
    Zitat von LordMONSTER

    danke für das feedback und die mühe mit dem selbst erstellten code!

    Das war jetzt nicht so viel Arbeit. Ich konnte es nicht testen und hoffe nur, dass es überhaupt funktioniert 8o

    Zitat von LordMONSTER

    ich kenne Autoit Window, damit habe ich die mausklicks "vermessen", was man damit sonst noch machen kann weiß ich aber nicht.

    Klicke einfach mal den Reiter Control an und nimm dann das Zielkreuz und fahre damit über die einzelnen Controls der Haufe-Software. Siehst du wechselnde Angaben, wenn du über die Buttons, Eingabefelder e.t.c. fährst?

    EDIT: Wenn ja, dann hättest du viel bessere Möglichkeiten den Feldinhalt zu setzen. Plötzlich könntest du statt einen Mausklick zu simulieren und zu hoffen, dass das entsprechende Control den Fokus hat, auch direkt den Feldinhalt setzen. (Das ist dann immer noch nicht ausreichend, bringt dich aber schon mal sehr viel weiter.)

  • Schleife mit fortlaufendem read-befehl aus Excel.

    • autoiter
    • 5. Dezember 2018 um 19:31

    Hallo Franz,

    Du kannst bei _Excel_RangeRead auch direkt einen Bereich angeben. Dann bekommst du praktisch eine Tabelle als Ergebnis, bei der du auf jedes Feld zugreifen kannst. Es sind also keine weiteren Variablen nötig. Wenn sie der Bereich in der Excel-Datei verändert genügt es das anzupassen. Das wäre schon ein großer Fortschritt.

    Du stehst noch ganz am Anfang und das sieht man auch im Skript. Das ist kein Problem. Führt mich aber zu der Frage, ob die Software eine Java-Anwendung ist und du keine Adminrechte hast? Statt blinde Mausklicks und blinde Wartezeiten, könntest du andernfalls mit AutoIt viel besser automatisieren. Dafür ist die Sprache (Automatisiere Es) mal geschrieben worden.. Was gibt dir denn das Programm AutoIt Window Info als Informationen zurück (kennst du es überhaupt)?

    Hier habe ich aber dennoch mal deinen Code so umgeschrieben, dass er wenigstens dann noch funktioniert, wenn du einfach nur mehr Zeilen einlesen willst - das ist aber sicher auch das, was du willst...

    Dennoch kann ich dir nur raten, Verbesserungen anzustreben und nicht den PC aus den Augen zu verlieren, solange du auf diese Weise Daten eingibst....

    Spoiler anzeigen
    Code
    #include <Excel.au3>
    
    _Start()
    If @error Then MsgBox(0, "Fehler", "Fehlerwert: " & @error)
    
    
    Func _Start()
        Local $oExcel_1 = _Excel_Open()
        If @error Then Return SetError(1)
        Local $var = "C:\Users\....xlsx"
    
        Local $oWorkbook = _Excel_BookOpen($oExcel_1, $var)
    
        Local $aRead = _Excel_RangeRead($oWorkbook, Default, "B3:D5")
        If @error Then Return SetError(2)
    
        _ArrayDisplay($aRead) ; kann auskommentiert werden.
    
        For $i = 0 To UBound($aRead) - 1
            ; für den gezeigten Fall, dass es immer drei Werte sind.
            _SchreibeSehrRisikoreichInProgramm($aRead[$i][0], $aRead[$i][1], $aRead[$i][2)]
        Next
    EndFunc   ;==>_Start
    
    
    Func _SchreibeSehrRisikoreichInProgramm($_read1, $_read2, $_read3)
    
        WinActivate("Haufe - Powerhaus")
    
    
        ; Start
    
    
        MouseClick("left", 482, 115, 1)
    
        Sleep(51)
    
        MouseClick("left", 339, 189, 1)
    
        Sleep(51)
    
        MouseClick("left", 252, 332, 1)
    
        Sleep(101)
    
    
        ; Objektmenu
    
    
    
        MouseClick("left", 1256, 200, 1)
    
        Sleep(202)
    
    
        MouseClick("left", 893, 478, 1)
    
        Sleep(502)
    
    
    
        MouseClick("left", 405, 460, 1)
    
        Sleep(1002)
    
    
        MouseClick("left", 1083, 567, 1)
    
        Sleep(102)
    
    
        MouseClick("left", 934, 667, 1)
    
        Sleep(7002)
    
    
    
        MouseClick("left", 910, 704, 1)
    
        Sleep(3502)
    
    
        ; WE - Anschriften
    
    
    
        MouseClick("left", 314, 314, 3)
    
        Sleep((53))
    
        Send("{backspace}")
    
        Sleep(53)
    
        Send($_read1)
    
        Sleep(53)
    
        Send("{tab}")
    
        Sleep(53)
    
        Send($_read2)
    
        Sleep(53)
    
        Send("{tab}")
    
        Sleep(53)
    
        Send("{backspace}" 25)
    
        Sleep(53)
    
        Send($_read3)
    
        Sleep(53)
    
    
    
        MouseClick("left", 823, 704, 1)
    
        Sleep(53)
    
    
        ; Ende
    EndFunc   ;==>_SchreibeSehrRisikoreichInProgramm
    Alles anzeigen
  • Bytemuster zum testen der Laufwerksgeschwindigkeit

    • autoiter
    • 5. Dezember 2018 um 10:59
    Zitat von BugFix

    Die verwendeten Laufwerke / Sticks sind allesamt hochwertige Produkte (SanDisk, WD, Samsung).

    Und hoffentlich nicht bei wish gekauft.. ?

  • Icon verstecken (Systray)

    • autoiter
    • 5. Dezember 2018 um 10:38

    Hallo Micha_he

    Zitat von Micha_he

    Auf meinem Win7-System existieren 2 'ToolbarWindows32'-Instanzen. Einmal "Infobereich des Systems" und einmal "Infobereich des Benutzers".

    Aha, das kannte ich auch nicht.

    Zitat von Micha_he

    ...

    Desweiteren verwendest Du in der For-Schleife der _Get_Systray_Infos-Funktion die Variable $iInstances statt $i.

    Allerdings. Da habe ich gestern zu schnell hin und her kopiert. Die Funktionsnamen und angegeben Meldungen sind bei zweitem Blick auch krude..?

    Danke für die Korrekturen. Das werde ich für mich dann auch übernehmen.

  • kleines Kopiertool für Fotos

    • autoiter
    • 4. Dezember 2018 um 20:54
    Zitat von Musashi

    stammt aus der Hilfe. Das habe ich häufiger aber auch an anderen Stellen bereits gelesen.

    @Musashi Das meint, was alpines gerade beschrieben hat. Wenn die Dateien auf unterschiedlichen Partitionen liegen wird kopiert und gelöscht. Ansonsten nur umbenannt. Deshalb ist FileMove auf der gleichen Partition so viel schneller. Auf unterschiedlichen, vermutet alpines, ist es auch etwas schneller. (wobei ich das nicht weiß. Ich sehe aber keinen Anlass, es umgekehrt zu erwarten.)

  • kleines Kopiertool für Fotos

    • autoiter
    • 4. Dezember 2018 um 20:33

    Hallo @Musashi

    Zitat von Musashi

    Quellpartition <> Zielpartition ==> FileCopy / FileDelete (schneller)

    Warum sollte das schneller sein? Ich denke FileMove tut es immer.

  • Icon verstecken (Systray)

    • autoiter
    • 4. Dezember 2018 um 16:03

    Hallo Micha_he

    Zitat von Micha_he

    Probiers mal mit dieser Variante. Die ToolbarWindows32-Instanz für den Infobereich ist bei Windows 10 eine '3'.

    Das ist ein Irrtum. Die Nummer ist dynamisch. Wenn es bei dir aktuell die Instanz Nummer 3 ist, wird es die Instanz Nummer vier, wenn du bspw. eine eigene Symbolleiste hinzufügst..

    Ich habe das auch mal gebraucht und habe Hilfe im angehängten Skript gefunden.

    Dann könnte man etwa so damit arbeiten:

    Code
    #include "_ListControls.au3"
    
    Global $g_hSysTray_Handle = _Get_Systray_Infos()
    If @error Then
        MsgBox(0, "Fehler", "ToolbarWindow32 nicht gefunden")
    Else
        MsgBox(0, "Fehler", "ToolbarWindow32 Ist Instanz Nummer: " & @extended & @CRLF & _
                "Das Systray Handle lautet: " & $g_hSysTray_Handle)
    EndIf
    
    
    Func _Get_Systray_Infos()
        Local $iInstances = _GetTrayWndControls()
        If $iInstances = 0 Then Return SetError(1, 0, -1)
        For $i = $iInstances To 1 Step -1
            $hSysTray_Handle = ControlGetHandle('[Class:Shell_TrayWnd]', '', '[Class:ToolbarWindow32;Instance:' & $iInstances & ']')
            If Not @error Then ExitLoop
        Next
        If Not @error Then
            Return SetError(0, $iInstances, $hSysTray_Handle)
        Else
            Return SetError(1, 0, -1)
        EndIf
    EndFunc   ;==>_Get_Systray_Infos
    
    
    Func _GetTrayWndControls()
        Local $sControlText = GetAllWindowsControls(WinGetHandle('[Class:Shell_TrayWnd]'))
        StringReplace($sControlText, 'ToolbarWindow32', '')
        Return @extended
    EndFunc   ;==>_GetTrayWndControls
    Alles anzeigen

    Dateien

    _ListControls.au3 4,58 kB – 816 Downloads
  • kleines Kopiertool für Fotos

    • autoiter
    • 3. Dezember 2018 um 20:54
    Zitat von blondi@

    solange die auf der gleichen Platte liegen.

    solange sie auf der selben Partition liegen.

  • kleines Kopiertool für Fotos

    • autoiter
    • 3. Dezember 2018 um 20:03
    Zitat von Musashi

    Letztlich liegt es an der Geschwindigkeit der AutoIt-Funktionen im Allgemeinen, nicht an meinem Tool im Besonderen. Wenn Du z.B. FileCopy und FileDelete verwendest, wird es ja nicht schneller.

    Zitat von Oscar

    Wenn Quelle und Ziel auf der gleichen Partition liegen ist Copy und Delete sehr langsam im Vergleich zu FileMove.

    Na, eben doch. Es geht darum, wie du die Funktionen in deinem Skript nutzt.

  • kleines Kopiertool für Fotos

    • autoiter
    • 3. Dezember 2018 um 19:24

    Haha, da hatte ich bisher gar nicht detailliert eingeschaut. X/ Danke für die Aufklärung, Oscar :thumbup::thumbup:

  • kleines Kopiertool für Fotos

    • autoiter
    • 3. Dezember 2018 um 19:08

    Naja, bei wenigen Dateien schon. Aber hier geht es um ein Kopiertool. Da sollte man schon von vielen Dateien ausgehen..

    EDIT: blondi@ Hast du die neue Version von _FileCopyEx? Oscar hat deinen Wunsch umgesetzt. Nimm meinen ersten Code, nimm die neue UDF und passe die Parameter an. Schreib dann nochmal, ob es ein Geschwindigkeitsproblem gibt. Wenn nicht, muss Musashi nochmal nachbessern.

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™