Einzelnen Beitrag anzeigen

marabu

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

Re: *.ini lesen, vergleichen und erweitern

  Alt 7. Dez 2005, 10:28
Hallo Kroko,

um nur fehlende Einträge in einer Steuerdatei zu ergänzen könntest du so vorgehen (ungetestet):

Delphi-Quellcode:
program Project2;

{$APPTYPE CONSOLE}

uses
  Classes,
  IniFiles,
  SysUtils;

var
  iniAlt, iniNeu: TMemIniFile;
  iSection, iValue: integer;
  s, sSections: TStrings;

begin
  if not (ParamCount in [1..2]) then Halt;
  if not FileExists(ParamStr(1)) then Halt;
  iniAlt := TMemIniFile.Create(ParamStr(1));
  iniNeu := TMemIniFile.Create(ParamStr(2));
  s := TStringList.Create;
  sSections := TStringList.Create;
  iniAlt.ReadSections(sSections);
  for iSection := 0 to Pred(sSections.Count) do
  begin
    iniAlt.ReadSection(sSections[iSection], s);
    for iValue := 0 to Pred(s.Count) do
      if not iniNeu.ValueExists(sSections[iSection], s[iValue]) then
        iniNeu.WriteString(
          sSections[iSection], s[iValue],
          iniAlt.ReadString(sSections[iSection], s[iValue], '')
        );
  end;
  sSections.Free;
  s.Free;
  iniNeu.UpdateFile;
  iniNeu.Free;
  iniAlt.Free;
end.
Grüße vom marabu
  Mit Zitat antworten Zitat