AGB  ·  Datenschutz  ·  Impressum  







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

TStringGrideinträge in Ini-Datei speichern

Ein Thema von LOMBI · begonnen am 11. Jan 2007 · letzter Beitrag vom 11. Jan 2007
Antwort Antwort
LOMBI
(Gast)

n/a Beiträge
 
#1

TStringGrideinträge in Ini-Datei speichern

  Alt 11. Jan 2007, 11:40
Hallo,

mit folgender Procedure schreibe ich die Daten in eine Ini-Datei. Das StringGrid erhält die
Einträge aus einer DB, die über eine Query mit einer Form DetailAdr und TEdits verbunden ist.

Delphi-Quellcode:
procedure TFormAdrListe.FormClose(Sender: TObject; var Action: TCloseAction);
var
  Ini: TIniFile;
begin
  with GridAdr, QueryAdr, FormDetailAdr do
  begin
  Ini := TIniFile.Create(ExtractFilePath(ParamStr(0))+ 'GridAdrListe.Ini');
  try
  Ini.WriteString('GridAdrListe', 'NName', FieldByName('NName').AsString);
  Ini.WriteString('GridAdrListe', 'VName', FieldByName('VName').AsString);
  ...
  finally
  Ini.Free;
  end;
Problem:

In der Ini-Datei wird nur eine Zeile aus dem StringGrid gespeichert und im onCreate
ausgelesen. Wie bitte lassen sich alle Zeilen des StringGrid in einer Ini erfassen?

Vielen Dank für Hilfe!

Gruß
Lombi
  Mit Zitat antworten Zitat
Benutzerbild von Tormentor32
Tormentor32

Registriert seit: 27. Okt 2005
Ort: Düsseldorf
369 Beiträge
 
Delphi XE5 Professional
 
#2

Re: TStringGrideinträge in Ini-Datei speichern

  Alt 11. Jan 2007, 11:44
siehe dieser thread

klick
Richard Mahr
  Mit Zitat antworten Zitat
marabu

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

Re: TStringGrideinträge in Ini-Datei speichern

  Alt 11. Jan 2007, 12:04
Hallo Lombi,

wenn nur ein Satz gespeichert wird, dann sicher weil du keine Schleife verwendest. Kannst du kurz erklären, warum du deine Daten über eine Query aus einer Datenbank in dein StringGrid holst, um sie dann beim Programmende in einer INI-Datei zu speichern?

Freundliche Grüße
  Mit Zitat antworten Zitat
LOMBI
(Gast)

n/a Beiträge
 
#4

Re: TStringGrideinträge in Ini-Datei speichern

  Alt 11. Jan 2007, 13:01
In die DB speichere ich mit den TEdits auf der Form DetailAdr. Weil ich für meine Listenanzeige ein
TStringGrid verwende, müssen dort nach Programmende die Adressen erhalten bleiben. Oder sollte ich
für meine Datenbankanwendung doch besser auf das TStringGrid verzichten und für Listen ein DBGrid verwenden? Nachteile?

In der Zwischenzeit habe ich es übrigens geschafft, mehrzeiligen Text in die Ini zu schreiben.
Nach onCreate und einem neuen Datensatz wird allerdings die erste Zeile im Grid einfach
überschrieben. Wie setze ich bitte den Focus auf die letzte Zeile im Grid?

Gruß
Lombi
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#5

Re: TStringGrideinträge in Ini-Datei speichern

  Alt 11. Jan 2007, 13:06
Bleib schön beim Stringgrid. Allerdings stellt sich für mich die gleiche Frage wie für Marabu. Wieso DB und parallel noch eine INI ?
Gruß
Hansa
  Mit Zitat antworten Zitat
LOMBI
(Gast)

n/a Beiträge
 
#6

Re: TStringGrideinträge in Ini-Datei speichern

  Alt 11. Jan 2007, 15:25
Die Daten aus meiner Adressen.DB können doch nicht ohne weiteres in ein TStringGrid geladen werden?
Dafür eben die Eingabeform DetailAdr für das Speichern in der DB. Anschließend werden die Einträge in das TStringGrid per onDrawCell vorgenommen.
  Mit Zitat antworten Zitat
Benutzerbild von SaFu
SaFu

Registriert seit: 8. Nov 2006
1.360 Beiträge
 
Delphi 10.3 Rio
 
#7

Re: TStringGrideinträge in Ini-Datei speichern

  Alt 11. Jan 2007, 15:33
Hiermit Kannst du sämtliche Spallten und zeilen Speichern

Delphi-Quellcode:
procedure TForm7.Button2Click(Sender: TObject);
var Sl:TStringlist;
    x,y:integer;
    fn: TFileName;
begin
  fn:= (Datei);
  Sl:=TStringlist.Create;
  Sl.Add(IntToStr(StringGrid1.Colcount));
  Sl.Add(IntToStr(StringGrid1.Rowcount));
for x:=0 to StringGrid1.ColCount-1 do
for y:=0 to StringGrid1.RowCount-1 do
  Sl.Add(StringGrid1.Cells[x,y]);
for x:=0 to StringGrid1.ColCount-1 do
  Sl.Add(IntToStr(StringGrid1.ColWidths[x]));
for x:=0 to StringGrid1.RowCount-1 do
  Sl.Add(IntToStr(StringGrid1.RowHeights[x]));
  Sl.Add(IntToStr(StringGrid1.Clientwidth));
  Sl.Add(IntToStr(StringGrid1.Clientheight));
  Sl.Add(IntToStr(Ord(StringGrid1.ScrollBars)));
  Sl.Savetofile(Datei);
  Sl.Free;
  Showmessage(Datei);
end;
Hoffe es Klappt und ist das was du suchst
"... Wie gesagt, die Nutzer von 10, 12, 14 Zoll Display's werden deine Seite nicht in voller Pracht sehen können, ...

Surft Ihr mit dem Taschenrechner?"
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#8

Re: TStringGrideinträge in Ini-Datei speichern

  Alt 11. Jan 2007, 18:42
Zitat von LOMBI:
Die Daten aus meiner Adressen.DB können doch nicht ohne weiteres in ein TStringGrid geladen werden?
Wieso nicht ? Natürlich geht das ohne Umweg über DBGrid.
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von SaFu
SaFu

Registriert seit: 8. Nov 2006
1.360 Beiträge
 
Delphi 10.3 Rio
 
#9

Re: TStringGrideinträge in Ini-Datei speichern

  Alt 11. Jan 2007, 20:34
das funktioniert mit query das laden aus der DB schon in ein Normals StringGrid
"... Wie gesagt, die Nutzer von 10, 12, 14 Zoll Display's werden deine Seite nicht in voller Pracht sehen können, ...

Surft Ihr mit dem Taschenrechner?"
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#10

Re: TStringGrideinträge in Ini-Datei speichern

  Alt 11. Jan 2007, 20:53
Zumindest bitte mal versuchen, diesen Satz mit deutscher Grammatik neu zu formulieren. Verstehe ihn so nicht. 8) Bei dem Wort "query" ist Borland auch so was passiert. Die hätten das besser gleich in TDataset umbenannt, wenn sie schon die BDE abschaffen wollten. Jetzt muss man jedem BDE-gewöhnten erklären, er solle TDataset benutzen und nicht die BDE-Altlasten.
Gruß
Hansa
  Mit Zitat antworten Zitat
Antwort Antwort


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 15:02 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