Super, danke! Besser eine direkte Funktion als "hintenrum"
Beiträge von HansJ54
-
-
Mal wieder ein Spezialproblem von mir:
Wir nutzen ChromeDriver.exe, befindet sich in einem Netzpfad. Wenn es eine neue Version gibt, kopiere ich sie dorthin. Falls aber gerade jemand die Datei nutzt, geht das schief und ich lande in einer Windows-Fehlermeldung.
Gibt es in AutoIt eine Möglichkeit zu prüfen, ob ich eine Datei überschreiben kann, also ob sie nicht benutzt ist, ohne dass ich auf die Windows-Ebene zurückfalle?
Das Ergebnis von $sOk = FileRead("I:\BlpMenu\Webdriver\chromedriver.exe", 1) scheint eine Lösung zu sein, aber gibt es eine bessere Idee (wobei mir die schon gut vorkommt)?
-
-
-
AspirinJunkie : Aber nicht im Urlaub stören lassen, hat Zeit und mit Workaround gelöst!
_ArrayMinMax() hat keinen Range, den man für die Untersuchung angeben kann (z.B. Zeile 2-9 + Spalte 2-4)?
Kann man einem neuen Array direkt einen Range aus einem bestehenden Array zuweisen? Also $aB = (Zeile 2-9 und Spalte 2-4) aus Array $aA? Habe mal wieder nichts gefunden. Mein Workaround: ich kopiere das Array komplett und lösche die nicht gewünschten Zeilen und Spalten anschließend.
-
-
Ich sollte mal schneller hier reinschauen, bei mir sind es bisher mehr als 30 Zeilen Code und AspirinJunkie macht das mit 5
Es funktioniert einwandfrei für meine Fälle, allerdings vom Verstehen bin ich ganz weit entfernt.
AspirinJunkie Im Beispiel unten gibt es ein Problem mit der Sortierung der "Release #nn" - da klappt die Sortierung (#29 vor #2) nicht - für mich nicht wichtig, kommt bei mir nicht vor.
Und: Deine ArrayPlus-UDF ist super, Einiges kann ich auch benutzen weil ich es verstehe, aber z.B. für das Beispiel unten nur das Maximum oder die Zeile des Maximums zu ermitteln dazu reicht es bei mir nicht. Ebenfalls kein großes Problem, da ich mit der Sortierung das Ergebnis auch bekomme, aber vielleicht gibt es ja auch die entsprechende direkte Funktion bei Dir?
Und ist "Array-Plus-UDF" der Nachfolger von "DynArray"?Nochmals vielen Dank an alle hier im Forum!
AutoIt
Alles anzeigen; Spezial-Sortierung Array nach Software-Versionsnummern #include "ArrayPlus.au3" Local $aVersionsAndReleases[][] = [["999.2.8.9", "Release #1"],["1000.2.9.10", "Release #3"],["0.2.8.10", "Release #9"],["0.2.8.9999", _ "Release #10"],["0.2.8.19999", "Release #10"], ["0.2.8.10", "Release #2"],["0.3", "Release #5"],["0.39999.101", "Release #5"], _ ["0.3.9999", "Release #5"],["0.2.8.10", "Release #29"]] _ArraySortFlexible($aVersionsAndReleases, _MyCompare) _ArrayDisplay($aVersionsAndReleases) Func _MyCompare(ByRef $A, ByRef $B) ; user defined comparison function for user-defined sorting Local Static $h_DLL_Shlwapi = DllOpen("Shlwapi.dll") Return -DllCall($h_DLL_Shlwapi, "int", "StrCmpLogicalW", "wstr", $A[0], "wstr", $B[0])[0] EndFunc ;==>_MyCompare
-
Moombas : Zeile 15 - IniReadSectionNames ist eine vorhandene Funktion und liefert schon einen @error. Der Fehler lag in meiner IniGetAllKeys, da muss auch noch eine Errorbearbeitung hin. Falls die Ini-Datei $sIni nicht vorhanden ist, dann braucht es m.E. insgesamt 4 "If @error then". Bitte mal meine Logik prüfen.
Versionsnummern sortieren: da denke ich gerade drüber nach, kommt
AutoIt
Alles anzeigenOpt('MustDeclareVars', 1) #include <Array.au3> #include <MsgBoxConstants.au3> Global $sBrowserVersionsFile = @ScriptFullPath ; testweise mal auf eine nicht vorhandene Datei setzen c:\temp\test.ini _BrowserVersions($sBrowserVersionsFile) Func _BrowserVersions($sIni) Global $aErgebnis = Ini2Array($sIni, True, True, False, "---") ; sort sections and keys, no transpose, empty = "---" If @error Then Return SetError(@error, 0, MsgBox($MB_TOPMOST, "_BrowserVersions()", "Ini-Datei nicht ok!")) $aErgebnis[0][0] = "Client" ; Zeile "Latest" mit der aktuellsten vorhandenen Version auffüllen Local $aRowLatest = _ArrayFindAll($aErgebnis, "Latest-->") ; row for latest version If @error = 0 Then For $i = 1 To UBound($aErgebnis, $UBOUND_COLUMNS) - 1 $aErgebnis[$aRowLatest[0]][$i] = _ArrayMax($aErgebnis, 0, 1, $aRowLatest[0], $i) Next EndIf _ArrayDisplay($aErgebnis, "Browser- und WebDriver-Versionen", "1:", $ARRAYDISPLAY_NOROW + $ARRAYDISPLAY_COLALIGNCENTER, Default, _ArrayToString($aErgebnis, "|", 0, 0)) EndFunc Func Ini2Array($sIni, $bSortSections = False, $bSortKeys = False, $bTranspose = False, $sEmptyField = "---") ;Habe auch mal den "Füller" für leere Felder Optional gemacht, nicht jeder mag das dort etwas drin steht obwohl dort nix drin steht^^ Local $sSection Local $aSectionNames = IniReadSectionNames($sIni) If @error Then Return SetError(@error, 0, 0) Local $aKeys = IniGetAllKeys($sIni) Local $aResult[$aSectionNames[0] + 1][$aKeys[0] + 1] ; Das Sortieren ist kritisch, wenn ein Schlüssel Zahlen enthält passt das ganz so nicht mehr, daher geändert. If $bSortSections Then _ArraySort($aSectionNames, Default, 1) If $bSortKeys Then _ArraySort($aKeys, Default, 1) For $I = 1 To $aKeys[0] $aResult[0][$I] = $aKeys[$I] Next For $I = 1 To $aSectionNames[0] $sSection = $aSectionNames[$I] $aResult[$I][0] = $sSection For $J = 1 To $aKeys[0] $aResult[$I][$J] = IniRead($sIni, $sSection, $aKeys[$J], $sEmptyField) Next Next If $bTranspose Then _ArrayTranspose($aResult) Return $aResult Endfunc Func IniGetAllKeys($sIni) Local $sData = "|" Local $aSectionNames = IniReadSectionNames($sIni) If @error Then Return SetError(@error, 0, 0) For $i = 1 To $aSectionNames[0] Local $aInhalt = IniReadSection($sIni, $aSectionNames[$i]) If @error = 0 Then For $j = 1 To $aInhalt[0][0] If Not StringInStr($sData, "|" & $aInhalt[$j][0] & "|") Then $sData &= $aInhalt[$j][0] & "|" Next EndIf Next If StringRight($sData, 1) = "|" Then $sData = StringTrimRight($sData, 1) Local $aKeys[0] _ArrayAdd($aKeys, $sData) $aKeys[0] = Ubound($aKeys) - 1 ;Lieber direkt die Anzahl mit übergeben, da hier so oder so Zeile 0 leer ist Return $aKeys EndFunc #Region eingebettete INI #cs [Latest-->] [BLP1-WX] EdgeVersion=99.0.1293.63 FirefoxVersion=103.0.3.8255 ChromeVersion=105.0.5112.102 OfficeVersion=16.0.10389.20033 [BLP3-WX] ChromeVersion=104.0.5112.102 EdgeVersion=104.0.1293.63 FirefoxVersion=103.0.2.8255 OfficeVersion=16.0.10389.20033 [BLP2-WX] EdgeVersion=104.0.1293.63 ChromeVersion=104.0.5112.102 FirefoxVersion=103.0.2.8255 OfficeVersion=16.0.10389.20033 [Server] ChromeVersion=104.0.5112.102 EdgeVersion=105.0.1293.63 FirefoxVersion=104.0.2.8255 OfficeVersion=16.0.10389.20033 [BLP5-WX] ChromeVersion=104.0.5112.102 EdgeVersion=104.0.1293.63 FirefoxVersion=103.0.2.8255 OfficeVersion=16.0.10389.20033 Test=1234 [BLP6-WX] ChromeVersion=104.0.5112.102 EdgeVersion=104.0.1293.63 FirefoxVersion=103.0.2.8255 OfficeVersion=16.0.10389.20033 [WebDriver] ChromeVersion=104.0.5112.79 EdgeVersion=104.0.1293.63 FirefoxVersion=0.31.1 #ce #EndRegion eingebettete INI
-
Zeile 12: gute Idee
Zeile 15: wenn etwas nicht passt (Filename oder Inhalt), dann sollte abgebrochen werden. Normalerweise sind die Daten ja nicht eingebettet, ich schreibe die z.B. regelmäßig von den Clients aus in eine gemeinsame Ini-Datei.
Zeile 19: sehr gut, hatte auch mal testweise eine Sektion "1234" probiert, führte zum Error. Habe aber nicht sofort verstanden warum - jetzt ist es mir klar. Daher konnte ich die Anzahl in Zeile 54 auch nicht setzen und musste oben UBound nutzen.
Bei Sortieren ergibt sich noch ein Problem mit den Versionen. Hat jetzt nicht mit der Funktion allgemein zu tun, sondern nur mit meiner Anwendung. Aber vielleicht gibt es da ja auch schon eine Lösung für die Sortierung von Versionsnummern? 99.0.1234.741 würde jetzt fälschlich als "neuer" eingeordnet als 105.0.1234.102.
Andy: Projekt erfolgreich abgeschlossen, die Überschrift des Threads passt?
-
Hier sind jetzt die fertigen beiden Funktionen, die ich aus den Beispielen oben dank Eurer Hilfe zusammengesetzt habe. Dazu ein noch ein Beispiel für die Anwendung. Fehler und Verbesserungen bitte melden
IniGetAllKeys() erzeugt eine Tabelle mit allen vorhandenen Keys in einer ini-Datei
Ini2Array() erzeugt ein Array aus allen Werten einer ini-Datei mit Zeilenbeschriftung "Sections" und Spaltentext "Keys" oder das ganze transponiert.
AutoIt
Alles anzeigen#include <Array.au3> Global $sIniDatei = @ScriptFullPath Global $aErgebnis = Ini2Array($sIniDatei, True, True, False) ; sort sections and keys $aErgebnis[0][0] = "Client" Local $aRowLatest = _ArrayFindAll($aErgebnis, "Latest-->") ; row for latest version For $i = 1 To UBound($aErgebnis, $UBOUND_COLUMNS) - 1 $aErgebnis[$aRowLatest[0]][$i] = _ArrayMax($aErgebnis, 0, 1, $aRowLatest[0], $i) Next _ArrayDisplay($aErgebnis, "Browser- und WebDriver-Versionen", "1:", $ARRAYDISPLAY_NOROW + $ARRAYDISPLAY_COLALIGNCENTER, Default, _ArrayToString($aErgebnis, "|", 0, 0)) Func Ini2Array($sIni, $bSortSections, $bSortKeys, $bTranspose) Local $aSectionNames = IniReadSectionNames($sIni) If @error Then Return SetError(@error, 0, 0) Local $aKeys = IniGetAllKeys($sIni) If $bSortSections Then _ArraySort($aSectionNames) If $bSortKeys Then _ArraySort($aKeys) Local $aResult[UBound($aSectionNames)][UBound($aKeys)] Local $iMax = UBound($aKeys) - 1 For $I = 0 To $iMax $aResult[0][$I] = $aKeys[$I] Next Local $sSection For $I = 1 To $aSectionNames[0] $sSection = $aSectionNames[$I] $aResult[$I][0] = $sSection For $J = 1 To $iMax $aResult[$I][$J] = IniRead($sIni, $sSection, $aKeys[$J], "---") Next Next If $bTranspose Then _ArrayTranspose($aResult) Return $aResult Endfunc Func IniGetAllKeys($sIni) Local $sData = "|" Local $aSectionNames = IniReadSectionNames($sIni) If @error Then Return SetError(@error, 0, 0) For $i = 1 To $aSectionNames[0] - 1 Local $aInhalt = IniReadSection($sIni, $aSectionNames[$i]) If @error = 0 Then For $j = 1 To $aInhalt[0][0] If Not StringInStr($sData, "|" & $aInhalt[$j][0] & "|") Then $sData &= $aInhalt[$j][0] & "|" Next EndIf Next If StringRight($sData, 1) = "|" Then $sData = StringTrimRight($sData, 1) Local $aKeys[0] _ArrayAdd($aKeys, $sData) Return $aKeys EndFunc #Region eingebettete INI #cs [Latest-->] [BLP1-WX] EdgeVersion=105.0.1293.63 FirefoxVersion=103.0.3.8255 ChromeVersion=105.0.5112.102 OfficeVersion=16.0.10389.20033 [BLP3-WX] ChromeVersion=104.0.5112.102 EdgeVersion=104.0.1293.63 FirefoxVersion=103.0.2.8255 OfficeVersion=16.0.10389.20033 [BLP2-WX] EdgeVersion=104.0.1293.63 ChromeVersion=104.0.5112.102 FirefoxVersion=103.0.2.8255 OfficeVersion=16.0.10389.20033 [BLP4-WX] ChromeVersion=104.0.5112.102 EdgeVersion=105.0.1293.63 FirefoxVersion=104.0.2.8255 OfficeVersion=16.0.10389.20033 [BLP5-WX] ChromeVersion=104.0.5112.102 EdgeVersion=104.0.1293.63 FirefoxVersion=103.0.2.8255 OfficeVersion=16.0.10389.20033 [BLP6-WX] ChromeVersion=104.0.5112.102 EdgeVersion=104.0.1293.63 FirefoxVersion=103.0.2.8255 OfficeVersion=16.0.10389.20033 [WebDriver] ChromeVersion=104.0.5112.79 EdgeVersion=104.0.1293.63 FirefoxVersion=0.31.1 #ce #EndRegion eingebettete INI
-
Nein, ausblenden kann man 'Cols' nicht, es gibt kein Flag wie bei den Rows ($ARRAYDISPLAY_NOROW).
Du kannst die Spaltenüberschriften aber selbst festlegen, siehe Parameter 6 ($sHeader) aus der Hilfe zu _ArrayDisplay .
Code_ArrayDisplay($aErgebnis, "Browser- und WebDriver-Versionen", "1:", $ARRAYDISPLAY_NOROW + $ARRAYDISPLAY_COLALIGNCENTER, Default, _ArrayToString($aErgebnis, "|", 0, 0))
Super, perfekte Unterstützung hier! AutoIt hat so viele Feinheiten, dass man manchmal den Wald vor lauter Bäumen nicht sieht. Hatte diese Titel-Funktion bei _ArrayDisplay() noch nie benutzt.
Noch eine Frage aber ziemlich unwichtig: kann man die leere Zeile und Spalte unten und rechts noch wegbekommen?
-
Bei mir ist es genau umgekehrt. Ich versuche (meist ohne Erfolg) die automatische Updatefunktion dauerhaft zu deaktivieren. Ursache: Viele Updates verschlimmbessern das Programm, da warte ich lieber ab, bis die durch das Update hervorgerufenen Probleme behoben sind.
Windows-Updates warte ich auch ein wenig, aber Browser-Updates hätte ich gerne sofort bei unseren Rechnern. Da ist es egal, wenn mal einer Probleme macht - gibt ja genügend verschiedene.
Kann man beim _ArrayDisplay() neben den Rows auch noch die Titel "Cols" ausblenden? Habe nichts gefunden.
-
Moin,
hier mal eine Variante mit gezielter Schlüsselauswahl. Damit können die Sektionen unterschiedliche Schlüssel in beliebiger Reihenfolge enthalten.
Funktioniert auch super, wobei ich in der neuen Version die Schlüssel nicht fest vergebe, sondern vorab alle vorhandenen Keys auslese. Habe noch "Sortieren" eingefügt und eine Zeile zur Anzeige des neuesten Softwarestands aus der Liste. Lässt sich sicher noch optimieren
Code
Alles anzeigen#include <Array.au3> Global $sIniDatei = @ScriptFullPath Global $aErgebnis = Ini2Array($sIniDatei, True, True) ; sort sections and keys $aErgebnis[0][0] = "Client" Local $aRowLatest = _ArrayFindAll($aErgebnis, "Latest") ; row for latest version For $i = 1 To UBound($aErgebnis, $UBOUND_COLUMNS) - 1 $aErgebnis[$aRowLatest[0]][$i] = _ArrayMax($aErgebnis, 0, 1, $aRowLatest[0], $i) Next _ArrayDisplay($aErgebnis, "Browser- und WebDriver-Versionen", "", $ARRAYDISPLAY_NOROW) Func Ini2Array($sIni, $bSortSections, $bSortKeys) Local $aKeys = IniGetAllKeys($sIni) If $bSortKeys Then _ArraySort($aKeys) Local $aSectionNames = IniReadSectionNames($sIni) If $bSortSections Then _ArraySort($aSectionNames) If @error Then Return SetError(@error, 0, 0) Local $aResult[UBound($aSectionNames)][UBound($aKeys)] Local $iMax = UBound($aKeys) - 1 For $I = 0 To $iMax $aResult[0][$I] = $aKeys[$I] Next Local $sSection For $I = 1 To $aSectionNames[0] $sSection = $aSectionNames[$I] $aResult[$I][0] = $sSection For $J = 1 To $iMax $aResult[$I][$J] = IniRead($sIni, $sSection, $aKeys[$J], "---") Next Next Return $aResult Endfunc Func IniGetAllKeys($sIni) Local $aKeys[0] Local $sData = "|" Local $aSections = IniReadSectionNames($sIni) For $i = 1 To $aSections[0] Local $aInhalt = IniReadSection($sIni, $aSections[$i]) If @error = 0 Then For $j = 1 To $aInhalt[0][0] If Not StringInStr($sData, "|" & $aInhalt[$j][0] & "|") Then $sData &= $aInhalt[$j][0] & "|" Next EndIf Next If StringRight($sData, 1) = "|" Then $sData = StringTrimRight($sData, 1) _ArrayAdd($aKeys, $sData) Return $aKeys EndFunc #Region eingebettete INI #cs [Latest] [BLP1-WX] EdgeVersion=105.0.1293.63 FirefoxVersion=103.0.3.8255 ChromeVersion=105.0.5112.102 OfficeVersion=16.0.10389.20033 [BLP3-WX] ChromeVersion=104.0.5112.102 EdgeVersion=104.0.1293.63 FirefoxVersion=103.0.2.8255 OfficeVersion=16.0.10389.20033 [BLP2-WX] EdgeVersion=104.0.1293.63 ChromeVersion=104.0.5112.102 FirefoxVersion=103.0.2.8255 OfficeVersion=16.0.10389.20033 [BLP4-WX] ChromeVersion=104.0.5112.102 EdgeVersion=105.0.1293.63 FirefoxVersion=104.0.2.8255 OfficeVersion=16.0.10389.20033 [BLP5-WX] ChromeVersion=104.0.5112.102 EdgeVersion=104.0.1293.63 FirefoxVersion=103.0.2.8255 OfficeVersion=16.0.10389.20033 [BLP6-WX] ChromeVersion=104.0.5112.102 EdgeVersion=104.0.1293.63 FirefoxVersion=103.0.2.8255 OfficeVersion=16.0.10389.20033 [WebDriver] ChromeVersion=104.0.5112.79 EdgeVersion=104.0.1293.63 FirefoxVersion=0.31.1 #ce #EndRegion eingebettete INI
-
HansJ54 Probier nochmal bitte, habs mal oben angepasst.
Perfekt, sowohl bei vollständigen 4 Einträgen pro Sektion wie auch bei fehlenden Einträgen:
Und auch bei fehlenden Einträgen passt es:
Und selbst wild gemischt in der Reihenfolge bei den einzelnen Sektionen funktioniert es:
Und mit einem abschließenden _ArrayTranspose() ist es für meine Zwecke optimal (es können schon mal knapp 20 PCs sein und die stehen besser untereinander, Versions sind es momentan nur 6).
Vielen Dank, spart mir heute Abend die zusätzliche Arbeit.
Ein wenig Hintergrund, warum ich das mache:
wir schaffen es nicht, dass sich auf allen Rechnern die Browser automatisch aktualisieren sobald ein Update vorliegt. Für Chrome und Edge habe ich als Workaround die Startseiten chrome://settings/help bzw. edge://settings/help eingestellt, so dass sich beim Start immer automatisch die Updates installieren. Für Firefox habe ich noch keinen Workaround gefunden. Wobei überall wo möglich "Updates automatisch installieren" eingestellt ist - funktioniert einfach nicht. Falls jemand dazu eine Idee hat: her damit!
-
Wie wäre es damit? HansJ54
Auch nicht schlecht, aber für meine Zwecke sollte man die Werte der ersten Spalte zusammenführen
Aber da arbeite ich gerade dran, heute nach Feierabend geht's weiter.
-
Eine fertige Funktion gibt es dafür nicht.
Ich würde es so machen
AutoIt
Alles anzeigen#Region ;************ Includes ************ #include <Array.au3> #EndRegion ;************ Includes ************ Global $aErgebnis[1][5] $sDatei = "D:\test.ini" $aSektions = IniReadSectionNames($sDatei) For $i = 1 To UBound($aSektions) - 1 $aInhalt = IniReadSection($sDatei, $aSektions[$i]) ; Spaltenüberschriften If $i = 1 Then _ArrayAdd($aErgebnis, "PC" & "|" & $aInhalt[1][0] & "|" & $aInhalt[2][0] & "|" & $aInhalt[3][0] & "|" & $aInhalt[4][0]) _ArrayAdd($aErgebnis, $aSektions[$i] & "|" & $aInhalt[1][1] & "|" & $aInhalt[2][1] & "|" & $aInhalt[3][1] & "|" & $aInhalt[4][1]) Next _ArrayDisplay($aErgebnis)
Funktioniert für meine Zwecke perfekt, vielen Dank. Allerdings nur, da ich in jeder Sektion immer genau 4 Einträge habe. Die Spaltenüberschriften kann man daher auch innerhalb der Schleife bei $i = 1 setzen.
Andy: Wenn ich mal ein wenig Zeit habe, dann versuche ich es mal auf "allgemein" umzuschreiben mit unterschiedlich vielen Einträgen pro Sektion.
-
Ich habe mal wieder mindestens 10 Minuten gesucht und einige alte Beispiele gefunden, habe aber Probleme damit, laufen teilweise nicht (z.B. von Nuts aus 2018).
Ich habe eine ini-Datei wie folgt:
[BLP1-WX]
ChromeVersion=104.0.5112.102
FirefoxVersion=103.0.2.8255
EdgeVersion=104.0.1293.63
OfficeVersion=16.0.10389.20033
[BLP2-WX]
ChromeVersion=104.0.5112.102
FirefoxVersion=103.0.2.8255
EdgeVersion=104.0.1293.63
OfficeVersion=16.0.10389.20033
[BLP3-WX]
ChromeVersion=104.0.5112.102
FirefoxVersion=103.0.2.8255
EdgeVersion=104.0.1293.63
OfficeVersion=16.0.10389.20033
[BLP4-WX]
...
und möchte die "lesbar" in einem einfachen 2D-Array anzeigen:
Spaltenüberschriften:
PC ChromeVersion FirefoxVersion EdgeVersion OfficeVersion
Zeilen:
BLPx-WX und dahinter die 4 Softwareversionen des jeweiligen PCs
Könnte ich mir mit ein paar Schleifen zurechtbasteln, aber dafür gibt es doch sicher schon was Fertiges wie _FileReadIniToArray() ?
Vielen Dank!
-
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
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"
-
Die forumsinterne Suchfunktion kann man weitgehend vergessen. Wenn Du
Autoit Strings sortieren nach Länge , z.B. bei Google, eingibst, dann ist Oscar's Beitrag Treffer 1
.
Muss ich mir merken