Romero: Weiter Spalte anhängen

Beitrag lesen

warum antwortet mir denn keiner?
Ich persönlich lese "Excell" und denk' mir: "Habsch keine Ahnung von, tschüss", aber weil du so nett jammerst, habe ich's doch mal angeschaut und hatte wohl recht: Habsch keine Ahnung von.
Ich _vermute_ dass es in loadExcelFile() hängt, sieht jedenfalls irgendwie so aus. Ist aber wirklich fast blind geraten.

Hallöchen. Naja ich habe meine Posts mehrmals durchgelesen aber nix von "Excell" gelesen. Kann das nicht ganz nachvollziehen. Es ist kein jammern von mir. Ich habe hier ein Problem. Denn ich habe schon viel nachgeschaut (in meinem Script) und versucht, wo ich denke, dass er da die einzelnen Teile aus dem „großen Topf“ holt und da die „Anzahl“ dran gehangen. Aber er bringt mir da nur als Ausgabe [object],[Object]. Wenn ich da die Anzahl wieder rausnehme, dann findet er diese auch wieder.
Glaube nicht dass es an der loadExcelFile() liegt, denn da liest er ja nur die Tabelle aus, wo er 2 Array’s schreibt, einmal das Gesamtteil und zum anderen die Anzahl des Gesamtteiles. Ich vermute mal es liegt an der Stelle, wo er die infile’s sozusagen in dem „großen Topf“ nach allen Einzelteilen sucht. Nur die Frage ist jetzt, wo macht er es genau? Ist es function getFiles() oder function getSortedList() oder function findLast() oder,… Ich weiß es nicht, deshalb hab ich mich an euch gewandt, um Hilfe zu erlangen, oder Tipps. Ich denk mal es liegt an der function checkIfInFileList(). Hier der angepasste Code:

		//-----------------------------  
		function checkIfInFileList( list, infile, anzahl )  
		{  
			var i,temp;  
			var out = [];  
			for( i = 0; i < infile.length && anzahl.length; i++ ) { out = out.concat( findInList( infile[i], anzahl[i] ) ); }  
			return out;  
  
			function findInList( s, anzahl )  
			{  
				var i = 0;  
				var out = [];  
				for( i = 0; i < list.length && anzahl.length; i++ )  
				{  
					if( s == list[i].n.join("_").substr( 0, 14 ) ) out.push( list[i] + "_" + anzahl );  
				}  
				if( out.length == 0 ) return [s];  
				return out;  
                        }  
                };

Aber in der Ausgabe bringt er nur die, wo die Anzahl 1 ist (weil dann ist die Stelle „“, also 0) als korrekt. Alle die, wo die Anzahl höher als 1 ist bringt er folgenden Ausdruck:
! datei nicht gefunden 'E258_70400_052' !
1 ! datei nicht gefunden 'E258_70401_000' !
2 ! datei nicht gefunden 'E258_70402_050' !
3 ! datei nicht gefunden 'E258_70403_000' !
4 ! datei nicht gefunden 'E258_70404_000' !
5 ! datei nicht gefunden '[object Object]_55' !
6 ! datei nicht gefunden '[object Object]_55' !
7 ! datei nicht gefunden '[object Object]_55' !
8 ! datei nicht gefunden '[object Object]_55' !
9 ! datei nicht gefunden 'E258_70406_000' !
10 ! datei nicht gefunden 'E258_70407_000' !

Wo also liegt nun mein Fehler? Und warum findet er allgemein keine Daten dazu? Denn wenn ich die anzahl rausnehme, also komplett, dann findet es es.

Du hast bereits diese msg()-Funktion (?) für Ausgaben. Daher schlage ich dir vor: Mach doch einfach mehr kontrollausgaben, vor jedem Mal wo der Dateiname (ob als Array oder als String ist ja Wurst) returnt wird schmeißt du den Inhalt (oder einen Beispielinhalt) in die Kontrollausgabe und dann wirst du doch sehen in welcher Funktion es sich tut und wenn du das hast kannst du dort weiter einkreisen bzw. genauer hinsehen.
Dann gibt es eine Konrollausgabe am Anfang und am Ende einer Funktion und irgendwo mittendrin... irgendwann muss diese Ziffer ja auftauchen :)

Sorry aber soweit war ich auch schon, trotzdem Danke für den Hinweiß.

Wenn ich solche Probleme habe zerpflücke ich auch gerne mal Verkettungen oder andere Operatoren in mehr Schritte.

  1. Kann ich dann besagte Kontrollausgaben dazwischen hängen
  2. Kann mit die Fehlerkonsole den Fehler genauer Ansagen (nämlich immer zeilengenau und was vorher eine Zeile war sind nun fünf).

Aber wie gesagt: Mir fehlt der Skill was JS+Excell angeht.