Beiträge von Banana_2_Day

    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 :)

    Die von Dir gemachten Vorgaben sind zu 'unscharf' um konkrete Aussagen zu treffen.

    Konnte mein Beitrag in Post 10 mehr Klarheit bringen?


    Mein Datenmengen-Beispiel in Post 10 zeigt ein gutes Abbild von 4 Datensätzen.

    Habe sie mit in meine Datenbank eingefügt.


    Fragt bitte konkret, wenn die Beschreibung noch nicht ausreichend ist.

    Die Frage ob eine Datenbank wie SQLite hier sinnvoll wäre oder nicht können wir anhand des gezeigten gar nicht beurteilen.

    Die Frage ist doch aber gibt es dort irgendeine inhaltliche Struktur?

    Gibt es dort eventuell bestimmte Attribute die jeden Datensatz beschreiben?


    Ich versuche es zu konkretisieren.


    Trennzeichen ist eine oder mehrere Leerzeilen.


    Es ist eine immense Textsammlung. Damit vergleichbar, als ob jemand aus dem AutoIt Forum diverse Textpassagen zu unterschiedlichen Themen ohne Leerzeilen in eine Textdatei kopiert hat.

    Es sind aus News, Foren, Ideen zusammenkopierte Texte, ohne weitere Struktur. Beispiel unten. Wird Zeit für Ordnung :)


    Immer, wenn neuer Datensatz eingefügt wurde, wurde zuvor eine Leerzeile als Trenner hinzugefügt.

    Das ist die echte Datenmenge, die mir hier so vorliegt.


    Daher sieht die Struktur der Datenbank wirkich so aus, wie in Post 1 dargestellt. Die Header sind nur zur Verdeutlichung, die gibt es nicht.


    Textblock unterschiedlich lang

    eine oder mehrere Leerzeilen

    Textblock unterschiedlich lang

    eine oder mehrere Leerzeilen

    ...


    Da ich keine Möglichkeit kenne, bei einer Suche jeden Absatz als 1 Datensatz zu betrachten, wollte ich das in ein durchsuchbares Datenbankformat umwandeln.


    Ich hätte neben AutoIt auch z.B. die Möglichkeit auf Access zuzugreifen, aber keine Erfahrungen. Früher gab es noch Asksam, vielleicht kennt das jemand, eine Freitextdatenbank.


    In Schritt 1 möchte ich eine praktikable Möglichkeit, was ich mit der Datenmenge tun kann, um sie absatzweise durchsuchbar zu machen.

    Ich suche dabei 1 bis 12 Suchbegriffe, die in jedem Absatz = Datensatz vorkommen müssen.

    Diese Absätze sollen ausgegeben und im Original gelöscht werden.


    So wird aus dem Chaos eine neue Datenbank, die unter Stichworten verschlagwortet ist.


    Würde ich im untenstehenden Beispiel nach

    SQLite, Möglichkeit

    suchen, würde Datensatz = Absatz (4) zurückgegeben, im Original gelöscht und in eine neue Datenbank eingefügt werden.


    Nachtrag - Frage :

    Wäre es bei dieser Datenmenge nicht ggf. sinnvoll, eine Umsetzung mit SQLite zu überlegen ?


    Klares Ja :)


    Hast Du ein Beispiel, wie ich obige Datenmenge in eine SQL-Datenbank überführe?


    Ich lese mir parallel in SQL ein.


    Wenn ich im Forum nach SQLite im Titel suche, sind die letzten Artikel aus 2018 und dann noch 1 - 2 ...

    Scheint ein seltenes Thema in aktueller Zeit zu sein.


    Das klingt schon mal hoffnungsvoll

    Danke Musashi, ich scheitere an folgenden Punkten:


    "Wäre es bei dieser Datenmenge nicht ggf. sinnvoll, eine Umsetzung mit SQLite zu überlegen ?"


    Ich vermute, SQLite ist eine Möglichkeit mit AutoIt, die ich nicht kenne?!

    Da muss ich mich einlesen.

    Ich habe auch schon überlegt, ob es ein alternatives Programm gibt.

    Die Datenmenge besteht aus vielen Zeilen und einer Leerzeile als Trenner.

    Ich kenne keine Programme, die das sinnvoll verarbeiten.




    Testdatei 300 MB mit 10116866 Zeilen, wird in Notepad plus in null komma nichts geöffnet.

    Habe auch UltraEdit und andere probiert.

    In keinem Programm kann ich die Suche auf Absätze eingrenzen. Daher die Idee, etwas mit AutoIt umzusetzen.


    Scheinbar klappt auch das Einlesen in ein Array in AutoIt gut.


    Das rekursive Löschen von Leerzeilen in einem großen Array dauert ewig mit:

    Oder gibt es eine schnelle Möglichkeit, x untereinander stehende Leerzeilen als 1 Leerzeile = 1 Trenner zu nehmen? Siehe Beispiel Post 1, die Anzahl der Leerzeilen ist unterschiedlich.


    For $i = UBound ( $aText ) - 1 To 0 Step -1

    If $aText[$i] = "" Then

    _ArrayDelete ( $aText , $i )

    EndIf

    Next


    Gibt es dafür eine schnellere Variante?



    kurze Zwischenmeldung - teste weiter -