Einzelnen Beitrag anzeigen

marabu

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

Re: Fragen zu List- und Combobox

  Alt 15. Nov 2006, 09:25
Hallo,

ich vermute mal du hast für jede Kategorie eine eigene INI-Datei. Unabhängig von deinen visuellen Komponenten brauchst du Code zum Verlagern einer Section von einer INI-Datei zu einer anderen:

Delphi-Quellcode:
function IniName(const name: String): TFileName;
begin
  Result := ExtractFilePath(ParamStr(0)) + name + '.ini';
end;

procedure ExtractSection(const iniName, sectionName: String; section: TStrings;
    canErase: Boolean = False);
begin
  with TMemIniFile.Create(iniName) do
  try
    ReadSectionValues(sectionName, section);
    if canErase then
    begin
      EraseSection(sectionName);
      UpdateFile;
    end;
  finally
    Free;
  end;
end;

procedure AddSection(const iniName, sectionName: String; section: TStrings;
    mustClear: Boolean = False);
var
  i: Integer;
begin
  with TMemIniFile.Create(iniName) do
  try
    if mustClear then
      EraseSection(sectionName);
    for i := 0 to Pred(section.Count) do
      WriteString(sectionName, section.Names[i], section.ValueFromIndex[i]);
    UpdateFile;
  finally
    Free;
  end;
end;

procedure TransferSection(const iniFrom, iniTo, sectionName: String);
var
  section: TStrings;
begin
  section := TStringList.Create;
  ExtractSection(IniName(iniFrom), sectionName, section, True);
  AddSection(IniName(iniTo), sectionName, section, True);
  section.Free;
end;

procedure TDemoForm.ButtonClick(Sender: TObject);
begin
  TransferSection('Browser Games', 'Communities', 'Galaxywars');
end;
Getippt und nicht getestet.

Freundliche Grüße
  Mit Zitat antworten Zitat