![]() |
MP3 Files aus MY Base Datenbank zum Öffnen bereitstellem
Hallo,
ich habe eine Datenbank geschrieben mit der ich meine MP3's archivieren kann. Nun möchte ich mehrere Files aus meiner Table auswählen können und mit Winamp öffnen können. Wenn ich nur eine Datei auswähle ist das ja ganz einfach mit ShellExecute: ShellExecute(GetDesktopWindow(), 'open', PChar(editdateiname.Text), nil, nil, SW_SHOWNA); Aber wie bekomme ich jetzt mein Multiselect von meiner Table in Shellexecute. (Vielleicht mit ner unsichtbaren Listbox??) Schon mal Danke im Voraus. Grüße Matze |
Re: MP3 Files aus MY Base Datenbank zum Öffnen bereitstellem
Hi!
Mit einer unsichtbaren ListBox müsste es theoretisch gehen, wenn du dann nacher mit ListBox1.ItemIndex deine MP3-Files ausliest. Gruß Matze |
Re: MP3 Files aus MY Base Datenbank zum Öffnen bereitstellem
Dann muss ich aber mit nem Array arbeiten oder?
Und nimmt mir dann mein Shellexecute den Typ Listbox1.itemindex an? Grüße Matze |
Re: MP3 Files aus MY Base Datenbank zum Öffnen bereitstellem
Ich bins nochmal,
ich glaube ich bin zu blöde dafür. Wie bekomme ich den jetzt meine Dateinamen in die Listbox? mit: Listbox1.items.text := ??? und dann muss ich doch irgendwie meine ausgewählten Dateien aufrufen oder wie? Gruß Matze |
Re: MP3 Files aus MY Base Datenbank zum Öffnen bereitstellem
Zur ListBox fügt man die Eiträge so hinzu:
ListBox1.Items.Add So liest man sie aus: LIstBox1.Items.Strings[irgendeine_Integer_Variable]; So liest man den angeklickten Eintrag aus: LIstBox1.Items.Strings[ListBox1.ItemIndex]; Aber das mit ShellExecute kann ich leider auch nicht so richtig, ich hab rumprobiert, kam aber noch zu keinen Ergebnis. :( Gruß Matze |
Re: MP3 Files aus MY Base Datenbank zum Öffnen bereitstellem
Alles schön und gut,
das ist mir ja relativ klar. Ich habe meine ausgewählten Daten jedoch ind einer Table Komponente und muss nun daraus meine strings in die Listbox übertragen. Und daran scheitere ich. Es muss also doch irgendwie so aussehen: Listbox1.items.text := datamp3.???? (wobei datamp3 meine Table Komp. ist) oder liege ich da falsch? gruß Matze |
Re: MP3 Files aus MY Base Datenbank zum Öffnen bereitstellem
Guten Morgen Matze!
Nimm doch eine DBListBox. Dann geht es so:
Code:
Ich hoffe, das ist jetzt das Richtige. :wink:
with Table1 do
begin first; DBListBox1.Items.clear; while not eof do begin DBListBox1.Items.add(fieldbyname('MP3-Files').asstring); //MP3-Files ist die Spalte in der Table1 next; end; end; Gruß Matze |
Re: MP3 Files aus MY Base Datenbank zum Öffnen bereitstellem
Ich nochmal:
Dazu brauchst du dann natürlch eine DataSource, bei der DataSet auf Table1 verweist. Und bei DBListBox1 muss DataSource auf DataSource1 verweisen (beides im OI einstellbar). Gruß Matze |
Re: MP3 Files aus MY Base Datenbank zum Öffnen bereitstellem
Das funktioniert schon mal allerdings lädt er mir jetzt alle einträge in die dblistbox und ich möchte ja nur die markierten.
Kann ich dann vielleicht über das dbgrid gehen mit selectedRows ? Gruß Matze |
Re: MP3 Files aus MY Base Datenbank zum Öffnen bereitstellem
Ich bins nochmal also ich habe das jetzt mal so probiert:
with dbgrid1 do begin //first; DBListBox1.Items.clear; while not eof do begin DBListBox1.Items.add(selectedField('Dateiname').te xt ); //Dateiname ist die Spalte in dbgrid1 next; end; end; bekommen allerdings immer die Fehlermeldung "Operator oder Semikolon fehlt." Wenn ich das mit selectedRows anstatt selectedField mache das selbe. Oder geht das so nicht. Gruß Matze |
Re: MP3 Files aus MY Base Datenbank zum Öffnen bereitstellem
Geht es vielleicht so?
Code:
Gruß Matze
with dbgrid1 do
begin //first; DBListBox1.Items.clear; while not eof do begin DBListBox1.Items.add(selectedField.text ); //Hier ist die Änderung //Dateiname ist die Spalte in dbgrid1 next; end; end; |
Re: MP3 Files aus MY Base Datenbank zum Öffnen bereitstellem
Ne das wars leider auch nicht,
jetzt nimmt er mir nur den zuletzt gewählten Datensatz aus der ersten Spalten des Grids. Ich habe zwischendurch auch noch was probiert mit: dbgrid1.DataSource.DataSet.RecNo; damit soll man auf die ausgewählten datensätze im Grid zugreifen können. aber dann kann ich sie nicht weiterverarbeiten. Trotzdem danke. Gruß Matze |
Re: MP3 Files aus MY Base Datenbank zum Öffnen bereitstellem
Kannst du mir sagen, was E/A-Fehler 6 bedutet??
In der Delphi-Hilfe staht das nicht! |
Re: MP3 Files aus MY Base Datenbank zum Öffnen bereitstellem
Ne kann ich leider nicht,
den hatte ich vorhin auch schon öfters mal. Aber was er bedeutet keine Ahnung.???? Grüße Matze |
Re: MP3 Files aus MY Base Datenbank zum Öffnen bereitstellem
Dann probier ich halt noch etwas herunm, kann dir aber nicht garantieren, dass es was wird. :wink:
Habe ich dich richtig verstanden: Du möchtest den Eintrag des ausgewählten Feldes des DBGrid in einer ListBox haben? Gruß Matze |
Re: MP3 Files aus MY Base Datenbank zum Öffnen bereitstellem
Falls du das wissen wolltest: Ich hab's rausbekommen!
Sorry, dass ich so viel Bullschitt geschriebn habe. So geht's (ist viel einfacher):
Code:
Ich hoffe, das war's, was du wissen wolltest. :wink:
procedure TForm1.Button1Click(Sender: TObject);
begin ListBox1.Items.clear; ListBox1.Items.add(DBGrid1.SelectedField.Text); end; Gruß Matze |
Re: MP3 Files aus MY Base Datenbank zum Öffnen bereitstellem
Genau,
ich habe also ein dbgrid und habe bei diesem multiselct auf true gesetzt, damit ich mehrere Datensätze auf einmal auswählen kann. Dann möchte ich die Auswahl der Datensätze im Feld ('Dateiname') an die Listbox übergeben und von dort an Winamp. Ich probiere jetzt schon seit gestern morgen oder so. Und hab leider auch noch nichts passendes gefunden. Danke Dir schon mal... natürlich probiere ich es weiter. Grüße Matze |
Re: MP3 Files aus MY Base Datenbank zum Öffnen bereitstellem
Fehlt jetzt nur noch der Multiselect?
Wie stellt du das bei DBGrid ein, ich find das nicht? Gruß Matze |
Re: MP3 Files aus MY Base Datenbank zum Öffnen bereitstellem
Im OI unter Options -> dgmultiselect auf true setzen
|
Re: MP3 Files aus MY Base Datenbank zum Öffnen bereitstellem
Danke!
Ich mach's jetzt so, dass du in der DBGrid mehrere Einträge auswählen kannst und die dann in der ListBox angezeigt werden... Gruß Matze |
Re: MP3 Files aus MY Base Datenbank zum Öffnen bereitstellem
Gut aber im Moment wird in der Listbox ja der Eintrag der ersten Spalte angezeigt und mein Dateiname ist in der 4. Spalte das muss ich doch auch irgendwie angeben oder?
Gruß Matze |
Re: MP3 Files aus MY Base Datenbank zum Öffnen bereitstellem
Ich weiß grad nicht, wie's geht, aber ich probier mal rum.
Kannst du nicht einfach die Einträge in der 4. Spalte anklicken? |
Re: MP3 Files aus MY Base Datenbank zum Öffnen bereitstellem
Das wollte ich eigentlich vermeiden um das Programm von der Bedienung her so einfach wie möglich zu halten.
Gruß Matze |
Re: MP3 Files aus MY Base Datenbank zum Öffnen bereitstellem
Ich habe es !!!!!
so gehts: procedure TForm1.btnoeffnenClick(Sender: TObject); var i: Integer; s: string; begin Listbox1.Clear; if DBGrid1.SelectedRows.Count > 0 then begin with DBGrid1.DataSource.DataSet do begin for i:=0 to DBGrid1.SelectedRows.Count-1 do begin GotoBookmark(pointer(DBGrid1.SelectedRows.Items[i])); Listbox1.Items.Add(Fieldbyname('Dateiname').AsStri ng); S := S + ' "' + Fieldbyname('Dateiname').AsString + '"' end; end; if S <> '' then ShellExecute(GetDesktopWindow(), 'open', PChar('wmplayer.exe'), PChar(S), nil, SW_SHOWNA); end; end; Danke für Deine Hilfe Gruß Matze |
Re: MP3 Files aus MY Base Datenbank zum Öffnen bereitstellem
Gratulliere!
Ciao! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:58 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