Thema: Delphi MRU Liste erstellen.

Einzelnen Beitrag anzeigen

Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#1

MRU Liste erstellen.

  Alt 22. Jun 2003, 20:49
Ich habe einen Knoten im Hirn.

Ich habe hier Code für eine MRU Liste geschrieben, also eine Liste mit den zu letzt geöffneten Dateien. So weit so gut, geht auch alles. Nur würde ich sie gerne bergrenzen auf eine bestimmte Anzahl von Dateien. Also wenn es 5 Stück sind dass er dann die von vorne anfängt die Einträge zu ersetzen.

Aber ich bekomme es ums verrecken nicht gebacken. Hier mal mein Code:
Delphi-Quellcode:
procedure TForm1.AddLastFileToList(Filename: String);
var
  ini: TInifile;
  slKeyNumbers: TStringList;
  KeyNumber, LastKeyWritten: Integer;
begin
  ini := TIniFile.Create(ExtractFilePath(ParamStr(0)) + '\mru.ini');
  try
    slKeyNumbers := TStringList.Create;
    try
      ini.ReadSectionValues('MRU', slKeyNumbers);
      KeyNumber := slKeyNumbers.Count;
      LastKeyWritten := ini.ReadInteger('LKW', 'LastKeyWritten', 0);
      if KeyNumber = MAXFILES then
      begin
        KeyNumber := MAXFILES-LastKeyWritten-1;
        ini.WriteString('MRU', IntToStr(KeyNumber), Filename);
      end;
      ini.WriteString('MRU', IntToStr(KeyNumber), Filename);
      ini.WriteInteger('LKW', 'LastKeyWritten', KeyNumber);
    finally
      slKeyNumbers.Free;
    end;
  finally
    ini.Free;
  end;
end;
Aber irgendwie macht er nicht das was ich will. Habe ich vier voll, setzt er den fünften an die erste Stelle, aber den nächsten dann nicht an die zweite sondern ans Ende.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat