BugFix Dauert das denn signifikannt länger? ICh habe das noch nie getestet und bisher wohl auch nicht in Array-Dimensionen gearbeitet wo das ins Gewicht fallen würde, interessiert mich dennoch ;).
Beiträge von Moombas
-
-
Du kannst ein Array speichern per _FileWriteFromArray()
-
Wäre es nicht besser auch dieses Array dynamisch zu vergrößern anstatt einen fix-wert zu nutzen, der sich ja immer ändern kann?
Bei Arrays, wo die finale Größe immer gleich ist mach ich das auch so aber bei welchen wie hier die unter bestimmten Bedingungen eine andere Größe haben können mag ich den dynamischen Gedanken wesentlich lieber.
-
Hast du ein Beispiel/ Screenshot vom finalen Array? Bin da ein sehr optischer Typ
-
Versuch mal folgendes:
AutoIt
Alles anzeigen;Zeile 8 ändern: Local $a_String[1][2] = [[0, '']] ;Zeile 18 ändern: _ArrayAdd($a_String, $$aBiosArray[UBound($aBiosArray) - 1], Default, ',') ;Zeile 28 hinzufügen (Optional) $a_String[0][0] = Ubound($a_String - 1, $UBOUND_ROWS) $a_String[0][1] = Ubound($a_String - 1, $UBOUND_COLUMNS) ;Zeile 28 Alternativ zu dem oberen, damit du keine Leerzeile hast: _ArrayDelete($a_String, 0)
-
-
Das er das ersetzt ist klar, denn du weist ihm ja zweimal exakt einen Wert zu.
Das muss so etwas sein:
AutoItRedim($a_String[UBound($a_String)]) $a_String[UBound($a_String - 1)] = StringSplit($aBiosArray[UBound($aBiosArray) - 1], ",")
Bin da nun nicht ganz sicher, ich arbeite lieber mit Arrays und deren Größen als For $objItem In $colItems
-
Ich muss gestehen, bei genauerer Betrachtung einen Denkfehler zu haben (nur Bezug auf Dateien, nicht auf reinen Text).
Und aus Sicherheitsaspekten wäre wohl ein _TempFile() ein nogo.
-
MojoeB : Ich verstehe nicht ganz was deine Ini-Tüftelei mit dem Problem von Tueftler zu tun haben soll bzw. wie ihm das helfen sollte.
Mal ganz abgesehen davon, dass ich den Sinn hinter deinem Code nicht verstehe, da z.B. Sektionen nun mal dafür da sind um zu trennen. Und sonst ließt man halt per https://www.autoitscript.com/autoit3/docs/f…ectionNames.htm erst die Sektionsnamen aus und danach per https://www.autoitscript.com/autoit3/docs/f…ReadSection.htm deren Inhalte (was du dann damit machst bleibt ja jedem selbst überlassen).
Der Code sieht für mich danach aus, als würdest du die vorhandenen Funktionen nicht kennen.
-
Hallo Tueftler,
ich verwende ebenfalls ini in vielen Fällen und habe dieses Verhalten auch noch nirgendwo beobachten können.
Tipp: Schreib dir mal ein Miniprogramm, das nur das (oder die) ini read(s) ausführt.
Wenn das Verhalten dort nicht zu beobachten ist, ist der Grund in deinem restlichen Programmcode oder wie oben bereits erwähnt (und auch von mir so verstanden) doch ein Schreiben in ide Ini, das dieses Problem auslöst.
-
Nein, denn wenn alle so handeln würden wäre kein Krieg oder Streit je zu einem Ende gekommen!
Denn ganz oft sind beide der Meinung: "Der andere hat doch angefangen".
Ganz oft habe ich auch schon Texte gelesen, wo man sich angegriffen gefühlt haben könnte, wenn man aber das ganze mal außerhalb ins RL überträgt und drüber nachdenkt kann man oft zu dem Schluss kommen: "etwas hart/direkt geschrieben aber kein persönlicher Angriff".
(Und damit meine ich Beide!)
Ihr habt eine unterschiedliche Auffassung, ich stimme in teilen mit beiden überein.
Aber manchmal ist es einfach besser (bei einem Streit) Sachen auf sich beruhen zu lassen und dem anderen seine Meinung zu lassen: á la "Du hast Recht... und ich meine Ruhe".
-
Ich konnte dienen letzten Kommtar bereits nach dem 2. Satz aufhören zu lesen, denn:
Ich gebe Dir recht!
Nur leider ich habe das Theater nicht angefangen.
Ist kein Grund es weiter zu führen...
-
Ich finde hier sollten beide Seiten nun mal einen Stopp einlegen.
Zum einen ist dies in keinsterweise irgendwie Zielführend (weder Themen bezogen, noch menschlich), zum anderen kommt ihr beide auf keinen gemeinsamen Nenner.
Akzeptiert das und lasst das gegenseitige angekeife. Es bringt auch nichts anderen schlechtes Verhalten vorzuhalten und dann mit exakt dem gleichen hier vom Zaun zu brechen.
Sollte euch beiden das nicht genug sein, nutzt doch PN's.
Und nun bitte wieder BTT (auch wenn ich kein Mod bin), das andere nervt.
So, das musste jetzt mal raus.
-
fee Wenn du beim Doppelklick willst das die *.au3 Datei nicht im Editor geöffnet, sondern Kompiliert bzw ausgeführt wird, müsstest du beim "Öffnen mit" C:\Program Files (x86)\AutoIt3\AutoIt3.exe bzw. AutoIt3_x64.exe auswählen. Ich gebe keine Garantie aber ich meine so wars
-
Also generell, wenn du bei der au3 Datei "öffnen mit" und dann Scite auswählst (Achtung den Haken das dies das Standardprogramm dafür ist setzen!) sollten sich sowohl das Symbol als auch der Doppelklick einrichten.
Bzgl. Kontextmenü, weiß ich selber leider nicht weiter, da ich das generell nicht verwende.
-
Kannst du das Label nicht einfach ausblenden, anstatt es transparent zu machen oder noch einfacher (wohl aber eher eine Notlösung): die Daten '' (leer) und Width/Heigth auf 0 setzen, wenn es nicht angezeigt werden soll, der Weg andersrum wenn es angezeigt werden soll?
-
Hust... was soll dass denn werden?
So macht es Sinn:
$BG = GUICtrlCreatePic('C:\Windows\Temp\hg.bmp', 0, 25, 920, 660)
Das muss ich zu 50% auf meine Kappe nehmen. In meinem Beispiel in Post #7 hatte ich beim Copy/Paste einfügen seiner Werte das bereits vorhandene GUICtrlCreatePic überkopiert, was bei ihm scheinbar für verwirrung sorgte. Das habe ich jetzt natürlich angepasst.
-
Weitere Tipps:
1. Brauchst du Variableninhalte Global, definiere sie Global und nutze/ändere sie in der Funktion. Idealerweise keine Variablen in einer Funktion Global definieren.
2. kein Dim verwenden, besser ist Local bzw. Global
3. Wenn du schon globale Konstanten definierst (Zeile 34 - 41), setze sie auch auf Global Const, damit sie nicht versehentlich geändert werden können.
-
Hmm, kann deinen Fehler nachvollziehen.
Ich konnte es so beheben:
1. Eine Variable für das Handle vom Hintergrund Global setzen. Z.B.: Global $BG (Zeile 34)
2. Der Variable das Handle vom Hintergrund zuweisen: $BG = GUICtrlCreatePic('C:\Windows\Temp\hg.bmp', 0, 25, 920, 660) (Zeile 102)
3. Nach dem _createbuttons bzw. _createLabels foldendes ausführen: GUICtrlSetImage($BG, 'C:\Windows\Temp\hg.bmp') (Zeile52)
Das Ganze funktionierte dann auch ohne GUICtrlSetState(-1, $GUI_DISABLE) aber schaden tut es sicherlich nicht.
-
Du solltest dich ein wenig mit GUI und der beschäftigen.
Schreib Zeile 2 mal hinter die Zeile, wo das Hintergrundbild festegelegt wird oder setze anstatt der -1 das entsprechende Handle ein.