Einzelnen Beitrag anzeigen

Jürgen Thomas

Registriert seit: 13. Jul 2006
Ort: Berlin
750 Beiträge
 
#9

Re: ExtractFileName bei ListBox?

  Alt 14. Aug 2006, 16:35
Es geht auch direkt, da ListBox.Items und OpenDialog.Files beide vom Typ TStrings sind. Also kann auch direkt zugewiesen werden:
Delphi-Quellcode:
ListBox1.Items.Clear;
ListBox1.Items.AddStrings(OpenDialog1.Files);
Jürgen

[/edit]Nachtrag
Zitat von freak4fun:
Aber da kann er nicht das ExtractFileName anwenden. freak
Zitat von mlspider:
Genau darum ging es mir...
Sorry, nach den vielen Schleifen habe ich das nicht mehr gelesen. Aber vielleicht geht es doch noch schneller, weil ja nach einem OpenDialog alle Dateien aus dem gleichen Verzeichnis stammen. Damit kannst Du aus der ersten Datei das Verzeichnis bestimmen, damit die Länge des Pfades und mit einem Copy oder Delete die einzelnen Files-Einträge kürzen.
Delphi-Quellcode:
var i0, i1: Integer;
begin
  AudioPlayList.ListBox1.Items.Clear;
  // ich setze voraus, dass mindestens 1 Datei ausgewählt wurde
  i0 := Length(ExtractFileDir(OpenDialog1.Files[0]));
  // ich erinnere mich nicht mehr, ob '\' enthalten ist; ggf. i0+1 verwenden
  for i1 := 0 to OpenDialog1.Files.Count - 1
  do AudioPlayList.ListBox1.Items.Add( Copy(OpenDialog1.Files[i1], i0+1, 255));
end;
Ich vermute sehr stark, das geht schneller, weil ExtractFileName bei jeder Datei das Ende des Pfades suchen muss, während dies nur einmal nötig ist.

Jürgen

PS. Sorry für mein Versehen!
#D mit C# für NET, dazu Firebird
früher: Delphi 5 Pro, Delphi 2005 Pro mit C# (also NET 1.1)
Bitte nicht sauer sein, wenn ich mich bei Delphi-Schreibweisen verhaue; ich bin inzwischen an C# gewöhnt.
  Mit Zitat antworten Zitat