![]() |
Re: Probleme mit StringGrid speichern
Hallo Alex,
die Zeilennummern sind ja Bestandteil deiner Beispieldaten, also werden sie auch mit ausgegeben. Wenn du das unterdrücken möchtest, dann vielleicht so:
Delphi-Quellcode:
Getippt und nicht getestet.
procedure SaveGrid(sg: TStringGrid; s: TStream; so: TSaveOptions = []);
var iLow, iHigh, i, n: Integer; ss: TStringStream; bSaveCols, bExcludeFixed: Boolean; sl: TStrings; begin ss := TStringStream.Create(''); sl := TStringList.Create; with sg do begin bSaveCols := soSaveCols in so; bExcludeFixed := soExcludeFixed in so; if bSaveCols then begin iLow := IfThen(bExcludeFixed, FixedCols); iHigh := Pred(ColCount); end else begin iLow := IfThen(bExcludeFixed, FixedRows); iHigh := Pred(RowCount); end; for i := iLow to iHigh do begin ss.Size := 0; if bSaveCols then begin sl.Assign(Cols[i]); n := FixedRows; end else begin sl.Assign(Rows[i]); n := FixedCols; end; if bExcludeFixed then while n > 0 do begin sl.Delete(0); Dec(n); end; ss.WriteString(sl.CommaText + sLineBreak); ss.Position := 0; s.CopyFrom(ss, ss.Size); end; end; sl.Free; ss.Free; end; Freundliche Grüße |
Re: Probleme mit StringGrid speichern
Sorry das ich jetzt erst Antworte war nen bissl stressig hier ;)
Werd mir das mal genauer anschaun und ausprobieren, vielen Dank. mfg Alex |
Re: Probleme mit StringGrid speichern
Hallo,
nach langer Zeit (Urlaub, andere Sachen zu tun etc.) hab ich mir gedacht ich schau mal wieder in mein Delphi Programm und da sind mir auch schon ein paar sachen aufgefallen die ich gleich verändern konnte und ein paar sachen wo ich zZ. nicht weiter weiß. Also mir ist aufgefallen das die Prozedur von Marabu bei mir garnichts speichert, ich denke es liegt an der Art wie ich sie aufrufe aber einen Fehler konnte ich dort nicht finden. Hier ist der Code:
Delphi-Quellcode:
Wäre super wenn mir jemand helfen könnte.
procedure TForm1.Speichern1Click(Sender: TObject);
var s: TStream; fn: TFileName; begin fn := ChangeFileExt(ParamStr(0), '.txt'); s := TFileStream.Create(fn, fmCreate); savedialog1.Title := 'Speichern sie ihre Tabelle in einer Textdatei.'; savedialog1.execute; SaveGrid(StringGrid1, s); s.Free; end; mfg Alex |
Re: Probleme mit StringGrid speichern
Delphi-Quellcode:
procedure TForm1.Speichern1Click(Sender: TObject);
var s: TStream; // fn: TFileName; begin // fn := ChangeFileExt(ParamStr(0), '.txt'); // s := TFileStream.Create(fn, fmCreate); savedialog1.Title := 'Speichern sie ihre Tabelle in einer Textdatei.'; if savedialog1.execute then begin s := TFileStream.Create(savedialog1.Filename, fmCreate); try SaveGrid(StringGrid1, s); finally s.Free; end; end; end; |
Re: Probleme mit StringGrid speichern
Hallo,
Zitat:
Zitat:
Edit: Rechtschreibfehler. Edit2: Gar nicht gesehen, dass ich schon wieder zu langsam war :mrgreen: |
Re: Probleme mit StringGrid speichern
Danke für eure Antworten.
Werde mir deinen Ratschlag zu Herzen nehmen @s-off ;) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:25 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