Sieht so aus, als ob: #include <Constants.au3> fehlt.
Beiträge von BugFix
-
-
Ändere mal die Zeilen 23 & 24 so:
[autoit]
[/autoit]
_GUICtrlListView_DeleteItemsSelected(GUICtrlGetHandle($Formeln))
_GUICtrlListView_DeleteItemsSelected(GUICtrlGetHandle($MathFormel))
Dann sollte es funzen
-
Zitat von Xeno
Bin eigentlich der einzige Ü20 im Forum der NOCH *teu teu teu* keine Brille braucht?
Ich hab auch noch immer anerkannte 120% Sehkraft. (mehr als alles :D)
Auf 5 m Abstand muß man alle Zeichen sehen können, dann sinds 100% - Ich seh auch alles bei 6 m ==> 120 %
-
Einfach mal in die Hilfe zu den Befehlen gucken, das erklärt einiges

StringSplit() gibt ein Array zurück! -
Hi,
wenn man mit Arrays arbeitet, braucht man ja auch Testdaten zum Probieren.
Bisher habe ich dann jedesmal in einer Schleife ein Testarray befüllt. Sind zwar (bei 1D) nur 3 Zeilen Code, aber das war mir dann doch zuviel
Deshalb habe ich eine allgemeine Funktion zur Erstellung von 1D/2D-Arrays mit Testdaten geschaffen.
Vielleicht für den Einen oder Anderen von Nutzen.Verringert den Aufruf auf:
[autoit]$a1Dim = _GetTestArray(10)
[/autoit]
$a2Dim = _GetTestArray(10, 5)_GetTestArray()
[autoit];==================================================================================================
[/autoit]
; Funktion _GetTestArray($iUbDim1 [, $iUbDim2=0, $sValue='Wert ']])
; Beschreibung Gibt ein 1D- oder 2D-Array mit Testdaten zurück
; Parameter $iUbDim1 Anzahl Elemente 1. Dimension
; optional $iUbDim2 Anzahl Elemente 2. Dimension; wird kein Wert oder Wert < 2 übergeben,
; dann wird ein 1D-Array erzeugt; Standard: 0 = 1D-Array
; optional $sValue Standard: "Wert $i" bzw. "Wert $i/ $k"; $i bzw $k werden immer angefügt
; Autor BugFix ([email='bugfix@autoit.de'][/email])
;==================================================================================================
Func _GetTestArray($iUbDim1, $iUbDim2=0, $sValue='Wert ')
Local $i, $k, $2ndDim = False
Local $aOut[$iUbDim1]
If $iUbDim2 > 1 Then
$2ndDim = True
ReDim $aOut[$iUbDim1][$iUbDim2]
EndIf
For $i = 0 To $iUbDim1 -1
If $2ndDim Then
For $k = 0 To $iUbDim2 -1
$aOut[$i][$k] = $sValue & $i & '/ ' & $k
Next
Else
$aOut[$i] = $sValue & $i
EndIf
Next
Return $aOut
EndFunc ;==>_GetTestArray -
Was für ne schwere Geburt

Du möchtest aus einem Edit mit mehreren Zeilen eine einzelne auslesen.
Mit GUICtrlRead den ganzen Inhalt lesen und mit StringSplit(@LF) in einzelne Zeilen splitten.
Oder schau mal in die neuen UDF, ich glaub da ist noch mehr möglich. -
Oh man, da stand ich aber auf der Leitung
Klar, völlig richtig, da hab ich es vergessen. -
Die seltsame Auswahlreihenfolge in Windows hat mich auch schon immer sehr gewundert, da kein Schema erkennbar ist.
Ich denke für dein Problem bleibt dir nur der Ausweg, einen eigenen FileOpenDialog zu basteln.
- ausgewählte Dateien in eine Liste laden
- in gewünschter Reihenfolge anklicken
- bei jedem Klick den ListenIndex registrieren
- in gespeicherter Indexreihenfolge verarbeiten -
Hmm, interessanter Aspekt.
Ich deklariere zwar aus alter Gewohnheit alle Variablen, setze aber nicht die Option.
Nur ist mir der Mechanismus von MustDeclareVars nicht richtig klar.
Eigentlich hatte ich das unterschwellig im Hinterkopf als ich in den Funktionen alle Variablen deklarierte.
Wenn MustDeclareVars gesetzt ist, sollte es doch schauen ob alle Variablen deklariert sind und meckern, wenn es nicht der Fall ist.
Hierbei müßte es also stumm bleiben... :wacko: -
Jo, die Variable wird nur lokal deklariert, ihr Inhalt wird ja mit dem Namespace der übernehmenden Variablen festgelegt.
Sehe da kein Problem. -
Hi,
nachdem ich bereits zum Dictionary-Objekt als Array-Pendent eine Funktionssammlung erstellt hatte, habe ich mich nun darangesetzt und auch die anderen Arrayalternativen in eine Sammlung aufgenommen. Damit alles komplett ist, habe ich hier nochmal die Dictionary-Funktionen mit erfaßt.Mein ausdrücklicher Dank gilt an dieser Stelle AspirinJunkie
Durch seine gute Vorarbeit hier hat er mich zum Einen inspiriert und zum Anderen die Arbeit spürbar erleichtert
.
Ohne seinen Beitrag hätte ich mich wahrscheinlich nicht so schnell mit diesen Varianten befaßt.Obwohl ich weitestgehend getestet habe, bin ich mir nicht ganz sicher ob noch Bugs versteckt sind ;-). Solltet ihr welche entdecken sagt mir bitte Bescheid.

Hier eine Auflistung aller Funktionen der Sammlung:
Alternative Array-Funktionen
============================= OBJEKT 'Scripting.Dictionary' =======================================
_ObjDictCreate(Modus)
Erzeugt ein Dictionary Objekt im Binär- (default) oder Textmodus
Gibt das Handle des Objektes zurück
_ObjDictAdd(Objekt, Schlüssel, Wert)
Fügt einem Dictionary Objekt ein Schlüssel-Wert Paar hinzu
_ObjDictGetValue(Objekt, Schlüssel)
Liest den Wert für einen Schlüssel aus
_ObjDictSetValue(Objekt, Schlüssel)
Setzt einen neuen Wert für einen Schlüssel
_ObjDictCount(Objekt)
Gibt die Anzahl der Schlüssel-Wert Paare zurück
_ObjDictSearch(Objekt, Schlüssel)
Prüft ob der Schlüssel existiert, liefert 'TRUE' wenn gefunden
_ObjDictDeleteKey(Objekt, Schlüssel)
Löscht den angegebenen Schlüssel (und dessen Wert)
Wird statt eines Schlüsselnamens ein Leerstring übergeben,
werden alle Schlüssel gelöscht (Standard)
_ObjDictList(Objekt)
Eine GUI mit einem ListView zeigt alle Schlüssel-Wert Paare
_IniReadSectionToObjDict(Objekt, INI-Pfad, Sektion)
Liest die angegebene INI-Sektion in das Objekt
Gibt die Anzahl der gelesenen Schlüssel-Wert Paare zurück
_IniWriteSectionFromObjDict(Objekt, INI-Pfad, Sektion)
Schreibt die Schlüssel-Wert Paare des Objekts in die angegebene Sektion
der INI-Datei
Gibt die Anzahl der geschriebenen Schlüssel-Wert Paare zurück
_FileReadToObjDict(Objekt, TextDatei-Pfad, Seperator)
Liest aus einer Textdatei alle Schlüssel-Wert Paare zeilenweise ein (1 Paar/Zeile)
Standard-Seperator ist '|', kann hier angepaßt werden
Gibt die Anzahl der gelesenen Schlüssel-Wert Paare zurück
_FileWriteFromObjDict(Objekt, TextDatei-Pfad, Seperator, Overwrite)
Schreibt die Schlüssel-Wert Paare des Objekts in die angegebene Datei (1 Paar/Zeile).
Mit Overwrite='TRUE' (Standard) wird die angegebene Datei, falls sie bereits existiert,
überschrieben. Mit 'FALSE' wird an eine bestehende Datei angehängt.
Standard-Seperator ist '|', kann hier angepaßt werden.
Gibt die Anzahl der geschriebenen Schlüssel-Wert Paare zurück
===================================================================================================_ObjGetType($Object)
Gibt die exakte Objektbezeichnung des verwendeten NET-Framework Objektes zurückAlle folgenden Funktionen erfordern das NET-Framework.
======================== OBJEKT 'System.Collections.Hashtable' ====================================
_ObjHashCreate()
Erzeugt ein Hashtable Objekt
Gibt das Handle des Objektes zurück
_ObjHashAdd(Objekt, Schlüssel, Wert)
Fügt einem Hashtable Objekt ein Schlüssel-Wert Paar hinzu
_ObjHashGetValue(Objekt, Schlüssel)
Liest den Wert für einen Schlüssel aus
_ObjHashCount(Objekt)
Gibt die Anzahl der Schlüssel-Wert Paare zurück
_ObjHashSearch(Objekt, Schlüssel)
Prüft ob der Schlüssel existiert, liefert 'TRUE' wenn gefunden
_ObjHashDeleteKey(Objekt, Schlüssel)
Löscht den angegebenen Schlüssel (und dessen Wert)
Wird statt eines Schlüsselnamens '' übergeben,
werden alle Schlüssel gelöscht (Standard)
=========================== OBJEKT 'System.Collections.ArrayList' =================================
_ObjAListCreate()
Erzeugt ein Arraylist-Objekt
_ObjAListAdd(Objekt, Wert)
Fügt einen Wert zum Arraylist-Objekt hinzu_ObjAListAddColl(Objekt, Collektion, Trennzeichen)
Fügt ein 1D-Array oder durch Trennzeichen getrennten String dem Objekt hinzu
_ObjAListSort(Objekt, Richtung)
Sortiert alle Elemente des Objekts (Standard: aufsteigend)
_ObjAListToLine(Objekt, Trennzeichen)
Gibt einen String mit allen Elementen, getrennt durch Trennzeichen (Standard '|'), zurück
_ObjAListGetItem(Objekt, Index)
Gibt den Inhalt an der Indexposition zurück
_ObjAListDelByName(Objekt, Wert)
Löscht den ersten gefundenen Eintrag, der mit Wert übereinstimmt
_ObjAListDelByIndex(Objekt, Index)
Löscht den Eintrag am übergebenen Index
_ObjAListInsert(Objekt, Wert, Index)
Fügt einen Wert am gegebenen Index ein
_ObjAListCount(Objekt)
Gibt die Anzahl der Elemente im Objekt zurück
_ObjAListSearch(Objekt, Wert)
Gibt TRUE zurück, wenn Wert im Objekt enthalten, sonst FALSE
_ObjAListClear(Objekt)
Löscht alle Elemente aus der Arrayliste
_ObjAListAddRange(Objekt Arraylist, Objekt das hinzugefügt werden soll)
Fügt ein (gleichartiges) Objekt an die Arraylist an
_ObjAListToArray(Objekt)
Übergibt alle Elemente der Arraylist an ein 1D-Array
_ObjAListGetIndex(Objekt, Wert)
Gibt den Index des ersten gefundenen Eintrags zurück, der mit Wert übereinstimmt
_ObjAListGetRange(Objekt, Index, Anzahl)
Gibt ab Indexposition eine Anzahl Elemente als Objekt zurück
_ObjAListInsertRange(Objekt, EinfügeObjekt, Index)
Fügt an der Indexposition ein (gleichartiges) Objekt ein
_ObjAListLastIndexOf(Objekt, Wert, Von, Bis)
Gibt den nullbasierten Index des letzten Vorkommens eines Werts in der ArrayList bzw. in einem Abschnitt davon zurück.
_ObjAListRemoveRange(Objekt, Index, Anzahl)
Löscht eine Anzahl Elemente ab Indexposition
Wird keine Anzahl übergeben, werden ab Indexposition alle restlichen Elemente gelöscht
_ObjAListReverse(Objekt, Von, Bis)
Kehrt die Reihenfolge der Elemente im angegebenen Bereich um.
_ObjAListSetRange(Objekt, EinfügeObjekt, Index)
Kopiert die Elemente einer Auflistung (gleichartiges Objekt) über einen Bereich von Elementen in der ArrayList.
=========================== OBJEKT 'System.Collections.Queue' =====================================
_ObjQueueCreate()
Erzeugt ein Queue-Objekt
_ObjQueueAdd(Objekt, Wert)
Fügt einem Queue-Objekt einen Wert hinzu
_ObjQueueSearch(Objekt, Wert)
Prüft auf Vorkommen des Wertes im Queue
_ObjQueueGetFirst(Objekt)
Gibt das erste Element aus dem Queue zurück, es verbleibt im Queue
_ObjQueuePopFirst(Objekt)
Gibt das erste Element aus dem Queue zurück, UND löscht es aus dem Queue
_ObjQueueCount(Objekt)
Gibt die Anzahl der Elemente des Queue zurück
_ObjQueueToArray(Objekt)
Gibt ein 1D-Array mit den Elementen des Queue zurück
=========================== OBJEKT 'System.Collections.Stack' =====================================
_ObjStackCreate()
Erzeugt ein Stack-Objekt
_ObjStackAdd(Objekt, Wert)
Fügt einem Stack-Objekt einen Wert hinzu
_ObjStackSearch(Objekt, Wert)
Prüft auf Vorkommen des Wertes im Stack
_ObjStackGetFirst(Objekt)
Gibt das erste Element aus dem Stack zurück, es verbleibt im Stack
_ObjStackPopLast(Objekt)
Gibt das Letzte Element aus dem Stack zurück, UND löscht es aus dem Stack
_ObjStackCount(Objekt)
Gibt die Anzahl der Elemente des Stack zurück
_ObjStackToArray(Objekt)
Gibt ein 1D-Array mit den Elementen des Stack zurück
================================ SONSTIGE FUNKTIONEN ==============================================
_ArrayToList()
Konvertiert ein 1-Dimensionales Array in eine Liste, Queue oder Stack
oder ein 2-Dimensionales Array in eine Hash-Tabelle
_FileReadToList(Datei)
Liest die angegebene Datei in ein Arraylist-Objekt
_FileListToList(Pfad, Filter, Flag)
Listet alle Dateien und Ordner eines Pfades (arbeitet wie Dir mit dem Schalter /B)
===================================================================================================Edit:
Ich habe für das Objekt ArrayList eine weitere Funktion erstellt - _ObjAListAddColl()
Damit lassen sich 1D-Arrays oder mit Delimiter getrennte Stringelemente der Arraylist hinzufügen.
Die Funktion ist noch nicht in die .au3 eingefügt, deshalb hier der Quelltext:_ObjAListAddColl()
[autoit];==================================================================================================
[/autoit]
; Name: _ObjAListAddColl($ObjList, $Coll, $Delim='|')
; Parameter: $ObjList - Handle des Arraylist-Objektes
; $Coll - 1D-Array od. mit $Delim getrennter String (Standard '|')
; optional $Delim - Trennzeichen bei Stringübergabe
; Return: Erfolg: 0
; Fehler: -1
; Fehlerwert: 1 Objekt existiert nicht
; 2 Array ist kein 1D-Array
; 3 Aktion fehlgeschlagen
;==================================================================================================
Func _ObjAListAddColl(ByRef $ObjList, $Coll, $Delim = '|')
If (Not IsObj($ObjList)) Then Return SetError(1, 0, -1)
If IsArray($Coll) Then
If UBound($Coll, 0) > 1 Then Return SetError(2, 0, -1)
For $i = 0 To UBound($Coll) -1
$ObjList.Add($Coll[$i])
If @error Then Return SetError(3, 0, -1)
Next
Else
If Not StringInStr($Coll, $Delim) Then
$ObjList.Add($Coll)
If @error Then Return SetError(3, 0, -1)
Else
Local $aTmp = StringSplit($Coll, $Delim)
For $i = 1 To UBound($aTmp) -1
$ObjList.Add($aTmp[$i])
If @error Then Return SetError(3, 0, -1)
Next
EndIf
EndIf
Return 0
EndFunc ;==>_ObjAListAddColl -
Hi,
es wäre schon günstig, wenn du genau beschreibst, was dein Skript bewirkt.
"Probiert doch einfach" ist keine gute Empfehlung.
Wenn du den Code nicht in einem Spoiler postest, hänge ihn bitte als au3-File an - dann kann man ihn auch online anschauen ohne vorherigen Download. -
Danke Bernd
für die Mühe, die ich dir gemacht habe 
-
Also ich versteh das nicht. Auch wenn ich neu in einer Scriptsprache bin muß ich mir doch über die Programmlogik im Klaren sein. Ich weiß doch, was ich erreichen möchte, oder etwa nicht....?
Pixelsearch liefert das Ergebnis ob die Farbe gefunden wurde oder nicht. Also muß direkt im Anschluß das Ergebnis der Funktion ausgewertet werden für die Entscheidung Mausklick ja oder nein. Ist doch logo 'ne ?
-
If-Abfrage: wenn gefunden dann Mausklick
-
[autoit]
$coord = pixelsearch(0, 0, 1151, 863, 0xEB1609)
[/autoit]
$coord[1] += 35 -
Hier mal noch ein Skript zum Testen für
_Array2DPop, _Array2DPush
s. 1. PostSpoiler anzeigen
[autoit]#include <array.au3>
[/autoit] [autoit][/autoit] [autoit]Dim $a[10], $a2[10][3], $aIn[4], $aIn2[4][3]
[/autoit] [autoit][/autoit] [autoit]
; Arrays füllen
For $i = 0 To UBound($a) -1
If $i < 4 Then
$aIn[$i] = 'In-Array ' & $i+1
For $k = 0 To UBound($aIn2, 2) -1
$aIn2[$i][$k] = 'In-Array ' & $i+1 & ' / ' & $k+1
Next
EndIf
$a[$i] = 'Wert ' & $i+1
For $k = 0 To UBound($a2, 2) -1
$a2[$i][$k] = 'Wert ' & $i+1 & ' / ' & $k+1
Next
Next
; POP 1D-Array
_ArrayDisplay($a, '1-Dim')
_ArrayDisplay(_Array2DPop($a), 'Letzter Wert')
_ArrayDisplay($a, 'Array 1-Dim nach POP')
; POP 2D-Array
_ArrayDisplay($a2, '2-Dim')
_ArrayDisplay(_Array2DPop($a2), 'Letzter Wert')
_ArrayDisplay($a2, 'Array 2-Dim nach POP')
; PUSH 1D-Array Einzelwert v. rechts
_ArrayDisplay($a, 'Array 1-Dim vor PUSH')
_Array2DPush($a, 'Einzel v. Ende')
_ArrayDisplay($a, 'Array 1-Dim nach PUSH v. rechts')
; PUSH 1D-Array Einzelwert v. links
_Array2DPush($a, 'Einzel v. Anfang', 1)
_ArrayDisplay($a, 'Array 1-Dim nach PUSH v. links')
; PUSH 1D-Array Array v. rechts
_Array2DPush($a, $aIn)
_ArrayDisplay($a, 'Array 1-Dim nach PUSH Array v. rechts')
; PUSH 1D-Array Array v. links
_Array2DPush($a, $aIn, 1)
_ArrayDisplay($a, 'Array 1-Dim nach PUSH Array v. links')
; PUSH 2D-Array Array v. rechts
_ArrayDisplay($a2, 'Array 2-Dim vor PUSH')
_Array2DPush($a2, $aIn2)
_ArrayDisplay($a2, 'Array 2-Dim nach PUSH Array v. rechts')
; PUSH 2D-Array Array v. links
_Array2DPush($a2, $aIn2, 1)
_ArrayDisplay($a2, 'Array 2-Dim nach PUSH Array v. links');===============================================================================
[/autoit] [autoit][/autoit] [autoit]
;
; Function Name: _Array2DPop($ARRAY)
; Description: Gibt das letzte Element eines 1D/2D-Arrays zurück und löscht dieses
; gleichzeitig vom Array
; Return: Erfolg: 1D = 1D-Array mit dem letzten Element
; 2D = 1D-Array mit jeweils einem Eintrag pro Spalte des letzten Elements
; Array[0] enthält die Anzahl der Elemente
; Fehler: Leerstring und @error = 1 ; Variable ist kein Array
; Author(s): Cephas <cephas at clergy dot net>
; Modified: BugFix ([email='bugfix@autoit.de'][/email]) ==> 2D-Anpassung
;
;===============================================================================
Func _Array2DPop(ByRef $ARRAY)
Local $LastValue = ''
Local $UBound2nd = UBound($ARRAY,2), $aOut[1]
If @error = 1 Then ; kein Array
SetError(1)
Return ''
ElseIf @error = 2 Then ; Array hat keine 2. Dim
$UBound2nd = 1
$aOut[0] = $ARRAY[UBound($ARRAY) -1]
$LastValue = $aOut
Else
ReDim $aOut[$Ubound2nd+1]
$aOut[0] = 0
For $i = 0 To $Ubound2nd -1
$aOut[$i+1] = $ARRAY[UBound($ARRAY)-1][$i]
$aOut[0] += 1
Next
$LastValue = $aOut
EndIf
If UBound($ARRAY) = 1 Then
$ARRAY = ''
Else
If $UBound2nd = 1 Then
ReDim $ARRAY[UBound($ARRAY) -1]
Else
ReDim $ARRAY[UBound($ARRAY) -1][$UBound2nd]
EndIf
EndIf
Return $LastValue
EndFunc ;==>_Array2DPop;=====================================================================================
[/autoit]
;
; Function Name: _Array2DPush($ARRAY, $Value [, $Direction=0])
; Description: Fügt einem Array Werte hinzu ohne die Arraygröße zu verändern.
; Werte können vom Ende (Standard) oder vom Anfang des Arrays zugefügt werden.
; Entsprechend der Anzahl der einzufügenden Werte wird eine gleiche Anzahl Elemente
; aus dem Array 'herausgeschoben' (ge-pusht)
; Parameter(s): $ARRAY - Array
; $Value - Der einzufügende Wert, oder mehrere Werte als Array
; $Direction - 0 = Linksseitiges Schieben (Einfügen vom Ende) (Standard)
; 1 = Rechtsseitiges Schieben (Einfügen vom Anfang)
; Requirement(s): None
; Return Value(s): On Success - Returns 1
; On Failure - -1 und SetError
; @error = 1 kein Array
; @error = 2 Einfügearray größer als Originalarray
; @error = 3 Einfügearray und Originalarray haben unterschiedliche Dimensionen @error = 4 $Value ist Einzelwert, 2D-Array erwartet
; @error = 5 $Value ist 1D-Array, 2D-Array erwartet
; Author(s): Helias Gerassimou(hgeras)
; Modified: BugFix ([email='bugfix@autoit.de'][/email]) ==> 2D-Anpassung
;
;======================================================================================
Func _Array2DPush(ByRef $ARRAY, $Value, $Direction=0)
Local $i, $j, $k
Local $arStatVal = IsArray($Value)
Local $UBound1st = UBound($ARRAY)
If @error = 1 Then ; kein Array
SetError(1)
Return -1
EndIf
Local $UBound2nd = UBound($ARRAY,2)
If @error = 2 Then ; Array hat keine 2. Dim
If $arStatVal Then ; Einfügewert ist Array
Local $UbValue = UBound($Value)
If $UbValue > $UBound1st Then ; Einfügearray größer als Originalarray
SetError(2)
Return -1
EndIf
If UBound($Value, 2) > 0 Then
SetError(3) ; hier keine 2. Dim zulässig
Return -1
EndIf
For $k = 0 To $UbValue -1
If $Direction = 0 Then
For $i = 0 To ($UBound1st -2)
$ARRAY[$i] = $ARRAY[$i+1]
Next
$i = ($UBound1st -1)
$ARRAY[$i] = $Value[$k]
Else
For $i = ($UBound1st -1) To 1 Step -1
$ARRAY[$i] = $ARRAY[$i-1]
Next
$ARRAY[$i] = $Value[$UbValue -1 -$k]
EndIf
Next
Else ; Einfügewert ist Einzelwert
If $Direction = 0 Then ; einfügen Einzelwert vom Ende
For $i = 1 To $UBound1st -1
$ARRAY[$i-1] = $ARRAY[$i]
Next
$ARRAY[$UBound1st-1] = $Value
Else ; einfügen Einzelwert vom Anfang
For $i = $UBound1st-1 To 1 Step -1
$ARRAY[$i] = $ARRAY[$i-1]
Next
$ARRAY[0] = $Value
EndIf
EndIf
Else ; Array ist 2D
Local $UbValue2nd = UBound($Value, 2)
If @error = 1 Then ; Einfügewert ist kein Array
SetError(4)
Return -1
ElseIf @error = 2 Then ; Einfügearray nicht 2D
SetError(5)
Return -1
ElseIf UBound($Value) > $UBound1st Then ; Einfügearray größer als Originalarray
SetError(2)
Return -1
ElseIf $Ubound2nd <> $UbValue2nd Then ; 2. Dim nicht identische Größe
SetError(3)
Return -1
EndIf
Local $UbValue = UBound($Value)
For $k = 0 To $UbValue -1
If $Direction = 0 Then
For $i = 0 To ($UBound1st -2)
For $j = 0 To $UBound2nd -1
$ARRAY[$i][$j] = $ARRAY[$i+1][$j]
Next
Next
$i = ($UBound1st -1)
For $j = 0 To $UBound2nd -1
$ARRAY[$i][$j] = $Value[$k][$j]
Next
Else
For $i = ($UBound1st -1) To 1 Step -1
For $j = 0 To $UBound2nd -1
$ARRAY[$i][$j] = $ARRAY[$i-1][$j]
Next
Next
For $j = 0 To $UBound2nd -1
$ARRAY[$i][$j] = $Value[$UbValue -1 -$k][$j]
Next
EndIf
Next
EndIf
Return 1
EndFunc ;==>_Array2DPush -
Mit
[autoit]ControlGetFocus()
[/autoit]erhältst du den ClassName des Controls, das den Fokus besitzt.
Der ClassName ist aber nicht identisch mit der ID. Du müßtest also ein Array führen, welches ID und zugehörige ClassName führt.
Inputfelder gehören zu ClassName: Edit
Das erste (erstellte) Input ist dann Edit1, das zweite Edit2 usw.
Edit-Controls gehören natürlich auch zu dieser Kategorie.
Wichtig ist die Reihenfolge, in der die Controls erstellt werden. Das bestimmt dann die fortlaufende Nr. (Instance) hinter der ClassName-Bezeichnung. -
Verwende doch:
Zitat_IniReadSectionToObjDict(Objekt, INI-Pfad, Sektion)
Liest die angegebene INI-Sektion in das Objekt
Gibt Anzahl gelesener Paare zurück_IniWriteSectionFromObjDict(Objekt, INI-Pfad, Sektion)
Schreibt die Schlüssel-Wert Paare des Objekts in die angegebene Sektion
der INI-Datei
Gibt Anzahl geschriebener Paare zurückvon hier: UDF-Sammlung: Objekt Dictionary
-
Oscar : Bei soviel Lob mich *gebauchpinselt* fühl.
