Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   stringgrid als Textdatei speichern (https://www.delphipraxis.net/165172-stringgrid-als-textdatei-speichern.html)

Bummi 18. Dez 2011 19:29

AW: stringgrid als Textdatei speichern
 
so auch

Klaus01 18. Dez 2011 19:34

AW: stringgrid als Textdatei speichern
 
Zitat:

Zitat von Bummi (Beitrag 1142053)
@Klaus01

wie lädst Du das ganze wieder ?

.. guter Hinweis, dazu wäre es noch hilfreich einen Zeilentrenner in den Stream einzubauen.
(falls dieser nicht schon #10#13 ist?)

Grüße
Klaus

Bummi 18. Dez 2011 19:44

AW: stringgrid als Textdatei speichern
 
Für einen Stream würde ich etwas Struktur mit einbauen.
IntZeilen,IntSpalten
ab dann immer
IntAnzZeichen,String
IntAnzZeichen,String
.....

damit wären dann die, immerhin möglichen, Daten wie

Delphi-Quellcode:
StringGrid1.Cells[1,1] := 'was'#13#10'noch';
auch speicherbar/ladbar, ist bei meinem Beispiel in #4 auch nicht berücksichtigt.

p80286 18. Dez 2011 21:11

AW: stringgrid als Textdatei speichern
 
Delphi-Quellcode:
var i:integer;
s:string;
sl : tStringlist;
begin
  if SaveDialog1.execute then begin
    sl:=tstringlist.create;
    with stringgrid1 do
    begin
      for i := 0 to rowcount-1 do
      begin
        s := Format('%-20s %-16s %-10s %-10s', [Cells[0,i], Cells[1,i], Cells[2,i], Cells[3,i]]);
        sl.add(s);
      end;
    end;
    sl.SaveToFile(SaveDialog1.Filename );
    sl.free;
  end;
end;
Ich denke so sollte es funktionieren.

Gruß
K-H

DeddyH 19. Dez 2011 07:27

AW: stringgrid als Textdatei speichern
 
Oder so:
Delphi-Quellcode:
procedure SaveStringGridToFile(sg: TStringGrid; const Filename: TFilename;
  aDelimiter: char = #255);
var
  aRow: integer;
  Total, Line: TStringlist;
begin
  Assert(Assigned(sg));
  Total := TStringlist.Create;
  try
    Line := TStringlist.Create;
    try
      for aRow := 0 to sg.RowCount - 1 do
        begin
          Line.Assign(sg.Rows[aRow]);
          Line.Delimiter := aDelimiter;
          Line.StrictDelimiter := true;
          Total.Add(Line.DelimitedText);
        end;
      Total.SaveToFile(Filename);
    finally
      Line.Free;
    end;
  finally
    Total.Free;
  end;
end;

procedure LoadStringGridFromFile(sg: TStringGrid; const Filename: TFilename;
  aDelimiter: char = #255);
var
  aRow: integer;
  Total, Line: TStringlist;
begin
  Assert(Assigned(sg));
  Total := TStringlist.Create;
  try
    Total.LoadFromFile(Filename);
    sg.RowCount := Total.Count;
    Line := TStringlist.Create;
    try
      for aRow := 0 to Total.Count - 1 do
        begin
          Line.Delimiter := aDelimiter;
          Line.StrictDelimiter := true;
          Line.DelimitedText := Total[aRow];
          sg.Rows[aRow].Assign(Line);
        end;
    finally
      Line.Free;
    end;
  finally
    Total.Free;
  end;
end;

Bummi 19. Dez 2011 08:33

AW: stringgrid als Textdatei speichern
 
[OT]
das wird langsam zum running gag
[/OT]

Luckie 19. Dez 2011 08:41

AW: stringgrid als Textdatei speichern
 
Und langsam müssten wir alle Möglichkeiten hier zusammen haben, die es sowieso schon überall im Internet zu finden gibt. ;)

himitsu 19. Dez 2011 08:45

AW: stringgrid als Textdatei speichern
 
Delphi-Referenz durchsuchenTReader und Delphi-Referenz durchsuchenTWriter und die zig millionen anderen Binärvarianten, sowie noch ein paar millionen formatierte Texte, fehlen noch.


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:23 Uhr.
Seite 2 von 2     12   

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