![]() |
Problem mit ExtractFileName
Hi @ all
ich bastel zur Zeit an einem Mediaplayer für ein Schulprojekt von mir rum (Bin Delphi-Anfänger :-D ). Der läuft auch weitestgehend super, habe nur wenige Probleme. Ich habe aber ein Problem mit der TListBox: In dieser ListBox sind die Pfade zu den Dateien angegeben. Ich habe also eine ListBox mit folgendem Inhalt: C:\Bla\Bla\Bla\Song1.mp3 C:\Bla\Bla\Bla\Song2.mp3 C:\Bla\Bla\Bla\Song3.mp3 C:\Bla\Bla\Bla\Song4.mp3 usw. Nun will ich aber das man nur den Dateinahmen sieht, also das dann nurnoch Song1.mp3 zu sehen ist. Ich denke das lässt sich mithilfe der ExtractFileName Funktion machen, aber ich versuche es nun gut eine Stunde und schaffe es einfach nicht :cry: Ich danke schonmal im Vorraus |
Re: Problem mit ExtractFileName
Wie hast du es denn versucht?
|
Re: Problem mit ExtractFileName
Versucht habe ich es auf viele Weisen. funktioniert haben sie alle nicht, mir fehlt einfach das Grundwissen dazu. Meine größte Hoffnung war:
Code:
Fehler war dann
Procedure TForm1.CleanSaveList(d:string);
begin ListBox1.Items := ExtractFileName(d); end; [Fehler] Unit1.pas(307): E2010 Inkompatible Typen: 'TStrings' und 'string' |
Re: Problem mit ExtractFileName
Delphi-Quellcode:
ListBox1.Items.Add( ExtractFileName(d));
|
Re: Problem mit ExtractFileName
Warum werden eigentlci imme die Fehlermeldungen verschwiegen? Les dir die Fehlermeling mal durch und guck in der Hilfe, wei man einträge einer Listbox hinzufügt.
|
Re: Problem mit ExtractFileName
@ mkinzler:
Danke, aber das hilft mir leider nicht. In meinem Fall muss die bereits bestehende ListBox "gereinigt" werden, deine Lösung funktioniert ja leider nur beim Hinzufügen von Items... @ Luckie: ich weiß wie man Beiträge hinzufügt. Das ist ja auch nicht das Problem. Ich will ja die bestehenden Einträge bearbeiten. |
Re: Problem mit ExtractFileName
Delphi-Quellcode:
ListBox1.Items[<Index>] := ExtractFileName(d));
|
Re: Problem mit ExtractFileName
Sorry aber wie gesagt ich bin Anfänger :-D
Was muss ich bei Index eintragen? Wenn ich es so compile wie es ist gibt er mir nur Fehlermeldungen. |
Re: Problem mit ExtractFileName
Na den Index, des Eintrages, dn du ändern willst.
|
Re: Problem mit ExtractFileName
Nochmal, Du hast die kompletten Pfadangaben in der Listbox und willst sie nun auf den Dateinamen "zurechtstutzen"?
[edit] Ach, was soll' s:
Delphi-Quellcode:
[/edit]
var i: integer;
begin for i := 0 to Pred(ListBox1.Items.Count) do ListBox1.Items[i] := ExtractFileName(ListBox1.Items[i]); end; |
Re: Problem mit ExtractFileName
Hallo Sparks_2180,
ich bin mir jetzt auch nicht ganz sicher was genau du machen willst. Wenn du einen markierten Listbox-Eintrag löschen willst, könnte dir folgendes weiterhelfen:
Delphi-Quellcode:
Edit:DeddyH hat die evtl. andere Lösung...(nur Dateinamen anzeigen und nicht löschen)
var
Index: integer; begin ListBox.Items.BeginUpdate; for Index := Pred(Files.Count) downto 0 do if ListBox.Selected[Index] then Files.Delete(Index); ListBox.Count := self.Files.Count; ListBox.Items.EndUpdate; end; |
Re: Problem mit ExtractFileName
Sry, juergen, jetzt sind wir uns beim Editieren in die Quere gekommen :mrgreen:
|
Re: Problem mit ExtractFileName
Suuper, es hat funktioniert!
Vielen Dank an alle und für ihre Mühen! Hätte nich erwartet dass ich das heute noch hinbekomme^^ Also ich habe jetzt die Lösung von DeddyH genommen, ist genau das was ich brauche. Aber das von Jürgen ist auch nicht schlecht, das war etwas was ich später noch einbauen woltle^^. Macht sich gut im dem player :D |
Re: Problem mit ExtractFileName
[OT]
DeddyH, nee, in die Quere sind wir uns doch gar nicht gekommen. :mrgreen: Die Anforderungen waren nicht ganz klar und nun hat er 2 Lösungen, welche er auch beide gebrauchen kann. :-D [/OT] |
Re: Problem mit ExtractFileName
Moin, Moin.
Will dich ja nicht beunruhigen, aber: Benötigst du die Pfade denn gar nicht??? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:07 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz