AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Probleme mit StringGrid speichern

Ein Thema von Borschti · begonnen am 27. Nov 2007 · letzter Beitrag vom 15. Jan 2008
Antwort Antwort
Seite 2 von 2     12   
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#11

Re: Probleme mit StringGrid speichern

  Alt 29. Nov 2007, 11:43
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:
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;
Getippt und nicht getestet.

Freundliche Grüße
  Mit Zitat antworten Zitat
Borschti

Registriert seit: 1. Nov 2007
Ort: Marburg Lahn
235 Beiträge
 
Delphi 2007 Professional
 
#12

Re: Probleme mit StringGrid speichern

  Alt 30. Nov 2007, 14:12
Sorry das ich jetzt erst Antworte war nen bissl stressig hier

Werd mir das mal genauer anschaun und ausprobieren, vielen Dank.


mfg
Alex
  Mit Zitat antworten Zitat
Borschti

Registriert seit: 1. Nov 2007
Ort: Marburg Lahn
235 Beiträge
 
Delphi 2007 Professional
 
#13

Re: Probleme mit StringGrid speichern

  Alt 15. Jan 2008, 08:25
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:
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;
Wäre super wenn mir jemand helfen könnte.

mfg
Alex
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.544 Beiträge
 
Delphi 11 Alexandria
 
#14

Re: Probleme mit StringGrid speichern

  Alt 15. Jan 2008, 09:07
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;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
s-off
(Gast)

n/a Beiträge
 
#15

Re: Probleme mit StringGrid speichern

  Alt 15. Jan 2008, 09:11
Hallo,
Zitat von Borschti:
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.
Es genügt nicht, wenn man Codes von anderen unbedacht übernimmt - man sollte auch verstehen, was der Code bewirkt.

Zitat von Borschti:
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.';
  savedialog1.execute;
   SaveGrid(StringGrid1, s);
  s.Free;

end;
Du erzeugst einen FileStream. Diesem weist Du eine Datei zu. Schau Dir mal an, wie der Dateiname lautet!

Edit: Rechtschreibfehler.
Edit2: Gar nicht gesehen, dass ich schon wieder zu langsam war
  Mit Zitat antworten Zitat
Borschti

Registriert seit: 1. Nov 2007
Ort: Marburg Lahn
235 Beiträge
 
Delphi 2007 Professional
 
#16

Re: Probleme mit StringGrid speichern

  Alt 15. Jan 2008, 14:12
Danke für eure Antworten.

Werde mir deinen Ratschlag zu Herzen nehmen @s-off
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 14:29 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