Domino 9 und frühere Versionen > ND8: Entwicklung

Anzahl der Semikolon

(1/2) > >>

Hedwig14:
Hallo !
Ich importiere eine CSV Datei mit Script.
Nun benötige ich die Anzahl der Spalten.

Ich möchte das Semikolon (Trennzeichen) nun zählen und stehe gerade auf dem Schlauch. Wie kann ich in Script die Anzahl ermitteln ?

Gruss
Hedwig

Keydins:
Auf die Schnelle fällt mir da nur eine Schleife ein:

1 Mit Hilfe von InStr die Position des ersten ; ermitteln
2 -> Abbruch bei 0 als Rückgabewert (; ist somit nicht vorhanden)
3 Die ermittelte Anzahl von Zeichen vorne aus dem String löschen
4 Counter + 1
5 Prüfen ob der String danach 'leer' ist, wenn ja, -> Ende
6 Neustart bei 1


Am Ende hast du dann in deinem Counter die Anzahl der Spalten - 1, da die letzte Spalte ja nicht mehr auf ein ; endet.


Gruß Dirk

koehlerbv:
Einfacher: Zeile einlesen und mit Split in ein Variant packen, mit Ubound Elemente ermitteln.

DominoDancing:
Hallo Hedwig,

... ja, Dirk war schneller und wahrscheinlich geht das auch 1000mal chicer, aber ich würde es auch auf die Schnelle so wie Dirk lösen (so 'ne Art Übersetzung dirkisch -> Script):

   'Dimensionierung der Variablen
   Dim fileline As String
   Dim text As String
   Dim i As Integer
   
   '... hier liest Du die Textzeile aus der csv-Datei ein = fileline
   
   'Setzen der Startwerte
   i = 0 'Zähler für Semikola
   text = fileline 'bearbeitete Textzeile
   Do While InStr(text, ";") > 0 'solange ein Semikolon in der bearbeiteten Textzeile enthalten ist
      i = i + 1 'mitzählen
      text = Right(text, Len(text) - InStr(text, ";")) 'Merken der restlichen Textzeile rechts
      'vom 1. Semikolon
   Loop
   'jetzt sollte i die Anzahl der Semikola enthalten, ggf. musst Du dann für die Spalten noch 1
   'addieren, wenn das Trennzeichen nur zwischen den Werten steht und nicht am Zeilenende,
   'dann also Startwert i = 1

Viele Grüße
René

Keydins:
Ok, Bernhards Lösung ist deutlich eleganter   :)


Und gut zu wissen, dass es hier im Forum einen "Dirkisch Interpreter" gibt, dann muss ich zukünftig ja gar keinen Code mehr selber schreiben  8) ;D

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln