![]() |
TStringGrideinträge in Ini-Datei speichern
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:
Problem:
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; 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 |
Re: TStringGrideinträge in Ini-Datei speichern
|
Re: TStringGrideinträge in Ini-Datei speichern
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 |
Re: TStringGrideinträge in Ini-Datei speichern
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 |
Re: TStringGrideinträge in Ini-Datei speichern
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 ? :shock:
|
Re: TStringGrideinträge in Ini-Datei speichern
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. |
Re: TStringGrideinträge in Ini-Datei speichern
Hiermit Kannst du sämtliche Spallten und zeilen Speichern
Delphi-Quellcode:
Hoffe es Klappt und ist das was du suchst
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; |
Re: TStringGrideinträge in Ini-Datei speichern
Zitat:
|
Re: TStringGrideinträge in Ini-Datei speichern
das funktioniert mit query das laden aus der DB schon in ein Normals StringGrid
|
Re: TStringGrideinträge in Ini-Datei speichern
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.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:59 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