AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte CSV-Reader. Schnelles lesen von CSV-Dateien
Thema durchsuchen
Ansicht
Themen-Optionen

CSV-Reader. Schnelles lesen von CSV-Dateien

Ein Thema von alzaimar · begonnen am 11. Mär 2008 · letzter Beitrag vom 28. Nov 2017
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#1

AW: CSV-Reader. Schnelles lesen von CSV-Dateien

  Alt 17. Jan 2013, 14:57
Ich hab die Sourcen gerade nicht zur Hand, aber das hört sich an als ob eine Unterscheidung String/Ansistring fällig wäre.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
roadrunner-S51

Registriert seit: 28. Mai 2010
53 Beiträge
 
Delphi 2009 Professional
 
#2

AW: CSV-Reader. Schnelles lesen von CSV-Dateien

  Alt 3. Jul 2014, 10:05
Sorry das ich das alte Thema nochmal ausgrabe, aber ich habe das selbe Problem mit den Unicodeformat und hätte gern gewusst, ob mittlerweile eine Lösung existiert...
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#3

AW: CSV-Reader. Schnelles lesen von CSV-Dateien

  Alt 3. Jul 2014, 11:19
Na ja. Der Code geht davon aus, das ein Char genau ein Byte lang ist. Das muss man nur umschreiben/anpassen.
  Mit Zitat antworten Zitat
roadrunner-S51

Registriert seit: 28. Mai 2010
53 Beiträge
 
Delphi 2009 Professional
 
#4

AW: CSV-Reader. Schnelles lesen von CSV-Dateien

  Alt 3. Jul 2014, 11:40
OK, aber genau da steh ich gerade etwas auf dem Schlauch... Hat da jemand vielleicht ein Beispiel oder ähnliches für mich?
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.811 Beiträge
 
Delphi 12 Athens
 
#5

AW: CSV-Reader. Schnelles lesen von CSV-Dateien

  Alt 3. Jul 2014, 12:33
Eigentlich geht der Code von PChar als einzelnem Zeichen aus. Unter den Delphis ab...ähm...2009? ist das nunmal PWideChar und nicht PAnsiChar. Eventuell sollte die "Bytigkeit" von Zeichen als weiterer Parameter hinzugefügt werden (was den Code nicht wirklich verschlanken würde). Wenn man aber seinen Anwendungsfall genau kennt, dürfte ein explizites Ersetzen sämtlicher PChar durch PAnsiChar die ursprüngliche ANSI-Funktionalität gewährleisten.

Sherlock
(für den dieses "Problem" nur wieder zeigt wie unsinnig es ist einem "Standard"-Typen von Version zu Version andere Basistypen zu verpassen)
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#6

AW: CSV-Reader. Schnelles lesen von CSV-Dateien

  Alt 3. Jul 2014, 12:44
Grob gesehen, fast alle '1' mit 'OneChar' und alle '2' mit 'TwoChar' ersetzen, wobei die beiden Symbole entweder Konstanten sind, die über die Compilerversion mit 1/2 oder 2/4 vorbelegt werden, oder eben als Properties.
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.811 Beiträge
 
Delphi 12 Athens
 
#7

AW: CSV-Reader. Schnelles lesen von CSV-Dateien

  Alt 3. Jul 2014, 12:47
Gnah, in der Tat! Hab doch echt beim groben drüberfliegen ... aus großer Höhe... die 1en und 2en weitestgehend übersehen und mich am PChar festgebissen. Insofern ist es sogar vermutlich recht elegant lösbar.

Sherlock
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat
roadrunner-S51

Registriert seit: 28. Mai 2010
53 Beiträge
 
Delphi 2009 Professional
 
#8

AW: CSV-Reader. Schnelles lesen von CSV-Dateien

  Alt 3. Jul 2014, 12:48
Vielen Dank erstmal!
Ich habe nun alle PChar durch PAnsiChar ersetzt, ebenso die Char und Strings. Nun kann ich statt der viereckigen Kästschen schonmal etwas sinnvollere Werte einlesen.

Das einzige was ich noch nicht ganz verstehe ist, dass beim allerersten Element das ich aus der csv-Datei auslese, die letzten beiden Zeichen fehlen. Also z.B.

Aufbau csv-Datei:
10a2034;3269400;1;3;70;04.07.2013;3;2;70;04.07.201 3;6;2;70;04.07.2013;8;2
10a2075;3138127;2;2;70;05.06.2013;12;2;70;11.06.20 13;303;2;0;01.01.1970;0;0
10a2015;3107207;3;3;70;13.06.2013;25;2;70;13.06.20 13;70;2;70;13.06.2013;149;2
10a2058;3127735;4;3;70;08.05.2013;143;2;70;08.05.2 013;147;2;70;17.05.2013;26;2
10a2058;3127735;5;3;70;05.06.2013;20;2;70;05.06.20 13;28;2;70;05.06.2013;177;2
10a2017;3328115;6;3;70;27.06.2013;58;2;70;27.06.20 13;68;2;70;27.06.2013;76;2


Inhalt des ersten gelesenen Elements: 10a20

Alle weiteren Zeilen werden korrekt eingelesen. Hat jemand eine Idee woran das liegt?

OK, hat sich erledigt. Die Zeichen sind der BOM. Hatte vorher noch nie damit zu tun... Werde ich einfach aus dem String entfernen und gut ist.

Vielen Dank für eure Hilfe!

Geändert von roadrunner-S51 ( 3. Jul 2014 um 14:19 Uhr)
  Mit Zitat antworten Zitat
HPB

Registriert seit: 2. Jun 2008
365 Beiträge
 
Delphi XE7 Professional
 
#9

AW: CSV-Reader. Schnelles lesen von CSV-Dateien

  Alt 6. Okt 2015, 15:10
Guten Tag Delphianer,
ich habe beim Einlesen der Daten auch nur China-Zeichen.
Wie "divBy0" auch.
Kann jemand genau erklären, was, in welcher Zeile, geändert werden soll,
damit die Daten korrekt eingelsen werden??
Die Unit ist ja rasend schnell und ich würde sie gerne benutzen.
Mit Gruß
HPB
  Mit Zitat antworten Zitat
HPB

Registriert seit: 2. Jun 2008
365 Beiträge
 
Delphi XE7 Professional
 
#10

AW: CSV-Reader. Schnelles lesen von CSV-Dateien

  Alt 6. Okt 2015, 14:22
Sorry das ich das alte Thema nochmal ausgrabe, aber ich habe das selbe Problem mit den Unicodeformat und hätte gern gewusst, ob mittlerweile eine Lösung existiert...
Guten Tag Delphianer,
auch ich habe das oben geschilderte Problem. Alles nur China-Zeichen.
Weiter unter wird gesagt, dass etwas geändert werden muss.
Aber nur was soll konkret in welcher Zeile geändert werden???
Es wäre nett wenn jemand konkret mitteilt, was in welcher Zeile des
Quellcodes geändert werden muss.
Mit Gruß
HPB
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 21:52 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