AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Stringgrid in INI file schreiben

Ein Thema von rhodan · begonnen am 25. Apr 2014 · letzter Beitrag vom 26. Apr 2014
Antwort Antwort
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

AW: Stringgrid in INI file schreiben

  Alt 25. Apr 2014, 23:38
Wenn du es einrichten könntest deinen aktuellen Code zum Speichern und Laden zu zeigen, dann könnte ich auch konkret antworten.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von rhodan
rhodan

Registriert seit: 4. Okt 2005
Ort: Hamburg
150 Beiträge
 
Delphi 7 Personal
 
#2

AW: Stringgrid in INI file schreiben

  Alt 25. Apr 2014, 23:53
popovs code funktioniert schon sauber.^^ hab ich quasi übernommen

lesen:
Delphi-Quellcode:
procedure TForm2.btnreadClick(Sender: TObject);
var
  x, y: Integer;
  IniFile: String;
  Ini: TIniFile;
begin
  IniFile := ChangeFileExt(ParamStr(0), '.ini');
  with strgrid do
  begin
      ini := TIniFile.Create(ExtractFilePath(ParamStr(0))+'myinifile.ini');
    try
      for x := 0 to ColCount do
      strgrid.
        Cols[x].CommaText := Ini.ReadString('Sel', IntToStr(x), '');
    finally
      Ini.Free;
    end;
  end;
end;
schreiben:
Delphi-Quellcode:
procedure TForm2.btnwriteClick(Sender: TObject);
var
  x, y: Integer;
  IniFile: String;
  Ini: TIniFile;
begin
ini := TIniFile.Create(ExtractFilePath(ParamStr(0))+'myinifile.ini');
ini.EraseSection('sel');
 ini.Free;
  with strgrid do
  begin
    ini := TIniFile.Create(ExtractFilePath(ParamStr(0))+'myinifile.ini');
    try
      for x := 0 to ColCount do
        Ini.WriteString('Sel', IntToStr(x), Cols[x].CommaText);
    finally
      Ini.Free;
    end;
 end;
end;
columns zur runtime erzeugen:
Delphi-Quellcode:
procedure TForm2.Button1Click(Sender: TObject);
var
 Column: Integer;
 NewColumn: Integer;
begin
  StrGrid.ColCount := StrGrid.ColCount + 1;
  for Column := StrGrid.ColCount - 1 downto NewColumn do
    StrGrid.Cols[Column].Assign(StrGrid.Cols[Column - 1]);
  StrGrid.Cols[NewColumn - 1].Text := '';
end;

wobei mir auffällt das in der ini immer EINE column mehr erzeugt wird bzw abgespeichert wird als tatsächlich existieren..also wenn ich 3 in der runtime habe und speichere wird in der ini eine vierte erzeugt "4=,," die leer ist

Geändert von rhodan (25. Apr 2014 um 23:57 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

AW: Stringgrid in INI file schreiben

  Alt 25. Apr 2014, 23:58
Warum speicherst du in der Ini nicht (mehr) die Informationen von Zeilen- und Spaltenanzahl?
Das würde doch ungemein helfen, oder?

Und das ini.EraseSection kannst du direkt vor die for -Schleife setzen.

Ach ja, 4 Spalten von 0 an gezählt gehen von 0 bis 3
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)

Geändert von Sir Rufo (26. Apr 2014 um 00:00 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von rhodan
rhodan

Registriert seit: 4. Okt 2005
Ort: Hamburg
150 Beiträge
 
Delphi 7 Personal
 
#4

AW: Stringgrid in INI file schreiben

  Alt 26. Apr 2014, 00:19
ok..mit dieser änderung hab ichs hinbekommen das keine unnötigen leeren zeilen abgespeichert werden:
Delphi-Quellcode:
 begin
    ini := TIniFile.Create(ExtractFilePath(ParamStr(0))+'myinifile.ini');
    try
        for x := 2 to ColCount do
        Ini.WriteString('Sel', IntToStr(x-1), Cols[x-1].CommaText);
    finally
      Ini.Free;
    end;
hilf mir bitte wie ich beim einlesen die nötigen columns erzeuge..ich kriegs nicht hin :F
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#5

AW: Stringgrid in INI file schreiben

  Alt 26. Apr 2014, 00:24
Achso, du hast das erste Beispiel genommen.

Ich würde da nicht groß fackeln und eine Extra-Sektion erstellen in der du die Anzahl Cols und Rows speicherst.
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#6

AW: Stringgrid in INI file schreiben

  Alt 26. Apr 2014, 00:33
Achso, du hast das erste Beispiel genommen.

Ich würde da nicht groß fackeln und eine Extra-Sektion erstellen in der du die Anzahl Cols und Rows speicherst.
Wofür sollte denn eine extra Sektion benötigt werden?
Code:
[Sel]
ColCount=4
RowCount=4
FixedColCount=1
FixedRowCount=1
0=...
1=...
2=...
3=...
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#7

AW: Stringgrid in INI file schreiben

  Alt 26. Apr 2014, 00:40
Wofür sollte denn eine extra Sektion benötigt werden?
Jep. Ich war gedanklich noch im zweiten Beispiel und da steht jeder Ident für eine Zelle.
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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