Einzelnen Beitrag anzeigen

Benutzerbild von sx2008
sx2008

Registriert seit: 15. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#4

Re: Konzeptfr.: Dateinamen einlesen, ändern,dann zurückschre

  Alt 24. Aug 2008, 01:46
Die Klasse TStrings kann ja nicht nur Strings speichern, sondern zu jedem String noch ein Objekt.
Das bedeutet man kann Memo.Lines mit Zeilen bestücken, wobei mit jeder Zeile ein Objekt verknüpft ist.
Delphi-Quellcode:
TFileObjekt=class(TObject)
public
  FileName:string; // Dateiname mit gesamtem Pfad
  procedure RenameFile(const newfilename:string);
  function GetFilenamePart:string; // Dateiname ohne Pfad
end;

...
var
  fo : TFileObjekt;
...
  fo := TFileObjekt.Create;
  fo.FileName := .......;
  Memo1.Lines.AddObject(fo.GetFilenamePart, fo); // statt Add() wird AddObject() verwendet
Man muss jetzt aber noch aufpassen: löscht der Benutzer eine Zeile, wird das Objekt nicht freigegeben!
=> es droht Speicherleck
Hier hilft aber die Klasse TObjectList.
  Mit Zitat antworten Zitat