Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi CommaText Alternative? (https://www.delphipraxis.net/107521-commatext-alternative.html)

Borschti 29. Jan 2008 10:40


CommaText Alternative?
 
Hi,

ich habe ein Problem mit der CommaText Eigenschaft, und zwar benutze ich sie um mein StringGrid in eine Textdatei zu speichern, so weit so gut dies funktioniert auch, allerdings habe ich festgestellt und auch in der Hilfe gelesen das CommaText mit Leerzeichen getrennte Strings in " Zeichen packt.
Wenn ich nun mein StringGrid abspeichern will und die Datei wieder in mein StringGrid einlese werden die " Zeichen verdoppelt, das geht dann immer so weiter.

Deswegen suche ich nach einer Alternative zu CommaText oder auch eine Möglichkeit womit man es verhindern kann, dass Strings die mit Leerzeichen enthalten, durch " getrennt werden. Auch gut wäre eine möglichkeit womit die " beim wiederöffnen ignoriert werden.

mfg
Alex

shmia 29. Jan 2008 10:57

Re: CommaText Alternative?
 
Schau mal hier in der Code-Library: http://www.delphipraxis.net/internal...ct.php?t=29791

soulies 29. Jan 2008 10:59

Re: CommaText Alternative?
 
hoi,

kannst du nicht vor abspeichern die leerzeichen durch z.B. '_' ersetzen

und beim reinladen andersrum ?


cya

marabu 29. Jan 2008 12:55

Re: CommaText Alternative?
 
Hi Alex,

Zitat:

Zitat von Borschti
...
Wenn ich nun mein StringGrid abspeichern will und die Datei wieder in mein StringGrid einlese werden die " Zeichen verdoppelt, das geht dann immer so weiter. ...

wenn du StringGrid.Rows[].CommaText wegschreibst, dann musst du auch jede eingelesene Zeile wieder an StringGrid.Rows[].CommaText zuweisen. Der von dir beschriebene Fehler entsteht so nicht.

Freundliche Grüße

chaosben 29. Jan 2008 14:04

Re: CommaText Alternative?
 
Eine weitere Möglichkeit ist imho die Kombination aus StrictDelimiter := true , Delimiter := ',' und DelimitedText.

Borschti 29. Jan 2008 14:38

Re: CommaText Alternative?
 
Erstmal danke für alle Antworten.

Zitat:

Zitat von marabu
wenn du StringGrid.Rows[].CommaText wegschreibst, dann musst du auch jede eingelesene Zeile wieder an StringGrid.Rows[].CommaText zuweisen. Der von dir beschriebene Fehler entsteht so nicht.

Freundliche Grüße

Zu marabu's post hab ich aber mal eine frage, also du meinst wenn ich die Datei wieder öffne muss ich sie wieder .CommaText zuweisen?

mfg
Alex

marabu 29. Jan 2008 17:18

Re: CommaText Alternative?
 
Nochmal mit anderen Worten:

Hast du eine Zeile mittels CommaText ausgelesen, so musst du sie auch wieder mittels CommaText ins Grid aufnehmen.

Delphi-Quellcode:
var
  s: string;
begin
  with StringGrid do
  begin
    s := Rows[Pred(RowCount)].CommaText;
    ShowMessage(s);
    Rows[Pred(RowCount)].CommaText := s;
  end;
end;
StrictDelimiter wirst du in D7 leider nicht finden.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:39 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