AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken CSV --> Stringlist --> Stringlist zerlegen --> in DB auft.

CSV --> Stringlist --> Stringlist zerlegen --> in DB auft.

Ein Thema von Leon de Bar · begonnen am 12. Mär 2006 · letzter Beitrag vom 12. Mär 2006
Antwort Antwort
Seite 2 von 4     12 34   
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#11

Re: CSV --> Stringlist --> Stringlist zerlegen -->

  Alt 12. Mär 2006, 14:06
Hallo Leon,

Die Zeilen kannst Du Dir am simpelsten visualisieren, indem Die Zwischenergebnisse in ein Memo schiebst:
Delphi-Quellcode:
Memo1.Lines.Clear;
Memo1.Lines.AddStrings(SL);
Das müsstest Du dann anstelle des Append einsetzen. So werden Dir die Feldinhalte im Memo dann zeilenweise angezeigt.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Leon de Bar

Registriert seit: 1. Okt 2004
Ort: Berlin
125 Beiträge
 
Delphi 6 Enterprise
 
#12

Re: CSV --> Stringlist --> Stringlist zerlegen -->

  Alt 12. Mär 2006, 14:16
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.
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#13

Re: CSV --> Stringlist --> Stringlist zerlegen -->

  Alt 12. Mär 2006, 14:19
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.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Leon de Bar

Registriert seit: 1. Okt 2004
Ort: Berlin
125 Beiträge
 
Delphi 6 Enterprise
 
#14

Re: CSV --> Stringlist --> Stringlist zerlegen -->

  Alt 12. Mär 2006, 14:25
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...
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.859 Beiträge
 
Delphi 11 Alexandria
 
#15

Re: CSV --> Stringlist --> Stringlist zerlegen -->

  Alt 12. Mär 2006, 14:38
Villeicht vor dem zuweisen die Leerzeiceh und seltene Zeichen ersetzen. Später zurücksetzen.
Markus Kinzler
  Mit Zitat antworten Zitat
Leon de Bar

Registriert seit: 1. Okt 2004
Ort: Berlin
125 Beiträge
 
Delphi 6 Enterprise
 
#16

Re: CSV --> Stringlist --> Stringlist zerlegen -->

  Alt 12. Mär 2006, 14:44
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.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.859 Beiträge
 
Delphi 11 Alexandria
 
#17

Re: CSV --> Stringlist --> Stringlist zerlegen -->

  Alt 12. Mär 2006, 14:53
Besser ist es die Funktion StringReplace zu verwenden, die ersetzt alle Vorkommen auf einen Streich.
Markus Kinzler
  Mit Zitat antworten Zitat
Leon de Bar

Registriert seit: 1. Okt 2004
Ort: Berlin
125 Beiträge
 
Delphi 6 Enterprise
 
#18

Re: CSV --> Stringlist --> Stringlist zerlegen -->

  Alt 12. Mär 2006, 15:22
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?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.859 Beiträge
 
Delphi 11 Alexandria
 
#19

Re: CSV --> Stringlist --> Stringlist zerlegen -->

  Alt 12. Mär 2006, 15:40
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.
Markus Kinzler
  Mit Zitat antworten Zitat
Leon de Bar

Registriert seit: 1. Okt 2004
Ort: Berlin
125 Beiträge
 
Delphi 6 Enterprise
 
#20

Re: CSV --> Stringlist --> Stringlist zerlegen -->

  Alt 12. Mär 2006, 16:00
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.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:06 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz