Tech-Ecke / Delphi Inhalt / Funktionen für Stringoperationen an CSV-Dateien

 

     Funktionen für Stringoperationen an CSV-Dateien

 

   Einen Wert auslesen

Die CSV-Datei wird hier mit Semikolons getrennt. Jeder Wert entspricht einer Spalte, wobei die erste Spalte die Nummer 0 hat.

  function GetColValue(StringSalat: String; Position: Integer): String;
var
   Puffer: String;
   n: Integer;
begin
   Puffer := StringSalat;
   for n := 1 to Position do
      Puffer := copy(Puffer, pos(';', Puffer) +1, length(Puffer));
   if pos(';', Puffer) > 0 then  Puffer := copy(Puffer, 0, pos(';', Puffer) -1);
   Result := Puffer;
end;
 

Syntax:

  EinText := 'Das;ist;ein;Test;mit;CSV-Dateien'
s := GetColValue(EinText,3);
ShowMessage(s);   // das Ergebnis wird Test sein
 

 

   Einen Wert austauschen

  function ReplaceColValue(StringSalat: String; Position: Integer; NewValue: String): String;
var
PufferA, PufferB: String;
n: Integer;
begin
   PufferA := StringSalat;
   for n := 1 to Position do
      begin
         if pos(';', PufferA) > 0 then
            PufferB := PufferB +copy(PufferA, 0, pos(';', PufferA))
         else
            PufferB := PufferB +PufferA;
         PufferA := copy(PufferA, pos(';', PufferA) +1, length(PufferA));
      end;
   PufferA := copy(PufferA, pos(';', PufferA) +1, length(PufferA));
   Result := PufferB +NewValue;
   if PufferA <> '' then Result := Result +';';
   Result := Result +PufferA;
end;
 

Syntax:

  EinText := 'Das;ist;ein;Test;mit;CSV-Dateien'
s := ReplaceColValue(EinText,3,'schöner Test');
ShowMessage(s);   // das Ergebnis wird "Das;ist;ein;schöner Test;mit;CSV-Dateien" sein
 

Die Option Drucken funktioniert erst ab Netscape V4.0 bzw. I-Explorer 5.0 !

[letzte Aktualisierung 16.01.2011]