![]() |
Dataset GetFieldNames setzt Stringlist Delimiter zurück
Hallo,
ist jemand dieser Fehler in Seattle bekannt? Bei einem an Uwe's "Poor Man’s CSV Export" angelehnten Code wird mir der gesetzte Delimiter nach Aufruf von GetFieldNames default gesetzt. wwClientDataSet1 ist ein TwwClientDataSet.
Delphi-Quellcode:
Kennt das jemand?
writer := TStreamWriter.Create('DataSet.csv');
try lst := TStringList.Create(); try lst.QuoteChar := '"'; lst.Delimiter := ';'; lst.StrictDelimiter := true; wasActive := wwClientDataSet1.Active; try wwClientDataSet1.Active := true; wwClientDataSet1.GetFieldNames(lst); // <-- hier wird lst.Delimiter default writer.WriteLine(lst.DelimitedText); wwClientDataSet1.First; |
AW: Dataset GetFieldNames setzt Stringlist Delimiter zurück
Hallo,
wird wohl ein Bug der Komponente sein. Musst also deinen Delimiter retten und nach GetField neu setzen. |
AW: Dataset GetFieldNames setzt Stringlist Delimiter zurück
Zitat:
Und ich müsste die dann explizit ersetzen. |
AW: Dataset GetFieldNames setzt Stringlist Delimiter zurück
Hallo,
ich kenne die Komponente nicht. Laut Google gibt es TwwClientDataSet nicht ... Ist denn der Quellcode vorhanden? Oder setz doch gleich den Default-Delimiter auf den Wert, den Du haben willst. Oder ich verstehe das Problem nicht ... |
AW: Dataset GetFieldNames setzt Stringlist Delimiter zurück
Zitat:
|
AW: Dataset GetFieldNames setzt Stringlist Delimiter zurück
So ist es, Komponente aus dem Info-PowerPaket.
Hhm, wenn ich die verwenden will komm ich scheinbar um einen Classhelper nicht rum. Wie läuft das mit einer " Interposer Class "? Kenn ich noch nicht, würde mich interessieren. Zitat:
|
AW: Dataset GetFieldNames setzt Stringlist Delimiter zurück
Hallo,
die pragmatischte lösung war, Delimter und QuotedChar vor dem Schreiben nachzusetzten.
Delphi-Quellcode:
Gruß
...
writer := TStreamWriter.Create('DataSet.csv', False, TEncoding.UTF8); try lst := TStringList.Create(); try lst.QuoteChar := '"'; lst.Delimiter := ';'; lst.StrictDelimiter := true; wasActive := wwClientDataSet1.Active; try wwClientDataSet1.Active := true; wwClientDataSet1.GetFieldNames(lst); // <-- hier wird lst.Delimiter default lst.QuoteChar := '"'; //neu setzen lst.Delimiter := ';'; writer.WriteLine(lst.DelimitedText); wwClientDataSet1.First; ... BP |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:28 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