Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Stringgrid in INI file schreiben (https://www.delphipraxis.net/180136-stringgrid-ini-file-schreiben.html)

rhodan 25. Apr 2014 00:58

Stringgrid in INI file schreiben
 
Hallo allerseits!

ich benutze folgende herangehensweise um meine INI file einzulesen ins Stringgrid:

Delphi-Quellcode:
Procedure InitGridFromINI(StrGrid:TStringGrid; Const Section:String; GridINI:TIniFile);
Var X:Integer;
Begin
  With StrGrid Do
  Begin
    RowCount:=GridINI.ReadInteger(Section, 'RowCount', 0)+1;
    ColCount:=GridINI.ReadInteger(Section, 'ColCount', 0);
    For X:=1 To RowCount-1 Do
      Cells[0, X]:=GridINI.ReadString(Section, 'TitleY'+IntToStr(X), '');
    For X:=1 To ColCount Do
    Begin
      Cells[X-1, 0]:=GridINI.ReadString(Section, 'TitleX'+IntToStr(X), '');
      ColWidths[X-1]:=GridINI.ReadInteger(Section, 'ColW'+IntToStr(X), DefaultColWidth)
    End
  End
End;
allerdings stosse ich auf fehlermeldungen wenn ich auf dieselbe weise versuche aus dem Stringgrid in die INI file zu schreiben...
Delphi-Quellcode:
Cells[0, X]:=GridINI.WriteString(Section, 'TitleY'+IntToStr(X), '');
-> [DCC Fehler] source.pas(39): E2010 Inkompatible Typen: 'Integer' und 'string'

offensichtlich reicht es nicht ReadString in Writestring zu ändern...was mache ich falsch bzw. auf welche art schreibe ich die daten in die ini?
ich hab mal gegoogelt aber primär zum lesen aus ini files gefunden, nicht zum schreiben aus dem stringgrid..

wäre dankbar für nen tip!

LG aus Hamburg
Rhodan

Sir Rufo 25. Apr 2014 01:06

AW: Stringgrid in INI file schreiben
 
Tip: Ein Blick in die Dokumentation werfen Delphi-Referenz durchsuchenTIniFile.ReadString und Delphi-Referenz durchsuchenTIniFile.WriteString.
Was fällt dir auf?

Zum Schreiben einer Ini-Datei aus einem StringGrid wirst du auch nicht viel finden. Wenn es dazu Einträge geben würde, dann auch zu jeder anderen beliebigen Komponente, die aber alle das Gleiche aussagen würden:

Was interessiert sich die Ini-Datei dafür wo die Daten zum Schreiben herkommen?
Ein String ist und bleibt ein String, egal ob von einem Edit, StringGrid, ... oder wie auch immer Komponente.
(Mir ist auf jeden Fall noch kein spezieller StringGridString vor die Füße gefallen)

nuclearping 25. Apr 2014 03:00

AW: Stringgrid in INI file schreiben
 
Das was du da versuchst ergibt keinen Sinn.

Zitat:

Zitat von rhodan (Beitrag 1256870)
Delphi-Quellcode:
Cells[0, X]:=GridINI.WriteString(Section, 'TitleY'+IntToStr(X), '');

Du versuchst hier,
Delphi-Quellcode:
Cells[0, X]
den Rückgabewert von
Delphi-Quellcode:
GridINI.WriteString
zuzuweisen. Hä? :mrgreen:

Wenn dann eher so:
Delphi-Quellcode:
GridINI.WriteString(Section, 'TitleY'+IntToStr(X), Cells[0, X]);
Du willst ja den Inhalt von
Delphi-Quellcode:
Cells[0, X]
in die Ini schreiben, daher muss der dritte Parameter für
Delphi-Quellcode:
TIniFile.WriteString
auch
Delphi-Quellcode:
Cells[0, X]
sein. Und
Delphi-Quellcode:
TIniFile.WriteString
ist eine Prozedur, also dh da gibts auch keinen Rückgabewert.

Popov 25. Apr 2014 04:28

AW: Stringgrid in INI file schreiben
 
Solange das StringGrid nur paar Daten enthällt, also nicht zu groß ist, kann man das so lösen:
Delphi-Quellcode:
var
  x, y: Integer;
  IniFile: String;
  Ini: TIniFile;
begin
  IniFile := ChangeFileExt(ParamStr(0), '.ini');
  with StringGrid1 do
  begin
    //Speichern
    Ini := TIniFile.Create(IniFile);
    try
      for x := 0 to ColCount do
        Ini.WriteString('Sel', IntToStr(x), Cols[x].CommaText);
    finally
      Ini.Free;
    end;

    //Löschen
    for x := 0 to ColCount do
      for y := 0 to RowCount do
        Cells[x, y] := '';

    //Lesen
    Ini := TIniFile.Create(IniFile);
    try
      for x := 0 to ColCount do
        Cols[x].CommaText := Ini.ReadString('Sel', IntToStr(x), '');
    finally
      Ini.Free;
    end;
  end;
end;
Rows und Cols sind StringLists, somit kann man leicht CommaText als einzelnen String speichern. In dem Beispiel werden Cols gespeichert, man kann aber auch Rows speichern.

Das Problem ist, dass die Zeilenlänge nur knapp über 2000 Zeichen lang sein kann, danach wird sie umbrochen, womit es dann beim Einlesen wieder Probleme gibt. Wenn die Summe alle Zellen einer Spalte aber darunter bleibt, sollte das kein Problem bilden.

//EDIT:

Oder man macht es pro Zelle:
Delphi-Quellcode:
var
  x, y, k: Integer;
  IniFile, s, xs, ys: String;
  sl: TStringList;
  Ini: TIniFile;
begin
  IniFile := ChangeFileExt(ParamStr(0), '.ini');
  with StringGrid1 do
  begin
    Ini := TIniFile.Create(IniFile);
    try
      k := 0;
      for x := 0 to ColCount do
        for y := 0 to RowCount do
        begin
          Inc(k);
          Ini.WriteString('Sel2', IntToStr(k), Format('%d:%d:%s', [x, y, Cells[x, y]]));
        end;
    finally
      Ini.Free;
    end;

    for x := 0 to ColCount do
      for y := 0 to RowCount do
        Cells[x, y] := '';

    Ini := TIniFile.Create(IniFile);
    try
      sl := TStringList.Create;
      try
        Ini.ReadSection('Sel2', sl);

        for k := 0 to sl.Count - 1 do
        begin
          s := Ini.ReadString('Sel2', sl[k], '');
          xs := System.Copy(s, 1, Pos(':', s) - 1);
          System.Delete(s, 1, Pos(':', s));
          ys := System.Copy(s, 1, Pos(':', s) - 1);
          System.Delete(s, 1, Pos(':', s));
          Cells[StrToInt(xs), StrToInt(ys)] := s;
        end;
      finally
        sl.Free;
      end;    {}
    finally
      Ini.Free;
    end;
  end;
end;

Dejan Vu 25. Apr 2014 07:42

AW: Stringgrid in INI file schreiben
 
Oder:
TClientDataSet => TDataSource => TDBGrid
Die Daten stehen dann nicht im TStringGrid, sondern im TClientDataSet, wo sie vielleicht besser hingehören.
Laden/Speichern über das TClientDataSet, und zwar mit einem Aufruf. Ist zwar nicht eine INI-Datei, aber dafür sind die INI-Teile ja auch nicht gedacht.

rhodan 25. Apr 2014 23:16

AW: Stringgrid in INI file schreiben
 
hallo!

danke für die hilfe euch allen!
und danke dir popov für deine mühe! ich wette du hast das wie ich dich kenne bei nem Käffchen und nem keks so nebenbei aus dem ärmel geschüttelt ;D

2 fragen habe ich noch...lesen/schreiben funktioniert dank deiner hilfe einwandfrei...ich nutze diesen code nun um während der laufzeit neue columns hinzuzufügen:
Delphi-Quellcode:
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;
das klappt auch super..nur wenn ich das programm neu starte und es sind z.bsp zu beginn nur 2 columns da, in der ini aber 7 gespeichert wird nicht alles eingelesen...ich kriege es nicht gebacken beim lesevorgang automatisch so viele columns zu erzeugen wie in der INI stehen so das alle infos eingelesen werden...

2. frage...wenn ich öfter abspeichere und einlese hab ich die erfahrung gemacht das sich "müll" bzw leere zeilen in der ini sammeln, wäre es nicht sinnvoll vor dem schreibvorgang die ini zu leeren/löschen damit sie auf dem aktuellen stand ist? steh da vor dem berg.

danke für eure anteilnahme..auch wenn ich mich freue wenn mir geholfen wird, ich versuche jedesmal daraus zu lernen...dankeschön :)

Sir Rufo 25. Apr 2014 23:25

AW: Stringgrid in INI file schreiben
 
Du kannst einfach die gesamte Section in der Ini vor dem Speichern entfernen. Dann gibt es die nicht mehr und ist also komplett leer.

Speicherst du denn nicht die Anzahl der Spalten und Zeilen in der Ini?
Auslesen, setzen und dann die Zellwerte eintragen.

rhodan 25. Apr 2014 23:35

AW: Stringgrid in INI file schreiben
 
danke sir rufo!
Delphi-Quellcode:
var
 Ini: TIniFile;
begin
 ini := TIniFile.Create(ExtractFilePath(ParamStr(0))+'myinifile.ini');
ini.EraseSection('sel');
 ini.Free;
end;
damit habe ich eine saubere inifile for dem speichern, aber ich kriegs nicht hin beim einlesen die anzahl der columns in der ini file in der runtime zu erzeugen :S

Sir Rufo 25. Apr 2014 23:38

AW: Stringgrid in INI file schreiben
 
Wenn du es einrichten könntest deinen aktuellen Code zum Speichern und Laden zu zeigen, dann könnte ich auch konkret antworten. ;)

rhodan 25. Apr 2014 23:53

AW: Stringgrid in INI file schreiben
 
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

Sir Rufo 25. Apr 2014 23:58

AW: Stringgrid in INI file schreiben
 
Warum speicherst du in der Ini nicht (mehr) die Informationen von Zeilen- und Spaltenanzahl?
Das würde doch ungemein helfen, oder?

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

Ach ja, 4 Spalten von 0 an gezählt gehen von 0 bis 3 ;)

Popov 26. Apr 2014 00:17

AW: Stringgrid in INI file schreiben
 
Delphi-Quellcode:
const
  IniSelRC = 'Sel3';
var
  x, y, k: Integer;
  IniFile, s, xs, ys: String;
  sl: TStringList;
  Ini: TIniFile;
begin
  IniFile := ChangeFileExt(ParamStr(0), '.ini');
  with StringGrid1 do
  begin
    Ini := TIniFile.Create(IniFile);
    try
      //Löscht den alten Inhalt
      Ini.EraseSection(IniSelRC);

      k := 0;
      for x := 0 to ColCount - 1 do
        for y := 0 to RowCount - 1 do
        begin
          Inc(k);
          Ini.WriteString(IniSelRC, IntToStr(k), Format('%d:%d:%s', [x, y, Cells[x, y]]));
        end;
    finally
      Ini.Free;
    end;

    for x := 0 to ColCount do
      for y := 0 to RowCount do
        Cells[x, y] := '';

    ColCount := 0;
    RowCount := 0;

    Ini := TIniFile.Create(IniFile);
    try
      sl := TStringList.Create;
      try
        Ini.ReadSection(IniSelRC, sl);

        for k := 0 to sl.Count - 1 do
        begin
          s := Ini.ReadString(IniSelRC, sl[k], '');
          xs := System.Copy(s, 1, Pos(':', s) - 1);
          System.Delete(s, 1, Pos(':', s));
          ys := System.Copy(s, 1, Pos(':', s) - 1);
          System.Delete(s, 1, Pos(':', s));

          //Fügt Splaten und Zeilen bei Bedarf
          if ColCount < (StrToInt(xs) + 1) then
            ColCount := StrToInt(xs) + 1;
          if RowCount < (StrToInt(ys) + 1) then
            RowCount := StrToInt(ys) + 1;

          //Fügt Fixed-Stalten und -Zeilen bei Bedarf
          if (ColCount> 1) and (FixedCols = 0) then
            FixedCols := 1;
          if (RowCount > 1) and (FixedRows = 0) then
            FixedRows := 1;

          Cells[StrToInt(xs), StrToInt(ys)] := s;
        end;
      finally
        sl.Free;
      end; {}
    finally
      Ini.Free;
    end;
  end;
end;
Nicht groß geprüft, sollte aber funktionieren.

rhodan 26. Apr 2014 00:19

AW: Stringgrid in INI file schreiben
 
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

Popov 26. Apr 2014 00:24

AW: Stringgrid in INI file schreiben
 
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.

Sir Rufo 26. Apr 2014 00:33

AW: Stringgrid in INI file schreiben
 
Zitat:

Zitat von Popov (Beitrag 1257012)
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=...

Popov 26. Apr 2014 00:40

AW: Stringgrid in INI file schreiben
 
Zitat:

Zitat von Sir Rufo (Beitrag 1257013)
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.

Popov 26. Apr 2014 00:51

AW: Stringgrid in INI file schreiben
 
Der erste Code könnte so aussehen:
Delphi-Quellcode:
const
  IniSelRC = 'Sel1';
  IniRowCount = 'RowCount';
  IniColCount = 'ColCount';
  IniFixedRows = 'FixRows';
  IniFixedCols = 'FixCols';
var
  x, y: Integer;
  IniFile: String;
  Ini: TIniFile;
begin
  IniFile := ChangeFileExt(ParamStr(0), '.ini');
  with StringGrid1 do
  begin
    //Speichern
    Ini := TIniFile.Create(IniFile);
    try
      //Löscht den alten Inhalt
      Ini.EraseSection(IniSelRC);

      for x := 0 to ColCount do
        Ini.WriteString(IniSelRC, IntToStr(x), Cols[x].CommaText);

      Ini.WriteInteger(IniSelRC, IniRowCount, RowCount);
      Ini.WriteInteger(IniSelRC, IniColCount, ColCount);
      Ini.WriteInteger(IniSelRC, IniFixedRows, FixedRows);
      Ini.WriteInteger(IniSelRC, IniFixedCols, FixedCols);
    finally
      Ini.Free;
    end;

    //Löschen
    for x := 0 to ColCount do
      for y := 0 to RowCount do
        Cells[x, y] := '';

    ColCount := 0;
    RowCount := 0;

    //Lesen
    Ini := TIniFile.Create(IniFile);
    try
      RowCount := Ini.ReadInteger(IniSelRC, IniRowCount, RowCount);
      ColCount := Ini.ReadInteger(IniSelRC, IniColCount, ColCount);
      FixedRows := Ini.ReadInteger(IniSelRC, IniFixedRows, FixedRows);
      FixedCols := Ini.ReadInteger(IniSelRC, IniFixedCols, FixedCols);

      for x := 0 to ColCount do
        Cols[x].CommaText := Ini.ReadString(IniSelRC, IntToStr(x), '');
    finally
      Ini.Free;
    end;
  end;
end;

rhodan 26. Apr 2014 01:19

AW: Stringgrid in INI file schreiben
 
hab jetzt auf verschiedene weisen rumprobiert aber ich kriege immer ne fehlermeldung...beim lesen aus der ini:
Delphi-Quellcode:
procedure TForm2.btnreadClick(Sender: TObject);
const
  IniSelRC = 'Sel1';
  IniRowCount = 'RowCount';
  IniColCount = 'ColCount';
  IniFixedRows = 'FixRows';
  IniFixedCols = 'FixCols';
var
  x, y: Integer;
  IniFile: String;
  Ini: TIniFile;
begin
  Ini := TIniFile.Create(IniFile);
    try
      RowCount := Ini.ReadInteger(IniSelRC, IniRowCount, RowCount);
      ColCount := Ini.ReadInteger(IniSelRC, IniColCount, ColCount);
      FixedRows := Ini.ReadInteger(IniSelRC, IniFixedRows, FixedRows);
      FixedCols := Ini.ReadInteger(IniSelRC, IniFixedCols, FixedCols);

      for x := 0 to ColCount do
        Cols[x].CommaText := Ini.ReadString(IniSelRC, IntToStr(x), '');
    finally
      Ini.Free;
    end;
  end;
  end;
Delphi-Quellcode:
[DCC Fehler] source.pas(54): E2003 Undeklarierter Bezeichner: 'RowCount'
kein plan warum er den nicht erkennt :S

Popov 26. Apr 2014 01:31

AW: Stringgrid in INI file schreiben
 
RowCount ist eine Eigenschaft von StringGrid. Du hast das
Delphi-Quellcode:
With StringGrid1 do
vergessen. In meinem Code steht:
Delphi-Quellcode:
begin
...
  with StringGrid1 do
  begin
...
    try
...
      Ini.WriteInteger(IniSelRC, IniRowCount, RowCount);
Mit with kann man sich sparen StringGrid1 immer wieder zu schreiben. Ohne with würde das so aussehen:
Delphi-Quellcode:
begin
...
  //with StringGrid1 do
  begin
...
    try
...
      Ini.WriteInteger(IniSelRC, IniRowCount, StringGrid1.RowCount);
Das gleiche natürlich auch bei ColCount, Cells usw.

rhodan 26. Apr 2014 01:41

AW: Stringgrid in INI file schreiben
 
ok habs hinbekommen...schreibmethode:

Delphi-Quellcode:
//schreiben
procedure TForm2.btnwriteClick(Sender: TObject);
const
  IniSelRC = 'Sel1';
  IniRowCount = 'RowCount';
  IniColCount = 'ColCount';
  IniFixedRows = 'FixRows';
  IniFixedCols = 'FixCols';
var
  x, y: Integer;
  IniFile: String;
  Ini: TIniFile;
begin
  IniFile := ChangeFileExt(ParamStr(0), '.ini');
  with strgrid do
  begin
    //Speichern
    Ini :=TIniFile.Create(ExtractFilePath(ParamStr(0))+'myinifile.ini');
    try
      //Löscht den alten Inhalt
      Ini.EraseSection(IniSelRC);

      for x := 0 to ColCount do
        Ini.WriteString(IniSelRC, IntToStr(x), Cols[x].CommaText);

      Ini.WriteInteger(IniSelRC, IniRowCount, RowCount);
      Ini.WriteInteger(IniSelRC, IniColCount, ColCount);
      Ini.WriteInteger(IniSelRC, IniFixedRows, FixedRows);
      Ini.WriteInteger(IniSelRC, IniFixedCols, FixedCols);
    finally
      Ini.Free;
    end;
  end;
end;
ini sieht dann so aus:
Delphi-Quellcode:
[Sel1]
0=,,
1=,rhodan,10
2=,robin,20
3=,,
RowCount=3
ColCount=3
FixRows=1
FixCols=1
lesemethode:
Delphi-Quellcode:
procedure TForm2.btnreadClick(Sender: TObject);
const
  IniSelRC = 'Sel1';
  IniRowCount = 'RowCount';
  IniColCount = 'ColCount';
  IniFixedRows = 'FixRows';
  IniFixedCols = 'FixCols';
var
  x, y: Integer;
  IniFile: String;
  Ini: TIniFile;
begin
  IniFile := ChangeFileExt(ParamStr(0), '.ini');
  with strgrid do
  begin
  Ini := TIniFile.Create(IniFile);
    try
      RowCount := Ini.ReadInteger(IniSelRC, IniRowCount, RowCount);
      ColCount := Ini.ReadInteger(IniSelRC, IniColCount, ColCount);
      FixedRows := Ini.ReadInteger(IniSelRC, IniFixedRows, FixedRows);
      FixedCols := Ini.ReadInteger(IniSelRC, IniFixedCols, FixedCols);

      for x := 0 to ColCount do
        Cols[x].CommaText := Ini.ReadString(IniSelRC, IntToStr(x), '');
    finally
      Ini.Free;
    end;
  end;
  end;
passiert leider gar nichts.... hab grad nen blackout....:S

schreiben funktioniert..aber lesen nicht

Popov 26. Apr 2014 02:12

AW: Stringgrid in INI file schreiben
 
Delphi-Quellcode:
//schreiben
...
begin
  IniFile := ChangeFileExt(ParamStr(0), '.ini'); //IniFile ist ein String mit dem IniPfad
  with strgrid do
...
    Ini :=TIniFile.Create(ExtractFilePath(ParamStr(0))+'myinifile.ini'); //hier hast du einen eigenen Pfad
    try
...
end;
Delphi-Quellcode:
//lesen
...
begin
  IniFile := ChangeFileExt(ParamStr(0), '.ini'); //IniFile ist ein String mit dem IniPfad
  with strgrid do
..
  Ini := TIniFile.Create(IniFile); //hier benutzt du den String IniFile für dern Pfad
    try
...
Du gibst verschiedene Pfade an, deshalb schreibt er in eine Ini und liest aus einer anderen.

Das ist auch der Grund wieso man den Ini-Pfad, wenn man es auf verschiedene Prozeduren verteilt, am besten immer in eine Funktion packt. Dann kann man sich nicht verschreiben. Zum Beispiel so:
Delphi-Quellcode:
function IniFile: String
begin
  Result := ChangeFileExt(ParamStr(0), '.ini');
end;

rhodan 26. Apr 2014 16:19

AW: Stringgrid in INI file schreiben
 
ahh....das hatte ich übersehen...danke!!


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