AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

ExtractFileName bei ListBox?

Ein Thema von mlspider · begonnen am 14. Aug 2006 · letzter Beitrag vom 14. Aug 2006
Antwort Antwort
Seite 1 von 2  1 2      
mlspider

Registriert seit: 22. Okt 2003
Ort: Berlin
661 Beiträge
 
Delphi 7 Enterprise
 
#1

ExtractFileName bei ListBox?

  Alt 14. Aug 2006, 16:05
AudioPlayList.ListBox1.Items:=ExtractFileName(OpenDialog1.Files); kann nicht funktionieren, da TString und String inkompatibel sind. Wie geht es richtig?
Mario
Handbücher haben einen hohen Heizwert!!!

http://geprellte-ebay-kaeufer.de
  Mit Zitat antworten Zitat
Benutzerbild von freak4fun
freak4fun

Registriert seit: 22. Sep 2004
Ort: Hannover
1.807 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#2

Re: ExtractFileName bei ListBox?

  Alt 14. Aug 2006, 16:09
Versuchs mal mit AudioPlayList.ListBox1.Items.Add(ExtractFileName(OpenDialog1.Files));

MfG
freak
Christian
IT: Schließen Sie bitte das Fenster. User: Die Tür auch?
i++; // zaehler i um 1 erhoehen
  Mit Zitat antworten Zitat
mlspider

Registriert seit: 22. Okt 2003
Ort: Berlin
661 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: ExtractFileName bei ListBox?

  Alt 14. Aug 2006, 16:11
Ebenfalls inkompatibel. (TString und String)
Mario
Handbücher haben einen hohen Heizwert!!!

http://geprellte-ebay-kaeufer.de
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#4

Re: ExtractFileName bei ListBox?

  Alt 14. Aug 2006, 16:14
if AudioPlayList.ListBox1.Items is TStrings then muss das gehen.

Sag doch mal genauer, was für Fehlermeldungen kommen.

EDIT: aaaahhhh....

du musst die dateinamen alle einzeln extrahieren.
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#5

Re: ExtractFileName bei ListBox?

  Alt 14. Aug 2006, 16:15
Ohne Schleife wird es wohl nicht gehen:

Delphi-Quellcode:
procedure CopyFileNames (Source, Target: TStrings);
var
  i : Integer;
begin
  Target.Clear;
  for i := 0 to Source.Count - 1 do
    Target.Add(ExtractFileName(Source[i]));
end;
  
begin
  CopyFileNames (OpenDialog1.Files, AudioPlayList.ListBox1.Items);
end;
Gruß Hawkeye
  Mit Zitat antworten Zitat
mlspider

Registriert seit: 22. Okt 2003
Ort: Berlin
661 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: ExtractFileName bei ListBox?

  Alt 14. Aug 2006, 16:18
Geht es auch ohne for Schleife?

@Lukas, die übliche Fehlermeldung, wenn eine Inkompatibilität zwischen TString und String vorliegt.
Mario
Handbücher haben einen hohen Heizwert!!!

http://geprellte-ebay-kaeufer.de
  Mit Zitat antworten Zitat
Benutzerbild von freak4fun
freak4fun

Registriert seit: 22. Sep 2004
Ort: Hannover
1.807 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#7

Re: ExtractFileName bei ListBox?

  Alt 14. Aug 2006, 16:19
Ungetestet:
Delphi-Quellcode:
var
  i: Integer;
begin
  for i := 0 to OpenDialog1.Files.Count - 1 do
    AudioPlayList.ListBox1.Items.Add(ExtractFileName(OpenDialog1.Files[i]));
Hatte das Files mit FileName verwechselt.

MfG
freak
Christian
IT: Schließen Sie bitte das Fenster. User: Die Tür auch?
i++; // zaehler i um 1 erhoehen
  Mit Zitat antworten Zitat
mlspider

Registriert seit: 22. Okt 2003
Ort: Berlin
661 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: ExtractFileName bei ListBox?

  Alt 14. Aug 2006, 16:26
Also alles einzeln durchlaufen. Ja, so gehts. Danke.
Mario
Handbücher haben einen hohen Heizwert!!!

http://geprellte-ebay-kaeufer.de
  Mit Zitat antworten Zitat
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
Benutzerbild von freak4fun
freak4fun

Registriert seit: 22. Sep 2004
Ort: Hannover
1.807 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#10

Re: ExtractFileName bei ListBox?

  Alt 14. Aug 2006, 16:38
Zitat von Jürgen Thomas:
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
Aber da kann er nicht das ExtractFileName anwenden.

MfG
freak
Christian
IT: Schließen Sie bitte das Fenster. User: Die Tür auch?
i++; // zaehler i um 1 erhoehen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:36 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz