![]() |
Re: DBGrid -> CSV
Das sollte eigentlich das machen was du wünschst:
Delphi-Quellcode:
procedure DataSetExportToCSV( const DataSet : TDataSet; const FileName : string; const Header : boolean = False; const Delim : string = ';'; const Quote : string = '"' );
var bm : TBytes; idx : integer; row, val : string; csv : Text; begin if DataSet.Active then begin bm := DataSet.GetBookmark; DataSet.DisableControls; AssignFile( csv, FileName ); try AssignFile( csv, FileName ); ReWrite( csv ); try if Header then begin row := ''; for idx := 0 to DataSet.FieldCount - 1 do begin val := DataSet.Fields.Fields[ idx ].FieldName; val := Quote + StringReplace( val, Quote, Quote+Quote, [ rfReplaceAll ] ) + Quote; if idx > 0 then row := row + Delim; row := row + val; end; WriteLn( csv, row ); end; DataSet.First; while not DataSet.Eof do begin row := ''; for idx := 0 to DataSet.FieldCount - 1 do begin val := DataSet.Fields.Fields[ idx ].AsString; if Pos( Delim, val ) + Pos( Quote, val ) > 0 then val := Quote + StringReplace( val, Quote, Quote+Quote, [ rfReplaceAll ] ) + Quote; if idx > 0 then row := row + Delim; row := row + val; end; WriteLn( csv, row ); DataSet.Next; end; finally CloseFile( csv ); end; finally DataSet.EnableControls; end; if DataSet.BookmarkValid( bm ) then DataSet.GotoBookmark( bm ); end; end; |
Re: DBGrid -> CSV
Liste der Anhänge anzeigen (Anzahl: 1)
hmm ok
fieldcount ok hmm nun bin ich beim fehler den ich auch nicht kenne |
Re: DBGrid -> CSV
Wenn du 5 Felder hast, dann liefert FieldCount 5 zurück
Wenn du aber mit for idx := 0 to FieldCount dann fragst du 0, 1, 2, 3, 4, 5 => 6 Felder ab! ergo: for idx := 0 to FieldCount -1 |
Re: DBGrid -> CSV
aber hab ich doch
da steht eine -1 und der fehler ist immer noch da ich glaub ich brauch ein größeres brett für meinen kopf |
Re: DBGrid -> CSV
Zitat:
Bretter gibt es bei Obi ;o) Grüße Klaus |
Re: DBGrid -> CSV
In deinem Screenshot sieht man nur etwas anderes ...
besser du zeigst uns den aktuellen Code, oder benutzt die Code-Beispiele, die wir dir gegeben haben. |
Re: DBGrid -> CSV
richtig
aber ich habe beides probiert mal eine andere frage wie bekomme ich die feldnamen eigentlich raus? |
Re: DBGrid -> CSV
Augen auf ... zu #11 gehen ... lesen
|
Re: DBGrid -> CSV
sorry
ich habs grad gesehen ich strukturier erstmal alles weil ich tapse hier nur in dunkeln aber es geht nun alles danke das ihr es ausgehalten habt |
Re: DBGrid -> CSV
war so gerade noch auszuhalten :mrgreen:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:18 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