Beiträge von HansJ54

    Zuerst habe ich in der Hilfe nachgeschaut unter "Function Reference" / "String Management" und übersehen, dass es noch mehr String-Funktionen gibt unter "User Defined Functions Reference". Das ist zu tief unten in der Liste :ironie:

    Und bei Google muss man erstaunlich genau treffen, der findet doch sonst auch allen möglichen Kram auch wenn man nicht exakt sucht.

    Schönes Wochenende zusammen!

    Diesmal im Forum und bei Google gesucht und wieder nichts gefunden, obwohl in anderen Programmiersprachen Standard (bin dabei meine Scripte ein wenig zu durchforsten):


    Ich suche eine Funktion, mit der ich n mal die Zeichenfolge "$sText" erzeugen kann. Mit einer For-Schleife ist das einfach, aber gibt es keine direkte Funktion in AutoIt? Oder vielleicht irgendetwas mit RegEx (wovon ich sehr wenig Ahnung habe)?


    _StringDup(10, "x") => "xxxxxxxxxx" oder

    _StringDup(7, "xy") => "xyxyxyxyxyxyxy"

    Noch eine Frage an Oscar - klappt auch so einwandfrei, aber in einigen Fällen sieht man etwas zu wenig in bestimmten Spalten (genauer gesagt, in der 2. Spalte):

    _GUICtrlListView_SetColumnWidth($__g_idArrayShow2D_LV, $iCol, $LVSCW_AUTOSIZE)

    Damit wird anscheinend automatisch die Spaltenbreite gesetzt, richtig? Was muss ich ändern, um da noch eine minimale Spaltenbreite vorzugeben? Brauche ich nur, wenn überhaupt, für die 2. Spalte - also nicht unbedingt als unterschiedliche Vorgabe für alle Spalten. Oder halt 1 Wert für alle Spalten.

    Vielen Dank noch mal für die Hilfe, funktioniert ebenfalls perfekt!

    Da ich es auf die Schnelle nicht komplett verstanden habe, wo die Problematik liegt (und wenn ich nicht zu viel Aufwand verursache) ;)

    Könnte man das Copy to Clipboard auch auf ein einzelnes angeklicktes Feld beschränken? Es ist oft eine Vertragsnummer oder eine Telefonnummer, die rauskopiert werden soll, nicht die ganze Zeile. Das allein hilft natürlich auch schon, da man ja den nicht benötigten Rest rauslöschen kann, aber vielleicht gibt es ja eine Erweiterung von Zeile auf Feld?

    Ich nutze das für verschiedene Tabellen, meistens brauche ich die erste Spalte als Beschriftung und dann irgendeine einzelne andere. Es gibt aber auch Fälle, da sind es 2 oder mehr andere, die nicht unbedingt nebeneinander liegen. Also so, wie es mein Programm mit der Kopie macht: Vorgabe n Spalten, Ausgabe n Spalten.



    Die Suche der Spalten ist übrigens kein Problem, die Vorgabe für das neue ArrayDisplay wäre immer nur so etwas wie : $sCols = "1|3|5|9" - die tatsächlichen Tabellen sind wesentlich komplexer und teilweise über 2. und 3. Tabellen indiziert, also keine Arbeit in die Suche stecken ;)

    Auch die Standardfunktion _ArrayExtract kann nur zusammenhängende "Spaltenbereiche" extrahieren.

    Danke für den Tipp. Der Befehl kommt trotzdem meiner Idee nah, aber das Problem wird auf der anderen Seite der Zuweisung liegen. Mit dem Befehl könnte ich doch nacheinander z.B. 2 getrennte Spalten aus einem Array ziehen, aber ich werde die nicht nacheinander einem neuen Array zugewiesen bekommen. Insofern denke ich, mein kleines Programm macht universell was ich brauche und hat auch nicht viel Overhead.

    ich glaub zwar zu wissen was du willst, aber Eierlegende Wollmilchsäue gibt es auch mit AutoIT nicht. Falls https://autoit.de/wcf/forenregeln/ du für Trickfilmsequenzen solche benötigst gibt es sicher besseres, denn die Forenregeln verbieten es


    ansonsten einfach echte Testdaten nach ISO-Norm deines Berufsverbandes bereitstellen.

    Aber fragen kann man doch und bekommt auch von allen anderen hilfreiche Antworten. Mein kurzes Programm ist doch schon fast eine eierlegende Wollmilchsau, wenn Du es Dir mal anschaust. Ich hatte nur die Idee, dass ich die For-Schleife durch einen einzelnen Befehl ersetzen kann. Der Hinweis auf _ArrayExtract() von Musashi wäre es ja schon fast.


    Was Du mit dem zweiten Satz, "Forenregeln und Trickfilmsequenzen" meinst, müsstest Du mir genauer erklären - das was ich wissen wollte und gefragt habe, kann in keinen Forenregeln verboten sein.


    Und dann noch der nächste Satz mit "Testdaten nach ISO-Norm meines Berufsverbandes" - jetzt bin ich ganz baff. Ich vermute, Du verwechselst mich, kann das sein?

    Funktioniert exakt, aber von Verstehen bin ich weit entfernt :Glaskugel:  ;)

    Ich müsste aber auch da eine Schleife einbauen, da meine Arrays jeweils variable Größen haben, eines z.B. 38 Zeilen mit 180 Spalten. Ich müsste somit 178 Spalten ausblenden.


    Kann man denn eine Spalte von einem Array einer Spalte in einem anderen Array direkt zuweisen ohne For? Ich mache das im Moment so, wobei ich über $sCols beliebig viele Spalten auswählen kann (Optimierung welcome):

    Hallo zusammen, mal wieder nichts Brauchbares gefunden, wobei es sicher auch dazu Infos gibt:


    Ich möchte aus einem 2-dim Array Spalte 1 und Spalte $i anzeigen. Habe bei _ArrayDisplay() mit $sArrayRange verschiedene Varianten ausprobiert wie z.B. "|1," & $i oder auch einfach "|1,5" oder "|1;5" aber bisher keinen Erfolg. Die AutoIt-Hilfe zeigt als Beispiele nur Ranges, keine Einzelspalten als Möglichkeit. Kann es sein, dass das gar nicht geht?


    Ein Workaround ist programmiert, über eine For-Schleife kopiere ich die beiden Spalten in ein neues Array und zeige das zweite Array dann an. Falls es die Möglichkeit der direkten Zuweisung von Spalte 1 von Array1 in Spalte 1 von Array 2 und Spalte $i von Array 1 in Spalte 2 von Array 2 gibt, wäre zumindest der Workaround kürzer - aber auch dazu habe ich nichts gefunden.


    :/

    Ich war ein paar Tage out-of-order, daher heute erst gelesen :thumbup:


    BugFix : genau die Info habe ich gebraucht, ist ja eigentlich auch logisch und ein "laufender" Timer würde keinen Sinn machen. Es schadet folglich nicht, Dutzende Timer zu "starten".


    Alina: Danke auch für Deine Ausführungen. Aber: ich nehme grundsätzlich erst einmal die Suche und das nicht nur hier im Forum sondern auch bei Google und auch im englischen Forum. Hast Du mal nach "Timer" hier in diesem Forum gesucht? Da schaue ich bei 1.000 Treffern kurz nach auf den ersten beiden Seiten und dann gebe ich auf 8) Wenn mir allerdings ein besserer Suchbegriff als nur "Timer" eingefallen wäre, dann hätte ich sicher etwas Brauchbares gefunden.

    Wie man am Beispiel sieht, kann man mehrere Timer parallel starten. Was passiert mit diesen Timern, wenn man im Laufe des Tages oder innerhalb eines Programms viele davon startet? Die laufen ja scheinbar immer weiter. Kann/muss man die beenden?

    AutoIt
    $hT1 = TimerInit()
    Sleep(3000)
    $hT2 = TimerInit()
    Sleep(3000)
    MsgBox(0, "Test", "T1:" & TimerDiff($hT1)/1000 & " T2:" & TimerDiff($hT2)/1000)

    Hatte es in der CMD probiert, ging nicht. Da kommt nur ein leeres SciTE.

    Ich habe sämtliche run ohne das Local $iPID = im Programm. Hat das irgendwelche Nachteile?


    Und gleich noch eine Frage, nicht ganz zum Thema - hatte ich das schon einmal gefragt?

    Ich möchte mit Run die chrome.exe starten und zu chrome://settings/help kommen, ditto bei Edge. Wenn ich hinter chrome.exe eine URL eintrage, funktioniert. Das chrome://settings/help klappt dagegen nicht. Vermutlich fehlt da wieder irgendein Parameter?

    Run("C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe https://www.dieversicherer.de/…arten/naturgefahren-check") : funktioniert

    Run("C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe edge://settings/help") : funktioniert nicht.