AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Zeilenumbrüche ins CSV-Format schreiben
Thema durchsuchen
Ansicht
Themen-Optionen

Zeilenumbrüche ins CSV-Format schreiben

Ein Thema von capo · begonnen am 20. Apr 2007 · letzter Beitrag vom 23. Apr 2007
Antwort Antwort
Seite 1 von 2  1 2      
capo

Registriert seit: 7. Jul 2006
453 Beiträge
 
Delphi 11 Alexandria
 
#1

Zeilenumbrüche ins CSV-Format schreiben

  Alt 20. Apr 2007, 13:01
Hallo,

In einem Projekt sollen Datensätze ins CSV-Format exportiert bzw
daraus importiert werden. Mein Problem, dabei ist, dass einige der
Datenfelder auch mehrzeiligen Text enthalten können.

Ich frage mich nun, welche Varianten es gibt, die Zeilenumbrüche ins
CSV-Format zu schreiben, bzw. beim Importieren zu erkennen.

Gruss vom Capo
Hotte
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Zeilenumbrüche ins CSV-Format schreiben

  Alt 20. Apr 2007, 13:03
Ersetze die Zeilenumbrüche durch andere Zeichen
Markus Kinzler
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#3

Re: Zeilenumbrüche ins CSV-Format schreiben

  Alt 20. Apr 2007, 13:08
Es gibt z.B. http://de.wikipedia.org/wiki/Quoted-printable
oder die Möglichkeit Zeilenumbrüche durch /r/n, wie in der Programmiersprache C/C++ üblich, zu ersetzen.
Einen Standard gibt es beim CSV-Format nicht.
Erzeuger und Konsument der CSV-Datei müssen über das verwendete Verfahren Bescheid wissen.
Andreas
  Mit Zitat antworten Zitat
capo

Registriert seit: 7. Jul 2006
453 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Zeilenumbrüche ins CSV-Format schreiben

  Alt 20. Apr 2007, 13:18
Es klappt, vielen Dank für eure Antworten.
Capo
Hotte
  Mit Zitat antworten Zitat
capo

Registriert seit: 7. Jul 2006
453 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Zeilenumbrüche ins CSV-Format schreiben

  Alt 20. Apr 2007, 18:09
Zitat:
Ersetze die Zeilenumbrüche durch andere Zeichen
Noch eine Frage dazu, ich importiere das CSV-File in ein Stringgrid, bekomme daher auch das "andere Zeichen" mit angezeigt. Gibt es eine Möglichkeit das "andere Zeichen" überhaupt nicht anzuzeigen? Herausfiltern, es muss ja doch vorhanden sein.
Gruesse Capo
Hotte
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Zeilenumbrüche ins CSV-Format schreiben

  Alt 20. Apr 2007, 18:11
Sie werden mit angeszeigt, wenn du sie nicht wieder ersetzt oder OwnderDraw im Grid implementierst
Markus Kinzler
  Mit Zitat antworten Zitat
capo

Registriert seit: 7. Jul 2006
453 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: Zeilenumbrüche ins CSV-Format schreiben

  Alt 20. Apr 2007, 21:31
Zitat:
oder OwnderDraw im Grid implementierst
Wie geht das?
capo
Hotte
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Zeilenumbrüche ins CSV-Format schreiben

  Alt 20. Apr 2007, 21:35
Implementiere .onDrawCell

http://www.delphipraxis.net/internal...ell+stringgrid
Markus Kinzler
  Mit Zitat antworten Zitat
capo

Registriert seit: 7. Jul 2006
453 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: Zeilenumbrüche ins CSV-Format schreiben

  Alt 20. Apr 2007, 22:37
Selbst dann wird das "andere Zeichen" doch im Stringgrid angezeigt, oder verstehe ich was falsch?
Gruss Capo
Hotte
  Mit Zitat antworten Zitat
capo

Registriert seit: 7. Jul 2006
453 Beiträge
 
Delphi 11 Alexandria
 
#10

Re: Zeilenumbrüche ins CSV-Format schreiben

  Alt 20. Apr 2007, 23:41
Hallo
Ich habe versucht folgendes zu machen um die Zeichen zu filtern, klappt aber nicht:

Delphi-Quellcode:
//Filter Liste zum sichern des Gridinhalt
var
  FilterList : TStringList;

//Filter setzen
procedure TForm1.SetFilter(ACol:Integer;Exp:String);
var
  I,Counter:Integer;
begin
  FilterList:=TStringList.Create;
  With StringGrid1 do
  begin
    //Filterliste mit Gridinhalt füllen
    For I := FixedRows To RowCount - 1 Do
      FilterList.Add(Rows[I].Text);

    //Grid filtern
    Counter:=FixedRows;
    For I := FixedRows To RowCount - 1 Do
    Begin
      If Cells[ACol,I] <> Exp Then
      Begin
         Rows[I].Clear;
      end
      Else
      begin
         If Counter <> I Then
         Begin
           Rows[Counter].Assign(Rows[I]);
           Rows[I].Clear;
         End;
         Inc(Counter);
      End;
    End;
    RowCount:=Counter;
  End;
end;
Hotte
  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 20:32 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