![]() |
Re: CSV --> Stringlist --> Stringlist zerlegen -->
Hallo Leon,
Die Zeilen kannst Du Dir am simpelsten visualisieren, indem Die Zwischenergebnisse in ein Memo schiebst:
Delphi-Quellcode:
Das müsstest Du dann anstelle des Append einsetzen. So werden Dir die Feldinhalte im Memo dann zeilenweise angezeigt.
Memo1.Lines.Clear;
Memo1.Lines.AddStrings(SL); |
Re: CSV --> Stringlist --> Stringlist zerlegen -->
aha okay. nun habe ich auch diese blöde problem mit den leerzeichen...
ist es okay, dass er mir jedes feld in eine neue zeile schreibt oder hab ich was falsch gemacht? die logik sagt mir das ist richtig. |
Re: CSV --> Stringlist --> Stringlist zerlegen -->
Das ist so gewollt. Die Stringliste zerlegt Dir aj durch Angabe des Delimiters die Zeile in die einzelnen Felder/Inhalte. Du kannst dann die Stringliste durchlaufen und Dir die Inhalte rausholen. Das Memo als Vorschlag hatte ich gerade deswegen gemachtm damit man die Felder besser sehen kann. Denn wenn die alle wieder in einer Zeile stehen, hast Du ja keine Überpfrüfungsmöglichkeit.
|
Re: CSV --> Stringlist --> Stringlist zerlegen -->
Okay,
aber wie löse ich nun mein Leerzeichenproblem? Da ja in den Codeschnipseln leider selten Dokus dabei sind, ist das recht schwierig... Die csv die ich einlese ist ein Straßenverzeichnis. Toller Weise haben schon die Spaltennamen Leerzeichen. und Straßennamen ja auch ab und an. Wie zum Beispiel Kurfürsten Damm... |
Re: CSV --> Stringlist --> Stringlist zerlegen -->
Villeicht vor dem zuweisen die Leerzeiceh und seltene Zeichen ersetzen. Später zurücksetzen.
|
Re: CSV --> Stringlist --> Stringlist zerlegen -->
ja danke. das kann ich probieren. dazu verwende ich if then oder? oder gibt es einen replace-befehl? ich probiere das mal...
noch eine frage. das mit dem count habe ich nicht verstanden. was muss ich genau eigenben? sl.count....? und wie bekomme ich das dann visualisiert? und wie nutze ich das dann für den befehl sl.Strings[0] wobei 0 dann ja durch eine variable ersetzt werden muss. |
Re: CSV --> Stringlist --> Stringlist zerlegen -->
Besser ist es die Funktion StringReplace zu verwenden, die ersetzt alle Vorkommen auf einen Streich.
|
Re: CSV --> Stringlist --> Stringlist zerlegen -->
jo hat geklappt. ;o)
ich muss nun versuchen - und das ist mein problem warum ich das mit der stringlist kapieren muss - den inhalt der ersten spalte in eine db-tabelle zu schreiben, davor aber prüfen ob der wert schon einmal darin steht. wenn ja dann in der zweiten tabelle einen entsprechend anderen wert einschreiben. dafür ist mir wichtig zu erkennen, wie das prog weiß, dass die erste spalte z.b. PLZ ist ohne dass ich ihm sage: pass auf, du hast 7 spalten und die erste ist plz... ??? der aufbau der csv ist schon komisch genug: PLZ;Straße;v Hnr;v Hunr;b Hnr;b Hunr;G/U;Tour aber die DB-Struktur ist wirklich klasse... ;o) ich muss versuchen die Infos der csv in 4 tabellen zu bekommen. tab 1: PLZ-ID PLZ Tab 2: Str-ID StrName Tab 3: TourID Tour Tab 4: PLZ Straße vonHausnr vonHausnr-zusatz bisHausnr bisHausnr-zusatz GU Tour In Tab 4 werden für PLZ, Tour und Straße nur IndexNummern gesetzt. Beispiel: 2 versch. PLZ. alle in Tab 1. PLZ1 -> Index1 PLZ2 -> Index2 Das selbe analog für Tour und Straße In Tab 4 sieht eine zeile dann so aus: PLZIndex1, StrIndex2,25,a,100,c, ,TourIndex2 um das umzusetzen muss ich verstehen was genau wie angesteuert werden kann. War das verständlich? kannst du damit was anfangen? |
Re: CSV --> Stringlist --> Stringlist zerlegen -->
Also die PLZ(Klartext) befindet sich in SL.Strings[0], die Straße(Klartext) in SL.Strings[1] usw. Ich würde an deiner Stelle parametrisierte Abfragen für die Auflösen der Klartexte in IDs schreiben.
|
Re: CSV --> Stringlist --> Stringlist zerlegen -->
aha, ich weiß nicht ob du meinen ersten eintrag gelesen hast. ;o)
ich bin newbie - zugegeben mit einem gewaltigem projekt - aber wenn du mir das etwas bunter erklären könntest würde ich sicher das verstehen, was du mir in deinem einen satz versucht hast zu sagen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:36 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz