Hallo,
wieder einmal eine Frage zu Arrays, aber ich habe im Forum leider nicht die passende Antwort gefunden.
Ich habe eine Eingabemaske mit Inputfeldern. Wenn diese gefüllt werden, prüft das Programm als erstes
ob in meinem Array bereits Einträge vorhanden sind. Wenn nein, wird ein Eintrag mit Kopfdaten Array[0][1]...Array[0][191] erzeugt.
Das funktioniert.
Anschließend werden die Inputfelder ausgelesen und sollen als Zeile 2 Array[1][1] ... Array[1][191] gespeichert werden.
Gibt der Anwender neue Daten ein und drückt den Button speichern, soll wieder das Array geprüft werden. Bei Inhalt,
werden die Daten als Zeile 3 gespeichert. (Zweite und dritte Zeile funktionieren nicht.)
Ganz am Ende des Programms kann durch Drücken eines anderen Buttons ein Textfile mit den Daten des Arrays erzeugt werden.
Hierfür wollte ich die Funktion von BugFix verwenden : _FileWriteFromArray2D($FILEPATH, $ARRAY, $iROWstart=0, $iROWend=0, $iCOLstart=0, $iCOLend=0, $DELIM=';')
Jetzt mein Problem:
Die Kopfzeile wird erzeugt
Zeile 2 wird auch erzeugt, aber dann ist die Kopfzeile ist weg ....
Das Schreiben in eine Datei funktioniert auch, wenn etwas im Array drin steht
Spoiler anzeigen
;Prüfen, ob es bereits Einträge in $Plakate_Array gibt, ansonsten Kopfzeile anlegen
;$inhalt_array = _array_groesse($Plakate_Array)
if $inhalt_array > 0 Then
msgbox (0,"Inhalt Array ",$inhalt_array)
else
msgbox(0,"Inhalt Array" , "<= 0")
call (_user_variablen($Plakate_Array)) ;Hier werden die Kopfdaten geschrieben
$zaehler += 1
EndIf
; im Programm gibt der User Daten in ein Input ein, die dem Array zugefügt werden sollen
$zaehler += 1 ; Indexwert um eins erhöhen, für ersten Eintrag jetzt 0
msgbox(0,"Zähler", $zaehler)
If $zaehler < 200 Then ; wenn Index kleiner als 200 ist
$Plakate_Array[$zaehler][0] = $v_update ; Daten an Indexposition eintragen
$Plakate_Array[$zaehler][1] = $v_ean
$Plakate_Array[$zaehler][2] = GUICtrlRead($Standard_user_name)
$Plakate_Array[$zaehler][3] = $v_vorlname
$Plakate_Array[$zaehler][4] = GUICtrlRead($Standard_DruckAnz)
$Plakate_Array[$zaehler][7] = GUICtrlRead($Standard_Text1)
$Plakate_Array[$zaehler][8] = GUICtrlRead($Standard_Text2)
$Plakate_Array[$zaehler][9] = GUICtrlRead($Standard_Text3)
$Plakate_Array[$zaehler][10] = GUICtrlRead($Standard_Text4)
$Plakate_Array[$zaehler][11] = GUICtrlRead($Standard_Text5)
$Plakate_Array[$zaehler][35] = GUICtrlRead($Standard_Text6)
$Plakate_Array[$zaehler][36] = GUICtrlRead($Standard_Text7)
$Plakate_Array[$zaehler][37] = GUICtrlRead($Standard_Text8)
$Plakate_Array[$zaehler][59] = GUICtrlRead($Standard_ART15)
$Plakate_Array[$zaehler][15] = GUICtrlRead($Standard_EURO1)
$Plakate_Array[$zaehler][19] = GUICtrlRead($Standard_EURO2)
$Plakate_Array[$zaehler][58] = GUICtrlRead($Standard_ART14)
$Plakate_Array[$zaehler][56] = GUICtrlRead($Standard_ART12)
$Plakate_Array[$zaehler][61] = $v_art17
Else ; sonst Fehlermeldung
MsgBox(0, 'FEHLER', 'Keine weiteren Einträge möglich! - Array ist voll.')
EndIf
_ArrayDisplay( $Plakate_Array, "Gesamtes Array" )
EndFunc
Ich hoffe es kann mir jemand weiterhelfen.
VG Anfänger