Hallo zusammen,
Ich habe hier folgende kleine Funktion:
Func Standardmapping(ByRef $Array, $Mapping)
ConsoleWrite("Standardmapping"&@CRLF)
For $Reihe = 0 To Ubound($Array,2)-1
For $MappingZeile = 0 To Ubound($Mapping)-1
If StringStripWS($Mapping[$MappingZeile][0],3) = StringStripWS($Array[0][$Reihe],3) Then
If StringStripWS($Mapping[$MappingZeile][1],3) <> "" Then
$Array[0][$Reihe] = $Mapping[$MappingZeile][1]
EndIf
EndIf
Next
Next
EndFunc
Alles anzeigen
hier wird ein Array übergeben, in welcher zum Beispiel Heizung in der ersten Zeile drin steht. In dem Mapping befindet sich nun in der ersten Spalte auch Heizung und in der zweiten Spalten Befeuerung. Ausserdem befindet sich in dem Mapping nochmal Heizung un in der zweiten Spalte Heizungsart. Das Problem ist, wenn der erste Treffer gefunden wird und mit der Zeile $Array[0][$Reihe] = $Mapping[$MappingZeile][1] die erste Zuweisung aus dem Mapping erfolg ist, dass dann sofort mit der For $Reihe = 0 To Ubound($Array,2)-1 Schleife weiter gemacht wird statt mit der For $MappingZeile = 0 To Ubound($Mapping)-1. Den aus meiner Sicht Fehler kann man ganz schnell testen. Wenn man die $Array[0][$Reihe] = $Mapping[$MappingZeile][1] auskommentiert, dann läuft die For $MappingZeile = 0 To Ubound($Mapping)-1 Schleife weiter mit der Zuweisung beendet die sich selbstständig. Hat jemand eine Idee zu dem Mysterium? Ich lasse euch gerne auch ein Mapping zukommen, falls das nötig sein sollte.
Vielen Dank