Witam :)
Mam taki oto drobny ale jakże wnerwiający problem z extractfilename
otóż zrobiłem sobie drag and drop do listboxa działa świetnie bez extractfilename, ale bez tego to mam zawaloną playliste ścieżką pliku a to zbyt ładnie na małym odtwarzacze nie wygląda, chciałem wiec dać extractfilename ale jest problem, otóż nazwa została zmieniona i nie ma już ściezki pliku w list boxie ale pliku nie mogę odtworzyć. Po dłuższych testach okazało się ze mogę ten plik odtworzyć ale muszę najpierw załadować plik normalnie przez opendialog potem go odtworzyć i już mogę tamten plik z drag and drop odtworzyć... dziwne co ? :D
Oto kod do drag and drop:
procedure Tform1.WMDROPFILES(var msg: TWMDropFiles) ;
const
MAXFILENAME = 255;
var
cnt, fileCount: integer;
fileName : array [0..MAXFILENAME] of char;
begin
fileCount := DragQueryFile(msg.Drop, $FFFFFFFF, fileName, MAXFILENAME) ;
for cnt := 0 to -1 + fileCount do
begin
DragQueryFile(msg.Drop, cnt, fileName, MAXFILENAME) ;
listbox1.Items.Add(extractfilename(filename));
end;
DragFinish(msg.Drop) ;
end;
Przycisk do opendialog:
var
i : integer;
begin
OpenDialog1.Title := 'Wybierz Utwór';
if OpenDialog1.Execute = true then
begin
for i := 0 to OpenDialog1.Files.Count-1 do listbox1.Items.Add(ExtractFilename(OpenDialog1.Files.Strings[i]));
end;
form3.listbox1.Items:=listbox1.Items;
end;
przycisk play:
begin
Bass_StreamFree(Plik);
Plik := Bass_StreamCreateFile(FALSE, pChar(listbox1.Items.Strings[PlayList]), 0, 0, 0);
Bass_ChannelPlay(Plik, False);
Label1.caption := ListBox1.Items.Strings[PlayList];
Label3.caption := ExtractFilename(label1.Caption);
RunLabel1.CaptionRun := Label3.Caption;
Miernik := Bass_ChannelBytes2Seconds(Plik, Bass_StreamGetLength(Plik));
advTrackBar1.Max := trunc(Miernik);
Wiecie może jak to naprawić. Byłbym niezmiernie wdzięczny gdyby ktoś mi pomógł z tym :|