AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Laden und speichern von Datein Problem
Thema durchsuchen
Ansicht
Themen-Optionen

Laden und speichern von Datein Problem

Ein Thema von Barret · begonnen am 30. Jan 2005 · letzter Beitrag vom 31. Jan 2005
 
Benutzerbild von Barret
Barret

Registriert seit: 27. Mai 2004
53 Beiträge
 
#1

Laden und speichern von Datein Problem

  Alt 30. Jan 2005, 15:06
Hi!
Ich hab in meinem Programm eine Options Datei (City.opt). Und aus dieser lese ich den Inhalt aus und lasse Ihn in ein StringGrid schreiben.
so:
Code:
      SL.LoadFromFile(ExtractFilePath(Application.ExeName) + '\Options\City.opt');

      SGStaedte.RowCount := (StrToInt(SL[0]) + 1);
      SGStaedte.ColCount := StrToInt(SL[1]);

      SL.Sort;

      SGStaedte.Cells[0, 0] := 'Städte';

      for i := 1 to (SGStaedte.RowCount - 1) do
        SGStaedte.Rows[i].CommaText := SL[i - 1];
das plus eins in:
Code:
SGStaedte.RowCount := (StrToInt(SL[0]) + 1);
brauche ich wegen der Überschrift (FixedRow) den ich selber setze, denn in der Datei stehen nur die enzelnen Objekte. Und in den ersten beiden Zeilen die Row und Col angabe halt (wie zu lesen).

speichern tu ich es jetz so:
Code:
procedure TFFVConfig.BtnCitySaveClick(Sender: TObject);
var SL : TStringlist; //Stringlist die in Textdatei schreibt
    i : Integer;

begin
  with SGStaedte do
    begin
      SL := TStringlist.Create; //erstellen de Stringlist

      Sl.Add(IntToStr(RowCount - 1)); //Spaltenanzahl
      Sl.Add(inttostr(ColCount)); //Zeilenanzahl

      for i := 1 to (RowCount - 1) do //Zeilen einzelnt in Stringlist schreiben
        SL.Add(Rows[i].CommaText); //Zeilen mit Kommas in Spalten teilen

      SL.SaveToFile(ExtractFilePath(Application.ExeName) + '\Options\City.opt'); //Stringliste in Datei speichern
      SL.Free; //auflösen der Stringlist
    end;
minus eins halt um die Fixed abzuziehen und in der for-Schleife fang ich halt bei eins an um die Fixed nicht mit zu speichern.

wenn ich jetzt von auserhalb drauf zugreife auf das StringGrid mach ich das so:
Code:
procedure TFFVConfigNew.BtnStadtOKClick(Sender: TObject);
begin
  with FFVConfig.SGStaedte do
    begin
      RowCount := RowCount + 1;
      Cells[0, RowCount - 1] := FFVConfigNew.EdtStadt.Text;
    end;

  FFVConfig.BtnCitySave.Click;
  Tableload;
end;
Damit trage ich einen neuen Eintrag in das StringGrid ein. Dan sollte er es eigentlich speichern und neu laden um die alphabetische ordnung wider herzustellen. Das dumme is nur, dass mir dan ein oder zwei Eintrage verloren gehen. In der Datei stehen Sie noch drinnen aber im StringGrid nicht.

Erklärung: - erster Code is die Tableload (Teil davon)
- SG = StringGrid
- Btn = Button
- FFV = Fom
- Edt = EditFeld

ich versteh nicht, warum das so nicht funktioniert, denn meiner Meinung nach wird die Datei beim Start des Programmes richtig ausgelesen (Tableload). Sprich da verlier ich keine Daten, erst in einer der beiden anderern proceduren. Wenn dan in der "procedure TFFVConfig.BtnCitySaveClick(Sender: TObject);".

Kann sich das mal wer von euch anschaun und mir sagen wo der Fehler ist.

mfg Barret
  Mit Zitat antworten Zitat
 


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 16:30 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