Entwickler-Ecke

Multimedia / Grafik - von listbox in Player laden mit listindex überschreitung


Raezor - So 25.03.07 09:58
Titel: von listbox in Player laden mit listindex überschreitung
Habe in einer Listbox 10 verschiedene Items.
Wenn ich auf ein Item selektiere und auf einen button klicke,
soll die selektierte item ind den mediaplayer geladen werden.
Wie muss das aussehen?

(Button)

Quelltext
1:
MediaPlayer1.FileName := Listbox1.items[-1];                    


Dazu kommt dann immer die Meldung, wenn ich auf den button klicke -Listindex überschreitung


Dunkel - So 25.03.07 10:30

Stell zu erstmal fest, ob überhaupt was in der Listbox steht & ein Item selektiert worden ist, ansonsten gibt es eine nette Zugriffsverletzung.
Mach es z.B. so:

Delphi-Quelltext
1:
2:
3:
 if Listbox1.Items.Count > 0 then     // ist die Listbox gefüllt?
   if Listbox1.ItemIndex <> -1 then   // ist ein Eintrag ausgewählt?
     MediaPlayer1.FileName := Listbox1.Items[Listbox1.ItemIndex];


Lannes - So 25.03.07 10:54

Hallo,

wenn Listbox1.ItemIndex <> -1 ist, dann ist Count > 0 :wink:


Dunkel - So 25.03.07 11:02

user profile iconLannes hat folgendes geschrieben:
Hallo,

wenn Listbox1.ItemIndex <> -1 ist, dann ist Count > 0 :wink:

Es ist wohl noch zu früh am Morgen... was willst Du damit sagen? Ich seh' zumindest keinen Fehler in meinem Code.

Edit:
...achso, verstehe, ja hast recht!


Raezor - So 25.03.07 12:00

ok klappt recht gut.
doch wenn ich ein markiertes item löschen will, muss ich statt add was einsetzten?


Lannes - So 25.03.07 12:04

Hallo,

löschen >>> delete :gruebel:


Raezor - So 25.03.07 12:27

oh sorry, ich meine das so:

ListBox1.Items.delet(selektiertes löschen);


Lannes - So 25.03.07 13:10

Hallo,


Delphi-Quelltext
1:
procedure Delete(Index: Integer); virtualabstract;                    


Delete fordert den Index des Items das gelöscht werden soll.
ListBox.ItemIndex liefert Dir den Index des selektierten Items.
Also:

Delphi-Quelltext
1:
ListBox.Items.Delete(ListBox.ItemIndex);                    


Raezor - So 25.03.07 14:40

wenn ich das dem button gebe kommt;

[Fataler Fehler] Ausgabedatei 'D:\delphi\mediaplayer\Project1.exe' kann nicht erstellt werden


Gausi - So 25.03.07 14:45

Wenn das der einzige Fehler ist, dann läuft das Programm wahrscheinlich gerade...


Raezor - So 25.03.07 14:48

hä?
Wie gerade? ->schräg?!?
Muss man das verstehen?

Edit:
Ach so...du meinst es wird gerade verwendet bzw. benutzt

-- ok jetzt gehts


Gausi - So 25.03.07 15:06

Duden Deutsches Universal Wörterbuch A-Z hat folgendes geschrieben:
ge|ra|de [...] II. <Adv.> a) <zeitlich> in diesem Augenblick, soeben, momentan [...]
;-)