Beiträge von autoiter

    Hallo Musashi

    Viele Funktionen wie _ArrayToString oder _FileWriteFromArray haben das was du da mit _Arraydelete zusammenbastelst schon eingebaut. Schau dir einfach mal die weiteren Parameter an. Dann kannst dir den ganzen Mittelteil sparen ;)

    Vergleiche sind oft ungenau, so wie Äpfel mit Birnen zu vergleichen. Das sollte man grundsätzlich nicht als in Stein gemeiselte Fakten sehen.

    Naja, sorry. Aber wenn man die Vergleiche so baut, wie du, dann ist das natürlich erst recht so.


    Ich sage ja nicht, dass _ArraySearch Dict überflügelt. Aber bei Dict hast du einen Treffer aus 4000 (bzw. nach deiner Bearbeitung ja sogar weniger) und bearbeitest den weiter. Beim _Array durchsuchst du nach dem ersten Treffer alle weiteren Indizes durch. Wenn der Treffer bei Index 1 war ist doch klar, dass das Ergebnis viel länger auf sich warten lässt, als wenn du direkt den Treffer bearbeitet hättest..

    Du hättest wenigstens beides (Dict und Array) gleich aufbauen müssen..

    Interessante Idee. Wie kann das denn genau aussehen?

    Einfach die Datei um die es geht und die unterschiedlichen Suchen hochladen. Dann könnte man die einfach selbst ausführen und die Zeiten vergleichen und eigene Alternativen/Modifikationen testen. Vielleicht habe ich den entsprechenden Beitrag auch übersehen.

    Okay, Aber dann muss dir doch klar sein, dass dein Vergleich ziemlich wertlos ist.


    Poste besser in Zukunft die Vergleichsdaten mit deiner Suche und nenne die Zeiten auf deinem lokalen System. Andere können dann das gleiche testen und Modifizierungen mit Zeiten auf ihrem System zeigen. Das wäre deutlich sinnvoller, als deine gezeigten Daten als Fakten zu nehmen.

    Hallo Professor Bernd

    Für die Verwendung in meinem CallTipViewer ist das Gegenteil gewollt: Nur eindeutige Suchbegriffe! Die Suchbegriffe sind ausschließlich vollständige Funktionsnamen, keine Teile.

    Was heißt das denn? Einfach eine statische Anzeige der Funktionsbeschreibung nach der Eingabe eines Funktionsnamens? Keine markierte aktuelle Postition in den Parametern? Was ist zuvor mit Übernahme von Vorschlägen für Funktionsnamen während der Eingabe?

    Geschwindigkeitsvergleich

    _ArrayFindAll
    Time: 0.0148594000
    _DynArray-UDF
    Time: 0.0005477000
    Dictionary
    Time: 0.0000195000

    Die Regex Variante von AspirinJunkie aus Beitrag 35, die ich für die angebrachte Methode halten würde fehlt auch. Ist doch super easy umzusetzen und die Dateigröße mit 4000 Zeilen ist eigentlich nicht so mega groß..

    Hallo Leute,

    Ich habe dasd eben mal gecheckt BugFix

    Bei dem Skript, dass ich als erstes gepostet habe, wird die Maus hin und her bewegt. Wenn ich die Maus ganz an den rechten Rand bewege (auch per MouseMoove über die mögliche Position), landet die Maus am Ende nicht auf (FHD) Pixel 1920 sondern auf 1919 .

    In jedem Fall wird die Idle Zeit von Windows zurückgesetzt. Daher kommt auch der Screensaver nie!


    Ich verstehe auch die Diskussion um die negativen Effekte von Mausbewegung gerade nicht und wozu BlockInput. Wenn man vor der Aktion checked, ob seit längerem keine Benutzereingabe und nur dann eine Aktion ausführt, frage ich mich, was da alles passieren soll.

    In meinem Beispiel wurde 3 Minuten gewartet. Wenn in der Zeit keine Benutzereingabe stattgefunden hat, wird die Maus um einen Pixel hin und her bewegt. Wie lange dauert das (Ermittlung der Idle Zeit, Ermittlung der Mausposition, Mausbewegung hin und her)? 30 Millisekunden?

    Oh je. Ich habe das Skript getestet und dachte, es ist doch doof, den Status fest zu schreiben. Besser wäre es doch weg und zurück zum aktuellen Status zu schalten.


    Laut Hilfe von Send bietet AutoIt das out of the box :) Allerdings funktioniert es nicht:

    toggle funktioniert nicht!

    Könnt ihr das nachvollziehen? (Hab nicht nach einem Ticket gesucht).


    Danach habe ich den Thread gefunden: https://www.autoitscript.com/f…slock-scroll-and-numlock/
    In folgendem Bsp. Skript sieht es jedenfalls gut aus:

    Gute Idee Musashi

    Ich habe es gerade ausprobiert. _WinAPI_SetThreadExecutionState scheint nicht zufunktionieren. Aber Numlock klappt :)

    Tja, was soll man machen ^^


    Wäre es dann nicht angebracht in der AutoIt-Hilfe beim Operator / wenigstens darauf hinzuweisen, dass als Ergebnis einer Division von Ganzzahlen immer ein Wert des Typs Double geliefert wird, auch wenn AutoIt bei der Anzeige .0 wegschneidet und die Funktionen IsInt und IsFloat dich anlügen?

    water  Tweaky was haltet ihr davon ;)

    Haha, die verrückte Welt von AutoIt. Danke dir für den Link Musashi.

    Ich liebe diese Sprache, weil manso schnell ans Ziel kommt. Aber bei all dem, was einem abgenommen wird, bleibt für mich dann immer mal wieder Konfusion zurück :D

    Code
    ConsoleWrite("IsInt(6/2): " & IsInt(6/2) & @CRLF)
    ConsoleWrite("IsFloat(6/2): " & IsFloat(6/2) & @CRLF)
    ConsoleWrite("Hex(6/2): " & Hex(6/2) & @CRLF)
    ConsoleWrite("Hex(3.0): " & Hex(3.0) & @CRLF)
    ConsoleWrite("Hex(3): " & Hex(3) & @CRLF)

    IsInt(6/2): 1

    IsFloat(6/2): 0

    Hex(6/2): 4008000000000000

    Hex(3.0): 4008000000000000

    Hex(3): 00000003


    Ich bin bedient :S

    Hallo akira2012

    Hass mich bitte nicht. Aber ich schlage Mausbewegung vor :D


    Ich kenne nur Benutzereingaben, um das Sperren zu verhindern. Wäre aber ziemlich blöd Tastatureingaben zu simulieren, falls ein Fenster aktiv ist, dass die als Text entgegen nähme.


    Das folgende Skript (ungetestet) checkt die Inaktivitätszeit-Zeit und reagiert, wenn seit mindestens drei Minuten keine Benutzereingabe stattgefunden hat. Dann wird die Maus um einen Pixel nach rechts bewegt und wieder zurück.

    Selbst wenn genau in dem Moment ein Nutzer an den Rechner geht, sollte er das nicht merken.


    In dem Beispiel habe ich einen globalen Hotkey eingebaut. Alt+Ende beenden das Skript.

    Haha, owei. Wieder ein Bsp. dafür, dass man bei AutoIt nicht zu genau hinschauen sollte :D


    Ich habe mir die Beschreibung von Hex angeschaut. Du meinst: Numbers passed as non-integers (those with decimal separator or exponent) are processed as doubles.

    Das bedeutet aber nicht, dass AutoIt alle Ergebnisse von Divisionen als Double zurück gibt, sondern nur, dass die Funktion Hex, übergebene Werte mit Dezimaltrennzeichen oder Exponent als Double behandelt.

    Ohne jetzt wie du zu genau hinzuschauen, was wirklich gemacht wird, würde ich daher sagen, die Division wird vor der Übergabe an Hex ausgeführt und Hex bekommt bei 6/2 den Int Wert 3 übergeben.