![]() |
CSV parsen
Hi,
ich hoffe ich bin hier richtig. :stupid: Ich bekomme übers Internet eine CSV, die ich in ein Array speichern will.
Delphi-Quellcode:
Wer sich mal den Aufbau der CSV anschauen will ->
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; ![]() 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? :lol: |
Re: CSV parsen
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 |
Re: CSV parsen
Oder verwende eine CSVDataSet
|
Re: CSV parsen
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. |
Re: CSV parsen
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. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:31 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