AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

CSV parsen

Ein Thema von kujin1000 · begonnen am 1. Nov 2007 · letzter Beitrag vom 1. Nov 2007
Antwort Antwort
kujin1000
(Gast)

n/a Beiträge
 
#1

CSV parsen

  Alt 1. Nov 2007, 06:09
Hi,

ich hoffe ich bin hier richtig.

Ich bekomme übers Internet eine CSV, die ich in ein Array speichern will.

Delphi-Quellcode:
var
  Str: String;
  I, J, K, Pos: Integer;
begin
  Str := HTTP.Get('http://clix.superclix.de/export/partner/exportstats.php?id=' + frmLogin.edtUsername.Text + '&pw=' + frmLogin.edtPasswort.Text + '&mo=10&ja=2007&ta=29');
  Str := StringReplace(Str, 'Datum;Nummer;Status;SubID;Partnerprogramm;Provision;Provinfo;Zeit;Ppnr;Währung', '', [rfReplaceAll]);
  Str := StringReplace(Str, #$A, '', [rfReplaceAll]);
  Pos := 0;
  Repeat
    Inc(Pos);
    For J := 1 to 10 do
      begin
        K := 0;
        Repeat
          Inc(K);
          if Copy(Str, 1, K) = ';then
            begin
              Verdienst[Pos, J] := Copy(Str, 1, K-1);
              Str := StringReplace(Str, Copy(Str, 1, K), '', []);
            end;
        Until Copy(Str, 1, K) = ';';
      end;
  Until Str = '';
end;
Wer sich mal den Aufbau der CSV anschauen will -> http://clix.superclix.de/export/part...&pw=supertest2

Irgendwie hängt sich mein Programm immer auf und mit Step by Step durchgegehen komm ich auch nicht weiter. Gibt es einfachere Möglichkeiten eine CSV zu parsen?
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: CSV parsen

  Alt 1. Nov 2007, 06:57
Moin,

auf jeden Fall gibt es einfachere Methoden. Die Klasse TStringList beinhaltet bereits einen Parser für CSV-Dateien (DelimitedText, StrictDelimiter). Wichtig wäre noch deine Delphi-Version, da es da kleinere Unterschiede in der Funktionalität gibt. Auf jeden Fall solltest du auf alle deine StringReplace-Operationen verzichten.

Grüße vom marabu
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: CSV parsen

  Alt 1. Nov 2007, 07:34
Oder verwende eine CSVDataSet
Markus Kinzler
  Mit Zitat antworten Zitat
dkoehler

Registriert seit: 1. Nov 2007
33 Beiträge
 
#4

Re: CSV parsen

  Alt 1. Nov 2007, 16:58
Könnte es sein, daß die beiden letzten Parameter im Copy-Befehl jeweils vertauscht werden müssen?

Außerdem ist

Until Copy(Str, 1, K) = ';'

fehleranfällig, weil es die Schleife ins Nirvana schickt, wenn Str nicht mit einem Semikolon abschließt.
  Mit Zitat antworten Zitat
kujin1000
(Gast)

n/a Beiträge
 
#5

Re: CSV parsen

  Alt 1. Nov 2007, 17:45
CSVDataSet und StringList klingen interessant. Ich werde mal suchen.

Ich benutze Delphi 7 und Delphi 2007 beim Freund, wobei ich das Projekt mit Delphi 2007 geschrieben hab.
  Mit Zitat antworten Zitat
Antwort Antwort


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 04: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