Beiträge von Banana_2_Day

    Notepad++ nutzt (wie SciTE) Scintilla als Basis. Wenn du also auf interne Routinen zugreifen möchtest, empfiehlt es sich, die Scintilla API zu verwenden. Ist gut dokumentiert auf deren Web-Site.

    Danke für den interessanten Tipp.

    Meinst Du folgende Doku?

    Scintilla Documentation


    Meine Frage ist allgemeiner Natur, wie ich auf eine Toolbar dieser Art ohne Scintilla API zugreifen kann.

    Ich scheitere am direkten Zugriff auf die Toolbarbereiche.

    Hallo,


    in notepad++ habe ich die Projektverwaltung eingeblendet und möchte mit AutoIt auf die Toolbar - Bereich "Bearbeiten" - Eintrag "Datei hinzufügen" klicken.


    $fh von Notepad++

    ControlCommand ( $fh , "", "ToolbarWindow321" , "SendCommandID" , 3133 )

    Damit öffnet sich der Toolbareintrag und das Script stoppt.


    Wie kann ich es besser umsetzen, dass auf

    Toolbar - Bearbeiten - Datei hinzufügen

    "geklickt" wird?


    Unten die Daten zur Toolbar.


    Danke


    PS: das funktioniert nicht

    ControlClick("", "", "[ClassnameNN:ToolbarWindow321; INSTANCE:1; ID:3132]" , "left" )



    >>>> Window <<<<

    Title: Notepad++

    Class: Notepad++


    >>>> Control <<<<

    Class: ToolbarWindow32

    Instance: 1

    ClassnameNN: ToolbarWindow321


    >>>> ToolsBar <<<<

    1: 3132 Arbeitsbereich

    2: 3133 Bearbeiten

    Danke Euch beiden ...


    Notepad ist ein Platzhalter für ein x-beliebiges Programm.


    Ich habe von vielen Programmen mehrere Instanzen offen, und möchte die flink per Mausklick (nicht Tastatur) umschalten.


    Bei der Anzahl der offenen Fenster sind "ALT+TAB" & Co keine Option, zumal ich nur einen bestimmten Fenstertyp bzw. Fensterklasse berücksichtigen wollte.

    Hallo,


    es sind z.B. 4x Notepad Editoren offen.


    Auf der Oberfläche sind mehrere Button mit anderen Funktionen.


    Ich suche ein Script für einen Button ... 1 Klick -> nächstes Notepad-Fenster wird aktiviert.


    Bei jedem Mausklick wird das nächste Notepad-Fenster aktiviert.


    Wenn alle x Notepad-Fenster einmal aktiviert wurden, wird mit dem nächsten Klick wieder das erste Notepad Fenster aktiviert, dann das zweite usw.


    Habt Ihr ein Beispielscript dafür?


    Gibt es einen einfacheren Weg als Winlist, bezogen auf Notepad, Array, Liste durchgehen, in Variable aktuelles Fenster merken ...


    Die Fenster eines Typs sind bereits offen. Die Anzahl ist variabel.


    Es geht um ein einfaches durchschalten aller Fenster eines Typs per Mausklick auf einen Button.

    Hallo,


    ich möchte einen Hotkey setzen:


    Numlock aus

    Wie lautet der Befehl HotKeySet für die "Taste 5"?

    HotKeySet ( "???" , "_num_aus_5_" )


    Bei Numlock an geht es so.

    HotKeySet ( "{numpad5}" , "_num_5_" )


    Danke

    Wenn Dein Fenster nicht allzu viele 'komplizierte' Controls enthält, sollte das selbst für einen GUI-Anfänger nicht zu schwer sein.

    Das Fenster enthält "komplizierte" Controls, daher auch die ISN Nutzung, mit der das fehlerfreier geht.


    Ich pausiere das Thema, bis ich den Kopf dafür frei habe und bei ISN direkt nachfragen kann. Es gibt einen Knoten, den ich erst entwirren muss.

    1) Du bindest deine au3 doch so oder so per include ein, also einfach die Funktion aus deiner au3 aufrufen und beim Funktionsaufruf die Parameter übergeben (Haupt au3 zu deiner inout-au3 funktion) wie bei jeder anderen Funktion auch. Und das Return macht die Datenübergabe (Ergebnis) wieder in die andere Richtung.


    Nein.


    Ich binde die input.au3 per "ShellExecuteWait" ein, nicht per include - wie in Post 1 in Punkt (2) geschrieben.


    Grund = Problem:


    Wenn ich die input-au3 mit include einbinde, wird die GUI aufgerufen und der Code in der Haupt-au3 weiter abgearbeitet.


    Wie kann ich den Code in der Haupt-au3 so lange pausieren lassen, so lange die input.au3 läuft?


    ... ich habe bisher im Forum kein Beispiel auf Basis von ISN gefunden.


    Und danke für Eure Antworten. Finden wir eine Lösung.

    Hallo,


    ich nutze das „ISN Autoit Studio“ mit dem GUI Modul.


    Ich möchte die AutoIt-Inputbox durch eine eigene GUI (isf-Datei) ersetzen, u.a. wegen der Schriftgröße und mehrerer unterschiedlicher Eingabezeilen und Button.


    Ich möchte so viel wie möglich Code in die input.au3 und die input.isf auslagern und in unterschiedlichen Projekten wieder verwenden.


    (1) Was wäre aus Eurer Sicht die einfachste Datenübergabe von der input-au3 zu der Haupt-au3? Mir fallen nur die Zwischenablage (störanfällig) und Dateispeicherung (aufwendig) ein.

    Wie wäre eine Variablenübergabe von der input-au3 zur Haupt-au3 möglich?


    (2) Gibt es einen besseren Weg, als von der Haupt-au3 Datei mit der ShellExecuteWait die input-au3 aufzurufen, um den Input-Dialg der GUI anzuzeigen?


    (3) Gibt es im Forum bereits lauffähige Beispiele als Anregung? (konnte keine finden, die auf au3 / isf Dateien basieren ... ISN )


    (4) Was wäre Eurer Meinung ein flexibler Weg, um das Grundgerüst mit wenigen Änderungen in vielen Projekten zu verwenden?


    Danke für Eure Anregungen und Beispiele.

    Edit 30.12.2013
    Bugs in _Array2DEmptyDel() und _Array2DDblDel() beseitigt. Aktuelle Version: v 0.4


    EDIT 25.07.07
    Es ist doch einiges hinzugekommen, bzw. wurden die Funktionen, die bisher nur mit 1D-Arrays arbeiteten (oder Dim 2 begrenzt auf 2) erweitert auf 2D ohne Begrenzung.


    Lange ist es her ...


    Ich habe die ArrayMore.au3 heute eingebunden (voher neu runtergeladen) und stoße bei der Überprüfung mit ISN auf folgende Fehlermeldung:


    Liegt der Fehler in der Prüfroutine oder in der au3?


    Magst Du noch mal in den Code schauen?


    Vielen Dank, das gibt Stoff fürs Wochenende.


    Und besonderen Dank für die Anmerkungen in Regex. Eine Materie, in die es sich lohnt, tiefer einzusteigen.

    Reicht das verlinkte Pattern für deinen Zweck?

    Ich bin gerade am Testen, die Datei enthält rund 1000 Zeilen. Melde mich heute, ob es funktioniert :)

    Vielen Dank.



    Kannst Du das Pattern so umschreiben, dass es unabhängig von einer Topleveldomain ist?

    Laut Wiki gibt es ca. 1500 Topleveldomains.

    Es sind sehr viele unterschiedliche Topleveldomains.


    Lokale IP Adressen habe ich bei meiner Anfrage in Post 1 vergessen.


    ublock Beispiel (in Post 1 ergänzt)

    192.168.178.100##.col-sm-6.col-xs-12



    ([[:alnum:]-]+\.(?>de|com|net|org))\b


    Wäre folgendes ein Ansatz ohne Topleveldomain, die 2 bis 4 Zeichen enthalten?


    zu (1)

    \. gefolgt von 2 bis 4 Zeichen, gefolgt von /


    zu (2)

    \. gefolgt von 2 bis 4 Zeichen, gefolgt von ##

    Hallo,


    wer kennt sich von Euch mit Regex aus? Ich suche 2 getrennte Abfragen, um die Domain aus folgenden Zeichenketten zu erhalten.


    Quelle ublock


    StringRegExp() Abfrage (1) für folgende Zeilen


    ||p5.focus.de/img/fotos/*/banner*.jpg$image

    ||apis.google.com/js/plusone.js$script

    ||mobilbranche.de/wp-content/themes/mobilbranche_2014/lib/img/mobilbranche_bg1.gif$image

    ||connect.facebook.net^$script

    ||a.bf-tools.net^$script


    Ergebnis


    focus.de

    google.com

    mobilbranche.de

    facebook.net

    bf-tools.net


    StringRegExp() Abfrage (2) für folgende Zeilen


    www1.wdr.de##.socialMedia

    praxistipps.focus.de##.fb-wrap.fb-direction-row.fb-col-12

    192.168.178.100##.col-sm-6.col-xs-12


    Ergebnis


    wdr.de

    focus.de

    192.168.178.100


    PS: Gibt es eine bessere / leichtere Möglichkeit als StringRegExp()?


    (3)


    Was ist der beste Ansatz, um die ublock.txt inhaltlich nach der Domain zu sortieren?

    Was Du gemacht hast, kenne ich (allerdings nicht in diesem Ausmaß).

    Das bedurfte jahrelanger Pflege :) und inzwischen hat das Ausmaß ein Volumen erreicht, dass ich die Reißleine und eine Lösung finden muss.


    "themenübergreifend" Ein gutes Stichwort – es landet vieles in einer einzigen Datei, es gibt mehr Infos als Zeit zur Verarbeitung.


    So wie ich Deinen Aufbau verstanden habe, gibt es, kurz gesagt, also :

    -> 1..n Textblöcke unterschiedlicher Länge (innerhalb eines Blockes kommen keine Leerzeilen vor)

    -> die einzelnen Textblöcke werden durch 1..n Leerzeilen voneinander getrennt


    Ist das soweit richtig ?

    Ja, genau so ist :)