Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Wie kann man StringGrids abspeichern? (https://www.delphipraxis.net/63146-wie-kann-man-stringgrids-abspeichern.html)

sneak87 14. Feb 2006 14:59


Wie kann man StringGrids abspeichern?
 
Hi,

ich habe hier im Forum schon gesucht, aber nichts wirkliches gefunden.

aber ich benötige Hilfe darin, wie man die Einträge eines StringGrids in eine Datei bzw als Datei speichern kann und später wieder aufrufen kann...

würde mich sehr freuen, wenn ihr mir da einen Tipp geben könntet..

danke mfg Lars

Jasocul 14. Feb 2006 15:02

Re: Wie kann man StringGrids abspeichern?
 
Im CSV-Format. Dürfte nicht mehr als 10 Zeilen Code ergeben.
Schleife über die Zeilen und eine weitere über die Spalten. Einen String zusammen basteln und das ganze in eine Datei schreiben.
afair gibt es bei der Jedi-Bibliothek sogar Komponenten dafür.

sneak87 14. Feb 2006 15:27

Re: Wie kann man StringGrids abspeichern?
 
kannst du mir da den Code schicken, weil ich find nix wirkliches mit CSV ... bin ja auch erst neu bei Delphi...

mfg lars

Jasocul 14. Feb 2006 16:04

Re: Wie kann man StringGrids abspeichern?
 
Gerade weil du neu bist, bekommst du "nur" Pseudo-Code:
Code:
Dateivariable initialisieren
Datei zum Schreiben öffnen
Schleife ZeilenLaeufer
  TextZeile initialisieren
  Schleife Spaltenlaeufer
    Wenn die TextZeile nicht leer ist
      dann ein Trennzeichen anhängen
    TextZeile = TextZeile + Inhalt der Gridzelle der Schleifen
  Ende Schleife des Spaltenlaeufers
  TextZeile in die Datei schreiben
Ende der Schleife des Zeilenlaeufers
Datei schließen.
Bei so grundlegenden Dingen gebe ich selten "echten" Code raus. Das würde den Lerneffekt schmälern.
Es gibt auch noch eine Lösung mit Streams, aber das ist Geschmackssache. Als Anfänger würde ich es mit der oben beschriebenen Methode probieren.

sneak87 14. Feb 2006 16:17

Re: Wie kann man StringGrids abspeichern?
 
Delphi-Quellcode:
procedure StringGridSpeichern(StringGrid: TStringGrid; var FileName: String);
var
  F: TStringList;
  i: Integer;
begin
  F := TStringList.Create;
  try
    F.Add(IntToStr(StringGrid.RowCount));
    F.Add(IntToStr(StringGrid.ColCount));
    for i := 0 to (StringGrid.RowCount - 1) do
      F.Add(StringGrid.Rows[i].CommaText);
    F.SaveToFile(FileName);
  finally
    F.Free;
  end;
end;
:) danke ;)

Jasocul 14. Feb 2006 17:12

Re: Wie kann man StringGrids abspeichern?
 
Auch eine schöne Lösung. :zwinker:


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:27 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