Listbox Yükleme Sorunu !!!!

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
alyamus
Üye
Mesajlar: 44
Kayıt: 09 Ara 2011 09:09

Listbox Yükleme Sorunu !!!!

Mesaj gönderen alyamus »

Sayın hocalarım üstadlarım 1 yıldır hırs edindim bir mediaplayer yazdım sonunda yalnız open dialogdan direk acıldığında direk çalıyor . birlikte aç denildiğinde şarkı listboxda gözüküyor yalnız otomatik çalmıyor uzantısını beceremedim ille play tuşuna basmam gerekiyor çalışması için tüm kodu yayınlıyorum üstadlarım forum createye ne eklemem lazımyada nereyi değiştirmem lazım bide şarkı listboxa atıldığında listboxa çift tıklıyorum listbox boş diyor lütfen yardım edin sayın üstadlar...

Kod: Tümünü seç

unit mp3;

interface

uses
ShellApi,registry,
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls, ComCtrls, Bass, pngextra, jpeg, AdvTrackBar,
  Menus, bsSkinCtrls, bsSkinData, bsCalendar, Transparent, pngimage;

type
  TFFTData  = array [0..512] of Single;
  TPlayerMode = (Stop, Play, Paused);
  TForm_player = class(TForm)
    Label4: TLabel;
    ScrollBar1: TScrollBar;
    TrackBar2: TTrackBar;
    Button5: TButton;
    OpenDialog1: TOpenDialog;
    Timer1: TTimer;
    Image1: TImage;
    pb1: TPaintBox;
    PNGButton1: TPNGButton;
    PNGButton2: TPNGButton;
    PNGButton3: TPNGButton;
    PNGButton4: TPNGButton;
    PNGButton5: TPNGButton;
    PNGButton6: TPNGButton;
    PNGButton7: TPNGButton;
    PNGButton9: TPNGButton;
    PNGButton10: TPNGButton;
    PNGButton11: TPNGButton;
    PNGButton12: TPNGButton;
    PNGButton13: TPNGButton;
    AdvTrackBar1: TAdvTrackBar;
    Label1: TLabel;
    Image2: TImage;
    Label2: TLabel;
    PNGButton14: TPNGButton;
    Panel1: TPanel;
    Image4: TImage;
    PNGButton8: TPNGButton;
    ListBox1: TListBox;
    Panel2: TPanel;
    TrackBar3: TTrackBar;
    TrackBar4: TTrackBar;
    TrackBar5: TTrackBar;
    TrackBar6: TTrackBar;
    TrackBar7: TTrackBar;
    TrackBar8: TTrackBar;
    TrackBar9: TTrackBar;
    TrackBar10: TTrackBar;
    TrackBar11: TTrackBar;
    TrackBar12: TTrackBar;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    Label14: TLabel;
    advt: TAdvTrackBar;
    Label3: TLabel;
    Timer2: TTimer;
    PNGButton15: TPNGButton;
    Image3: TImage;
    PNGButton16: TPNGButton;
    PNGButton17: TPNGButton;
    PNGButton18: TPNGButton;
    PopupMenu1: TPopupMenu;
    Clear1: TMenuItem;
    arkSilme1: TMenuItem;
    arkEkleme1: TMenuItem;
    ListBox2: TListBox;
    bsSkinData1: TbsSkinData;
    bsCompressedStoredSkin1: TbsCompressedStoredSkin;
    bsSkinPanel1: TbsSkinPanel;
    bsSkinTrackBar1: TbsSkinTrackBar;
    bsSkinTrackBar2: TbsSkinTrackBar;
    bsSkinTrackBar3: TbsSkinTrackBar;
    bsSkinTrackBar4: TbsSkinTrackBar;
    bsSkinTrackBar5: TbsSkinTrackBar;
    bsSkinTrackBar6: TbsSkinTrackBar;
    bsSkinTrackBar7: TbsSkinTrackBar;
    bsSkinTrackBar8: TbsSkinTrackBar;
    Image5: TImage;
    Label15: TLabel;
    bsSkinTrackBar9: TbsSkinTrackBar;
    Label16: TLabel;
    Label17: TLabel;
    Label18: TLabel;
    Label19: TLabel;
    Label20: TLabel;
    Label21: TLabel;
    Label22: TLabel;
    Label23: TLabel;
    PNGButton19: TPNGButton;
    PNGButton20: TPNGButton;
    Edit2: TEdit;
    Edit3: TEdit;
    Timer3: TTimer;
    PNGButton21: TPNGButton;
    Button1: TButton;
    Image6: TImage;
    Image7: TImage;
    Image8: TImage;
    Image9: TImage;
    Memo1: TMemo;
    Edit1: TEdit;
    procedure Button4Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Player;
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure ScrollBar1Scroll(Sender: TObject; ScrollCode: TScrollCode;
      var ScrollPos: Integer);
    procedure Timer1Timer(Sender: TObject);
    procedure ListBox1DblClick(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure TrackBar3Change(Sender: TObject);
    procedure TrackBar4Change(Sender: TObject);
    procedure TrackBar5Change(Sender: TObject);
    procedure TrackBar6Change(Sender: TObject);
    procedure TrackBar7Change(Sender: TObject);
    procedure TrackBar8Change(Sender: TObject);
    procedure TrackBar9Change(Sender: TObject);
    procedure TrackBar10Change(Sender: TObject);
    procedure TrackBar11Change(Sender: TObject);
    procedure TrackBar12Change(Sender: TObject);
    procedure pb1Paint(Sender: TObject);
    procedure Draw(HWND : THandle; FFTData : TFFTData; X, Y : Integer);
    procedure PNGButton3Click(Sender: TObject);
    procedure PNGButton1Click(Sender: TObject);
    procedure PNGButton9Click(Sender: TObject);
    procedure PNGButton10Click(Sender: TObject);
    procedure PNGButton12Click(Sender: TObject);
    procedure PNGButton4Click(Sender: TObject);
    procedure PNGButton8Click(Sender: TObject);
    procedure Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
    procedure Timer2Timer(Sender: TObject);
    procedure PNGButton15Click(Sender: TObject);
    procedure advtMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Clear1Click(Sender: TObject);
    procedure arkSilme1Click(Sender: TObject);
    procedure arkEkleme1Click(Sender: TObject);
    procedure ListBox1DragDrop(Sender, Source: TObject; X, Y: Integer);
    procedure ListBox1DragOver(Sender, Source: TObject; X, Y: Integer;
      State: TDragState; var Accept: Boolean);
    procedure ListBox1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure FormDestroy(Sender: TObject);
    procedure PNGButton2Click(Sender: TObject);
    procedure ListBox2DblClick(Sender: TObject);
    procedure ListBox2DragDrop(Sender, Source: TObject; X, Y: Integer);
    procedure ListBox2DragOver(Sender, Source: TObject; X, Y: Integer;
      State: TDragState; var Accept: Boolean);
    procedure PNGButton16Click(Sender: TObject);
    procedure bsSkinTrackBar1Change(Sender: TObject);
    procedure bsSkinTrackBar2Change(Sender: TObject);
    procedure bsSkinTrackBar3Change(Sender: TObject);
    procedure bsSkinTrackBar5Change(Sender: TObject);
    procedure bsSkinTrackBar4Change(Sender: TObject);
    procedure bsSkinTrackBar6Change(Sender: TObject);
    procedure bsSkinTrackBar7Change(Sender: TObject);
    procedure bsSkinTrackBar8Change(Sender: TObject);
    procedure bsSkinTrackBar9Change(Sender: TObject);
    procedure PNGButton19Click(Sender: TObject);
    procedure PNGButton20Click(Sender: TObject);
    procedure PNGButton5Click(Sender: TObject);
    procedure PNGButton11Click(Sender: TObject);
    procedure PNGButton14Click(Sender: TObject);
    procedure Timer3Timer(Sender: TObject);
    procedure PNGButton18Click(Sender: TObject);
    procedure PNGButton21Click(Sender: TObject);
    procedure Image6Click(Sender: TObject);
    procedure Image7Click(Sender: TObject);
    procedure Image9Click(Sender: TObject);
    procedure Image8Click(Sender: TObject);
    procedure PNGButton7Click(Sender: TObject);
    procedure PNGButton17Click(Sender: TObject);
    procedure ListBox2Click(Sender: TObject);
    procedure ListBox1Click(Sender: TObject);

  private
  chan: DWORD;
    { Private declarations }

  public
  procedure WMDROPFILES(var Msg: TMessage); message WM_DROPFILES;
    { Public declarations }
  end;

var
  Form_player: TForm_player;
  i:integer; //íîìåğ ïğîèãğûâàåìîé ïåñíè â playlist
  filename: string;//èìÿ ôàéëà
  filename2: string;//èìÿ ôàéëà
  Channel    : DWORD;//
  Mode: TPlayerMode;//PlayMode
  //ïåğåìåííûå äëÿ íàñòğîéêè ıêâàëàéçåğà
  p: BASS_DX8_PARAMEQ;
  pR: BASS_DX8_REVERB;
  fx: array[1..11] of integer;
  
  //ïåğåìåííûå âèçóàëèçàöèè
  FFTPeacks  : array [0..128] of Integer;
  FFTFallOff : array [0..128] of Integer;
  RepeatOn: Boolean;
  StartingPoint : TPoint;

implementation

uses Unit1, Unit5, DosyaTurleri;
{$R *.dfm}
procedure ParamList(const Goster:Boolean);
var S:String; i:Integer;
begin
  if Goster then begin
    S:='';
    for i:=1 to ParamCount do S:=Format('%s'#13#10'%d=%s',[S,i,ParamStr(i)]);
    ShowMessage(Format('Parametreler (%d)..:',[ParamCount])+S);
  end;
end;
procedure RegisterExtension(const sExt, sDesc, AppPath: string);
  begin
    with TRegistry.Create do
      try
        RootKey := HKEY_CLASSES_ROOT;
        if OpenKey(sExt, True) then begin
          WriteString('', sDesc);
          CloseKey;
        end;
        if OpenKey('\' + sDesc, True) then begin
          WriteString('', sDesc);
          CloseKey;
        end;
        if OpenKey('DefaultIcon', True) then begin
          WriteString('', AppPath + ',' + IntToStr(0));
          CloseKey;
        end;
        if OpenKey('\' + sDesc + '\Shell\Open\Command', True) then begin
          WriteString('', '"' + AppPath + '" "%1"');
          CloseKey;
        end;
      finally
        Free;
      end;
  end;


procedure TForm_Player.WMDROPFILES(var Msg: TMessage);
var
  i, amount, size: integer;
  Filename: PChar;
begin
  inherited;
  Amount := DragQueryFile(Msg.WParam, $FFFFFFFF, Filename, 255);
  for i := 0 to (Amount - 1) do
  begin
    size := DragQueryFile(Msg.WParam, i, nil, 0) + 1;
    Filename := StrAlloc(size);
    DragQueryFile(Msg.WParam, i, Filename, size);
    listbox1.Items.Add(StrPas(Filename));
    listbox2.Items.Add(extractfilename(StrPas(Filename)));

   ListBox2.Itemindex:=i;
 Filename2:=ListBox1.Items.Strings[i];
Label3.caption := ListBox2.Items.Strings[listbox2.ItemIndex];

Label3.caption := ExtractFilename(label3.Caption);

    StrDispose(Filename);

  end;
  DragFinish(Msg.WParam);
  
end;
procedure TForm_Player.Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
ReleaseCapture;
Form_Player.perform(WM_SYSCOMMAND, $F012, 0);
end;

procedure TForm_Player.Draw(HWND : THandle; FFTData : TFFTData; X, Y : Integer);
        var i, YPos : LongInt; YVal : Single;
{ Spectrum Visualyzation by Alessandro Cappellozza
  version 0.8 05/2002
  http://digilander.iol.it/Kappe/audioobject}
       begin
       //î÷èñòêà îáëàñòè âèçóàëèçàöèè
          pb1.Canvas.Pen.Color := clBlack;
          pb1.Canvas.Brush.Color := clBlack;
          pb1.Canvas.Rectangle(0, 0, pb1.Width, pb1.Height);
       //âèçóàëèçàöèÿ
        //pb1.Canvas.Pen.Color := clRed;
         for i := 0 to 127 do begin // êîëè÷åñòâî ñòîëáèêîâ
           YVal := Abs(FFTData[i]);
           YPos := trunc((YVal) * 500);
           if YPos > pb1.Height then YPos := pb1.Height;

           if YPos >= FFTPeacks[i] then FFTPeacks[i] := YPos
             else FFTPeacks[i] := FFTPeacks[i] - 1;

           if YPos >= FFTFallOff[i] then FFTFallOff[i] := YPos
              else FFTFallOff[i] := FFTFallOff[i] - 3;
                     //ğèñîâàíèå ïèêà
                     pb1.Canvas.Pen.Color := clred;
                     pb1.Canvas.MoveTo(X + i*(3+1) , Y + pb1.Height - FFTPeacks[i]);
                     pb1.Canvas.LineTo(X + i*(3+1) + 3, Y + pb1.Height - FFTPeacks[i]);
                     //ğèñîâàíèå ñòîëáèêà
                     pb1.Canvas.Pen.Color := clsilver;
                     pb1.Canvas.Brush.Color := clsilver;
                     pb1.Canvas.Rectangle(X + i*(3+1) , Y + pb1.Height - FFTFallOff[i], X + i*(3+1) + 3, Y + pb1.Height);

              end;

        end;


procedure TForm_Player.Player;
begin
//ïğîâåğÿåì, åñëè íå ïàóçà
if mode<>paused then begin
//òî ïğîâåğÿåì ñóùåñòâóåò ëè ôàéë çàãğóæàåìûé èç PlayList
//åñëè ôàéë íå ñóùåñòâóåò, òî âûõîäèì
 if not FileExists(FileName) then begin ShowMessage('Liste Boş');exit;end;
//îñòàíàâëèâàåì è îñâîáîæäàåì êàíàë âîñïğîèçâåäåíèÿ
BASS_ChannelStop(Channel);BASS_StreamFree(Channel);
//ïûòàåìñÿ çàãğóçèòü ôàéë è ïîëó÷èòü äåñêğèïòîğ êàíàëà
Channel := BASS_StreamCreateFile(FALSE, PChar(FileName), 0, 0, 0 {$IFDEF UNICODE} or BASS_UNICODE {$ENDIF});
//åñëè äåñêğèïòîğ êàíàëà=0 (ôàéë ïî êàêîé òî ïğè÷èíå íå ìîæåò áûòü çàãğóæåí),
//âûäàåì ñîîáùåíèå îá îøèáêå è âûõîäèì
if Channel=0 then begin ShowMessage('Îøèáêà çàãğóçêè Ôàéëà');exit;end;
end;

//íàñòğîéêà ıêâàëàéçåğà
    fx[1] := BASS_ChannelSetFX(channel, BASS_FX_DX8_PARAMEQ, 1);//ïåğâûé êàíàë ıêâàëàéçåğà
    fx[2] := BASS_ChannelSetFX(channel, BASS_FX_DX8_PARAMEQ, 1);//âòîğîé êàíàë
    fx[3] := BASS_ChannelSetFX(channel, BASS_FX_DX8_PARAMEQ, 1);
    fx[4] := BASS_ChannelSetFX(channel, BASS_FX_DX8_PARAMEQ, 1);
    fx[5] := BASS_ChannelSetFX(channel, BASS_FX_DX8_PARAMEQ, 1);
    fx[6] := BASS_ChannelSetFX(channel, BASS_FX_DX8_PARAMEQ, 1);
    fx[7] := BASS_ChannelSetFX(channel, BASS_FX_DX8_PARAMEQ, 1);
    fx[8] := BASS_ChannelSetFX(channel, BASS_FX_DX8_PARAMEQ, 1);
    fx[9] := BASS_ChannelSetFX(channel, BASS_FX_DX8_PARAMEQ, 1);
    fx[10] := BASS_ChannelSetFX(channel, BASS_FX_DX8_PARAMEQ, 1);
    fx[11] := BASS_ChannelSetFX(chan, BASS_FX_DX8_REVERB, 1);

    //íàñòğîéêà ïåğâîãî êàíàëà ıêâàëàéçåğà
    p.fGain := 0;
    p.fBandwidth := 18;
    p.fCenter := 80;
    BASS_FXSetParameters(fx[1], @p);
    p.fCenter := 170;
    BASS_FXSetParameters(fx[2], @p);
    p.fCenter := 360;
    BASS_FXSetParameters(fx[3], @p);
    p.fCenter := 250;
    BASS_FXSetParameters(fx[4], @p);
    p.fCenter := 1000;
    BASS_FXSetParameters(fx[5], @p);
    p.fCenter := 16000;
    BASS_FXSetParameters(fx[6], @p);
    p.fCenter := 6000;
    BASS_FXSetParameters(fx[7], @p);
    p.fCenter := 1200;
    BASS_FXSetParameters(fx[8], @p);
    p.fCenter := 14000;
    BASS_FXSetParameters(fx[9], @p);
    p.fCenter := 16000;
    BASS_FXSetParameters(fx[10], @p);

    BASS_FXGetParameters(fx[11], @pR);
    pR.fReverbMix := -96;
    pR.fReverbTime := 1200;
    pR.fHighFreqRTRatio := 0.1;
    BASS_FXSetParameters(fx[11], @pR);

if not BASS_ChannelPlay(Channel, False) then
begin ShowMessage('Îøèáêà âîñïğîèçâåäåíèÿ ôàéëà');exit;end;
advt.Min:=0;
advt.Max:=bass_ChannelGEtLength(Channel, 0)-1;
Form_Player.Caption:=ExtractFileName(FileName);
mode:=play;
end;


procedure TForm_player.ScrollBar1Scroll(Sender: TObject;
  ScrollCode: TScrollCode; var ScrollPos: Integer);
begin
 bass_ChannelSetPosition(Channel, advt.position, 0);
end;


procedure TForm_player.Timer1Timer(Sender: TObject);
var  FFTFata : TFFTData;
TrackLen, TrackPos: Double;
ValPos: Double;
ValLen: Double;
begin

if mode<>play then Exit;
if  BASS_ChannelGetPosition(channel, 0)=BASS_ChannelGetLength(channel, 0) then
   begin
if i<ListBox1.Items.Count-1 then
   begin
    inc(i);
 Filename:=ListBox1.Items.Strings[i];
 ListBox2.ItemIndex:=i;

    mode:=stop;
    player;
   end
   else exit;
   end;
BASS_ChannelGetData(Channel, @FFTFata, BASS_DATA_FFT1024);
Draw (pb1.Canvas.Handle, FFTFata, 0,-5);
advt.Position:=bass_channelGetPosition(channel,0);

TrackPos:=BASS_ChannelBytes2Seconds(Channel,BASS_ChannelGetPosition(Channel,0));

TrackLen:=BASS_ChannelBytes2Seconds(Channel,BASS_ChannelGetLength(Channel,0));

ValPos:=TrackPos / (24 * 3600);
ValLen:=TrackLen / (24 * 3600);

Label1.Caption:=FormatDateTime('hh:mm:ss',ValPos);
Label2.Caption:=FormatDateTime('hh:mm:ss',ValLen);


BASS_ChannelSetAttribute(Channel,BASS_ATTRIB_VOL,advtrackBar1.Position/10);

BASS_ChannelSetAttribute(Channel,BASS_ATTRIB_PAN,form1.bsSkinTrackBar2.value/5);

end;

procedure TForm_player.TrackBar10Change(Sender: TObject);
begin
BASS_FXGetParameters(fx[8], @p);
p.fgain := 15-TrackBar10.position;
BASS_FXSetParameters(fx[8], @p);
end;

procedure TForm_player.TrackBar11Change(Sender: TObject);
begin
BASS_FXGetParameters(fx[9], @p);
p.fgain := 15-TrackBar11.position;
BASS_FXSetParameters(fx[9], @p);
end;

procedure TForm_player.TrackBar12Change(Sender: TObject);
begin
BASS_FXGetParameters(fx[10], @p);
p.fgain := 15-TrackBar12.position;
BASS_FXSetParameters(fx[10], @p);
end;

procedure TForm_player.TrackBar3Change(Sender: TObject);
begin
BASS_FXGetParameters(fx[1], @p);
p.fgain := 15-TrackBar3.position;
BASS_FXSetParameters(fx[1], @p);
end;

procedure TForm_player.TrackBar4Change(Sender: TObject);
begin
BASS_FXGetParameters(fx[2], @p);
p.fgain := 15-TrackBar4.position;
BASS_FXSetParameters(fx[2], @p);
end;

procedure TForm_player.TrackBar5Change(Sender: TObject);
begin
BASS_FXGetParameters(fx[3], @p);
p.fgain := 15-TrackBar5.position;
BASS_FXSetParameters(fx[3], @p);
end;

procedure TForm_player.TrackBar6Change(Sender: TObject);
begin
BASS_FXGetParameters(fx[4], @p);
p.fgain := 15-TrackBar6.position;
BASS_FXSetParameters(fx[4], @p);;
end;

procedure TForm_player.TrackBar7Change(Sender: TObject);
begin
BASS_FXGetParameters(fx[5], @p);
p.fgain := 15-TrackBar7.position;
BASS_FXSetParameters(fx[5], @p);
end;

procedure TForm_player.TrackBar8Change(Sender: TObject);
begin
BASS_FXGetParameters(fx[6], @p);
p.fgain := 15-TrackBar8.position;
BASS_FXSetParameters(fx[6], @p);
end;

procedure TForm_player.TrackBar9Change(Sender: TObject);
begin
BASS_FXGetParameters(fx[7], @p);
p.fgain := 15-TrackBar9.position;
BASS_FXSetParameters(fx[7], @p);
end;

procedure TForm_player.Button1Click(Sender: TObject);
var DosyaTuru:TDosyaTuru;
begin
  DosyaTuru.Uzanti:=edit1.Text;
  DosyaTuru.UzantiAciklamasi:=Format('%s Arşivi',[DosyaTuru.Uzanti]);
  DosyaTuru.SimgeDosyasi:=Format('%s,0',[Application.ExeName]);
  DosyaTuru.ProgramAdi:=Application.ExeName;
  DosyaTuru.SagTusMenusu:='MenudenAkmanAc';
  DosyaTuru.SagTusMenuParam:='/msg';
  DosyaTuru.SagTusMenuAciklamasi:='Akman Dosyası Açıver Gari';
  if DosyaTuruKaydet(DosyaTuru,True) then ShowMessage('Dosya tipi kayıt edildi')
  else MessageBox(Handle,'Tür kayıt işlemi yapılamadı','Uyarı',MB_ICONWARNING);
end;

procedure TForm_player.Button2Click(Sender: TObject);
begin

if mode=play then
begin
 BASS_ChannelPause(Channel);
 mode:=paused;
end;
end;

procedure TForm_player.Button3Click(Sender: TObject);
begin

if mode=play then
begin
 BASS_ChannelStop(Channel);
 mode:=Stop;
end;
end;

procedure TForm_player.Button4Click(Sender: TObject);
var j: integer;
begin
 OpenDialog1.Title  := 'Open Files';
 OpenDialog1.Filter := 'mp3|*.mp3';
if listbox1.Count<>0 then i:=ListBox1.ItemIndex else i:=0;
//Äèàëîã îòêğûòèÿ ôàéëà
if not OpenDialog1.Execute then exit;
  begin
  for j:=0 to OpenDialog1.Files.Count-1 do
    begin
    //çàïîëíÿåì PlayList
      ListBox1.Items.Add(OpenDialog1.Files.Strings[j]);
    end;
  end;
  //çàïîìèíàåì èìÿ ôàéëà òåêóùåé ïåñíè â ïëåéëèñòå
   Filename:=ListBox1.Items.Strings[i];
  //Âûäåëÿåì ıòó ïåñíş â PlayList
   ListBox1.ItemIndex:=i;
end;


procedure TForm_player.Button5Click(Sender: TObject);
begin
//î÷èñòêà ïëåéëèñòà
listbox1.Clear;
end;

procedure TForm_player.FormClose(Sender: TObject; var Action: TCloseAction);
begin

//Îñâîáîæäàåì îáúåêòû ïåğåä çàêğûòèåì
  Bass_Stop(); //îñòàíàâëèâàåì ïğîèãğûâàíèå
  BASS_StreamFree(channel); // îñâîáîæäàåì çâóêîâîé êàíàë
  Bass_Free;//Îñâîáîæäàåì ğåñóğñû èñïîëüçóåìûå Bass
end;

procedure TForm_player.FormCreate(Sender: TObject);
var DosyaAdi:String;
begin
pngbutton9.Visible:=true;
pngbutton10.Visible:=false;
panel1.Visible:=false;
pngbutton15.Visible:=false;
pngbutton21.Visible:=false;
bsskinpanel1.Visible:=false;
pngbutton20.Visible:=false;
  if (ParamCount>0) then begin
    DosyaAdi:=ParamStr(1);
    if FileExists(DosyaAdi) then listbox1.Items.Add(Dosyaadi);
    listbox2.Items.Add(extractfilename(dosyaadi));

   ListBox2.Itemindex:=i;
    if (ParamCount>1) and SameText(ParamStr(2),'/msg') then ShowMessage('Menüden açılıyorum');

DragAcceptFiles(Handle, True);
 ListBox1.DragMode := dmAutomatic;

  //óñòàíîâêà ãğîìêîñòè
    advtrackbar1.Min:=0;
    advtrackbar1.Max:=10;
    advtrackbar1.Position:=5;
  //óñòàíîâêà áàëàíñà
  

  // ïğîâåğêà êîğğåêòíîñòè çàãğóæåííîé BASS.DLL
  if (HIWORD(BASS_GetVersion) <> BASSVERSION)  then
	begin
		MessageBox(0,'Íå êîğğåêòíàÿ âåğñèÿ BASS.DLL',nil,MB_ICONERROR);
		Halt;
	end;
    end;
	// Èíèöèàëèçàöèÿ àóäèî - ïî óìîë÷àíèş, 44100hz, stereo, 16 bits
	if not BASS_Init(-1, 44100, 0, Handle, nil) then
    begin
      MessageBox(0,'Îøèáêà èíèöèàëèçàöèÿ àóäèî',nil,MB_ICONERROR);
		  Halt;
    end;

edit2.Text:=datetostr(date);
edit3.Text:='30.09.2012';
if strtodate(edit2.Text)>strtodate(edit3.Text)then begin
showmessage('Deneme Sürümü Bitti');
halt;
end
else if strtodate(edit2.Text)=strtodate(edit3.Text)then begin
showmessage('bugün son gün');
end
else if strtodate(edit2.Text)<strtodate(edit3.Text)then begin
Form_player.Show;
end;
end;

procedure TForm_player.ListBox1DblClick(Sender: TObject);
begin
 i:=ListBox1.Itemindex;
 Filename:=ListBox1.Items.Strings[i];
 mode:=stop;
Label3.caption := ListBox1.Items.Strings[listbox1.ItemIndex];

Label3.caption := ExtractFilename(label3.Caption);
 player;
end;

procedure TForm_player.pb1Paint(Sender: TObject);
 begin
//ôîí îêíà âèçóàëèçàöèè
  pb1.Canvas.Pen.Color:=clBlack; //öâåò ïåğà
  pb1.Canvas.Brush.Color:=clBlack;//öâåò êèñòè
  pb1.Canvas.Rectangle(0,0,pb1.Width,pb1.Height);//ğèñóåì ïğÿìîóãîëüíèê ôîí
end;

procedure TForm_player.PNGButton3Click(Sender: TObject);
var
  j: integer;
begin

 OpenDialog1.Title  := 'Open Files';
 OpenDialog1.Filter := 'All|*.mp3;*.ogg;*.mpg;*.wav';

if listbox1.Count<>0 then i:=ListBox1.ItemIndex else i:=0;
//Äèàëîã îòêğûòèÿ ôàéëà
if not OpenDialog1.Execute then exit;
  begin
  for j:=0 to OpenDialog1.Files.Count-1 do
    begin
    //çàïîëíÿåì PlayList

     ListBox1.Items.Add(extractfilename(OpenDialog1.Files.Strings[j]));
     ListBox2.Items.Add(extractfilename(OpenDialog1.Files.Strings[j]));
    end;
  end;
  //çàïîìèíàåì èìÿ ôàéëà òåêóùåé ïåñíè â ïëåéëèñòå
   Filename:=ListBox1.Items.Strings[i];

   ListBox2.ItemIndex:=i;
label3.Caption:=opendialog1.FileName;
label3.caption:=extractfilename(opendialog1.filename);
pngbutton9.Visible:=false;
pngbutton10.Visible:=true;
if mode=play then exit ;

player;
end;

procedure TForm_player.PNGButton1Click(Sender: TObject);
begin
close;
end;

procedure TForm_player.PNGButton9Click(Sender: TObject);
begin
pngbutton9.Visible:=false;
pngbutton10.Visible:=true;
 i:=ListBox2.Itemindex;
 Filename:=ListBox1.Items.Strings[i];
Label3.caption := ListBox2.Items.Strings[listbox2.ItemIndex];

Label3.caption := ExtractFilename(label3.Caption);
 player;
end;

procedure TForm_player.PNGButton10Click(Sender: TObject);
begin
pngbutton9.Visible:=true;
pngbutton10.Visible:=false;
if mode=play then
begin
 BASS_ChannelPause(Channel);//îñòàíàâëèâàåì âîñïğîèçâåäåíèå - ïàóçà
 mode:=paused;//óñòàíàâëèâàåì playmode -> ïàóçà
end;
end;

procedure TForm_player.PNGButton12Click(Sender: TObject);
begin
pngbutton9.Visible:=true;
pngbutton10.Visible:=false;
if mode=play then
begin
 BASS_ChannelStop(Channel);//îñòàíàâëèâàåì âîñïğîèçâåäåíèå - ñòîï
 mode:=Stop;//óñòàíàâëèâàåì playmode -> ñòîï
end;
end;

procedure TForm_player.PNGButton4Click(Sender: TObject);
begin
bsSkinPanel1.Visible:=false;
panel1.Show;
pngbutton4.Visible:=false;
pngbutton15.Visible:=true;
end;

procedure TForm_player.PNGButton8Click(Sender: TObject);
begin
pngbutton15.Visible:=false;
pngbutton4.Visible:=true;
panel1.Visible:=false;
end;

procedure TForm_player.Timer2Timer(Sender: TObject);
begin
Label3.caption:=copy(Label3.caption,2, length(Label3.caption)-1)+Label3.caption[1];

end;

procedure TForm_player.PNGButton15Click(Sender: TObject);
begin

panel1.visible:=false;
pngbutton15.Visible:=false;
pngbutton4.Visible:=true;
end;

procedure TForm_player.advtMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
var
  pos:integer;
begin
  pos:=round((100 / advt.Width)*x);//***ïîçèöèÿ êëèêà

  advt.position:=(BASS_ChannelGetLength(channel, 0) div 100) * pos ;
if mode=play then exit ;

player;
 end;


procedure TForm_player.Clear1Click(Sender: TObject);
begin
Listbox1.Clear;
Listbox2.Clear;
end;

procedure TForm_player.arkSilme1Click(Sender: TObject);
begin
Listbox1.DeleteSelected;
Listbox2.DeleteSelected;
end;

procedure TForm_player.arkEkleme1Click(Sender: TObject);
var
  j: integer;
begin

 OpenDialog1.Title  := 'Open Files';
 OpenDialog1.Filter := 'All|*.mp3;*.ogg;*.mpg;*.wav';

if listbox1.Count<>0 then i:=ListBox1.ItemIndex else i:=0;
//Äèàëîã îòêğûòèÿ ôàéëà
if not OpenDialog1.Execute then exit;
  begin
  for j:=0 to OpenDialog1.Files.Count-1 do
    begin
    //çàïîëíÿåì PlayList

     ListBox1.Items.Add(extractfilename(OpenDialog1.Files.Strings[j]));
     ListBox2.Items.Add(extractfilename(OpenDialog1.Files.Strings[j]));
    end;
  end;
  //çàïîìèíàåì èìÿ ôàéëà òåêóùåé ïåñíè â ïëåéëèñòå
   Filename:=ListBox1.Items.Strings[i];

   ListBox2.ItemIndex:=i;
label3.Caption:=opendialog1.FileName;
label3.caption:=extractfilename(opendialog1.filename);
pngbutton9.Visible:=false;
pngbutton10.Visible:=true;
if mode=play then exit ;

player;

end;

procedure TForm_player.ListBox1DragDrop(Sender, Source: TObject; X,
  Y: Integer);
 var
    DropPosition, StartPosition: Integer;
    DropPoint: TPoint;
 begin
    DropPoint.X := X;
    DropPoint.Y := Y;
    with Source as TListBox do
    begin
      StartPosition := ItemAtPos(StartingPoint,True) ;
      DropPosition := ItemAtPos(DropPoint,True) ;

      Items.Move(StartPosition, DropPosition) ;
    end;

end;

procedure TForm_player.ListBox1DragOver(Sender, Source: TObject; X,
  Y: Integer; State: TDragState; var Accept: Boolean);
begin
     Accept := Source = ListBox1;
end;

procedure TForm_player.ListBox1MouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  StartingPoint.X := X;
    StartingPoint.Y := Y;
end;

procedure TForm_player.FormDestroy(Sender: TObject);
begin
 DragAcceptFiles(Handle, False);
end;

procedure TForm_player.PNGButton2Click(Sender: TObject);
begin
application.Minimize;
end;

procedure TForm_player.ListBox2DblClick(Sender: TObject);
begin
 i:=ListBox2.Itemindex;
 Filename:=ListBox1.Items.Strings[i];
 mode:=stop;
Label3.caption := ListBox2.Items.Strings[listbox2.ItemIndex];

Label3.caption := ExtractFilename(label3.Caption);
 player;
end;

procedure TForm_player.ListBox2DragDrop(Sender, Source: TObject; X,
  Y: Integer);
var
    DropPosition, StartPosition: Integer;
    DropPoint: TPoint;
 begin
    DropPoint.X := X;
    DropPoint.Y := Y;
    with Source as TListBox do
    begin
      StartPosition := ItemAtPos(StartingPoint,True) ;
      DropPosition := ItemAtPos(DropPoint,True) ;

      Items.Move(StartPosition, DropPosition) ;
    end;
end;

procedure TForm_player.ListBox2DragOver(Sender, Source: TObject; X,
  Y: Integer; State: TDragState; var Accept: Boolean);
begin
 Accept := Source = ListBox2;
end;

procedure TForm_player.PNGButton16Click(Sender: TObject);
begin

form5.show;
pngbutton20.Visible:=true;
pngbutton16.Visible:=false;
end;

procedure TForm_player.bsSkinTrackBar1Change(Sender: TObject);
begin
BASS_FXGetParameters(fx[1], @p);
p.fgain := 15-bsSkinTrackBar1.value;
BASS_FXSetParameters(fx[1], @p);
end;

procedure TForm_player.bsSkinTrackBar2Change(Sender: TObject);
begin
BASS_FXGetParameters(fx[2], @p);
p.fgain := 15-bsSkinTrackBar2.value;
BASS_FXSetParameters(fx[2], @p);
end;

procedure TForm_player.bsSkinTrackBar3Change(Sender: TObject);
begin
BASS_FXGetParameters(fx[3], @p);
p.fgain := 15-bsSkinTrackBar3.value;
BASS_FXSetParameters(fx[3], @p);
end;

procedure TForm_player.bsSkinTrackBar5Change(Sender: TObject);
begin
BASS_FXGetParameters(fx[5], @p);
p.fgain := 15-bsSkinTrackBar5.value;
BASS_FXSetParameters(fx[5], @p);
end;

procedure TForm_player.bsSkinTrackBar4Change(Sender: TObject);
begin
BASS_FXGetParameters(fx[4], @p);
p.fgain := 15-bsSkinTrackBar4.value;
BASS_FXSetParameters(fx[4], @p);
end;

procedure TForm_player.bsSkinTrackBar6Change(Sender: TObject);
begin
BASS_FXGetParameters(fx[6], @p);
p.fgain := 15-bsSkinTrackBar6.value;
BASS_FXSetParameters(fx[6], @p);
end;

procedure TForm_player.bsSkinTrackBar7Change(Sender: TObject);
begin
BASS_FXGetParameters(fx[7], @p);
p.fgain := 15-bsSkinTrackBar7.value;
BASS_FXSetParameters(fx[7], @p);
end;

procedure TForm_player.bsSkinTrackBar8Change(Sender: TObject);
begin
BASS_FXGetParameters(fx[8], @p);
p.fgain := 15-bsSkinTrackBar8.value;
BASS_FXSetParameters(fx[8], @p);
end;

procedure TForm_player.bsSkinTrackBar9Change(Sender: TObject);
begin
BASS_FXGetParameters(fx[9], @p);
p.fgain := 15-bsSkinTrackBar9.value;
BASS_FXSetParameters(fx[9], @p);
end;

procedure TForm_player.PNGButton19Click(Sender: TObject);
begin
bsSkinTrackBar1.Value:=50;
bsSkinTrackBar2.Value:=50;
bsSkinTrackBar3.Value:=50;
bsSkinTrackBar4.Value:=50;
bsSkinTrackBar5.Value:=50;
bsSkinTrackBar6.Value:=50;
bsSkinTrackBar7.Value:=50;
bsSkinTrackBar8.Value:=50;
bsSkinTrackBar9.Value:=50;
end;

procedure TForm_player.PNGButton20Click(Sender: TObject);
begin
form5.hide;
pngbutton16.Visible:=true;
pngbutton20.Visible:=false;
end;

procedure TForm_player.PNGButton5Click(Sender: TObject);
begin
 form1.show;
end;

procedure TForm_player.PNGButton11Click(Sender: TObject);
begin
Bass_StreamFree(channel);
channel := Bass_StreamCreateFile(FALSE, pChar(listbox2.Items.Strings[listbox2.ItemIndex]), 0, 0, 0);
if listbox2.ItemIndex=Listbox2.Count-1 then ListBox2.ItemIndex:=-1;
ListBox2.ItemIndex:=ListBox2.ItemIndex+1;
i:=ListBox2.Itemindex;
 Filename:=ListBox1.Items.Strings[i];
 mode:=stop;
Label3.caption := ListBox2.Items.Strings[listbox2.ItemIndex];

Label3.caption := ExtractFilename(label3.Caption);
 player;
end;

procedure TForm_player.PNGButton14Click(Sender: TObject);
begin
Bass_StreamFree(channel);
channel := Bass_StreamCreateFile(FALSE, pChar(listbox2.Items.Strings[listbox2.ItemIndex]), 0, 0, 0);
if listbox2.ItemIndex=Listbox2.Count+1 then ListBox2.ItemIndex:=+1;
ListBox2.ItemIndex:=ListBox2.ItemIndex-1;
i:=ListBox2.Itemindex;
 Filename:=ListBox1.Items.Strings[i];
 mode:=stop;
Label3.caption := ListBox2.Items.Strings[listbox2.ItemIndex];

Label3.caption := ExtractFilename(label3.Caption);
 player;
end;

procedure TForm_player.Timer3Timer(Sender: TObject);
var Key: Word;
begin
if ListBox2.ItemIndex=-1 then //to avoid error if nothing selected "List out bound (-0)"
  begin
   ListBox2.ItemIndex:=i;
   Listbox2.ItemIndex:=ListBox2.ItemIndex;
   player;
  end else
   begin
 if mode=play then
begin
bass_channelplay(channel,false);//îñòàíàâëèâàåì âîñïğîèçâåäåíèå - ïàóçà

end;
   end;
  if (BASS_ChannelIsActive(channel) = 0) and (bass_channelpause(channel) = true) then
ListBox2.ItemIndex:=ListBox2.ItemIndex+1;

end;

procedure TForm_player.PNGButton18Click(Sender: TObject);
begin
pngbutton18.Visible:=false;
pngbutton21.Visible:=true;
timer3.Enabled:=true;
end;

procedure TForm_player.PNGButton21Click(Sender: TObject);
begin
pngbutton21.Visible:=false;
pngbutton18.Visible:=true;
timer3.Enabled:=false;
end;

procedure TForm_player.Image6Click(Sender: TObject);
var
  j: integer;
begin

 OpenDialog1.Title  := 'Open Files';
 OpenDialog1.Filter := 'All|*.mp3;*.ogg;*.mpg;*.wav';

if listbox1.Count<>0 then i:=ListBox1.ItemIndex else i:=0;
//Äèàëîã îòêğûòèÿ ôàéëà
if not OpenDialog1.Execute then exit;
  begin
  for j:=0 to OpenDialog1.Files.Count-1 do
    begin
    //çàïîëíÿåì PlayList

     ListBox1.Items.Add(extractfilename(OpenDialog1.Files.Strings[j]));
     ListBox2.Items.Add(extractfilename(OpenDialog1.Files.Strings[j]));
    end;
  end;
  //çàïîìèíàåì èìÿ ôàéëà òåêóùåé ïåñíè â ïëåéëèñòå
   Filename:=ListBox1.Items.Strings[i];

   ListBox2.ItemIndex:=i;
label3.Caption:=opendialog1.FileName;
label3.caption:=extractfilename(opendialog1.filename);
pngbutton9.Visible:=false;
pngbutton10.Visible:=true;
if mode=play then exit ;

player;


end;

procedure TForm_player.Image7Click(Sender: TObject);
begin
Listbox1.DeleteSelected;
Listbox2.DeleteSelected;
end;

procedure TForm_player.Image9Click(Sender: TObject);
begin
Bass_StreamFree(channel);
channel := Bass_StreamCreateFile(FALSE, pChar(listbox2.Items.Strings[listbox2.ItemIndex]), 0, 0, 0);
if listbox2.ItemIndex=Listbox2.Count-1 then ListBox2.ItemIndex:=-1;
ListBox2.ItemIndex:=ListBox2.ItemIndex+1;
i:=ListBox2.Itemindex;
 Filename:=ListBox1.Items.Strings[i];
 mode:=stop;
Label3.caption := ListBox2.Items.Strings[listbox2.ItemIndex];

Label3.caption := ExtractFilename(label3.Caption);
 player;
end;

procedure TForm_player.Image8Click(Sender: TObject);
begin
Bass_StreamFree(channel);
channel := Bass_StreamCreateFile(FALSE, pChar(listbox2.Items.Strings[listbox2.ItemIndex]), 0, 0, 0);
if listbox2.ItemIndex=Listbox2.Count+1 then ListBox2.ItemIndex:=+1;
ListBox2.ItemIndex:=ListBox2.ItemIndex-1;
i:=ListBox2.Itemindex;
 Filename:=ListBox1.Items.Strings[i];
 mode:=stop;
Label3.caption := ListBox2.Items.Strings[listbox2.ItemIndex];

Label3.caption := ExtractFilename(label3.Caption);
 player;
end;

procedure TForm_player.PNGButton7Click(Sender: TObject);
var
  j: integer;
begin

 OpenDialog1.Title  := 'Open Files';
 OpenDialog1.Filter := 'All|*.mp3;*.ogg;*.mpg;*.wav';

if listbox1.Count<>0 then i:=ListBox1.ItemIndex else i:=0;
//Äèàëîã îòêğûòèÿ ôàéëà
if not OpenDialog1.Execute then exit;
  begin
  for j:=0 to OpenDialog1.Files.Count-1 do
    begin
    //çàïîëíÿåì PlayList

     ListBox1.Items.Add(extractfilename(OpenDialog1.Files.Strings[j]));
     ListBox2.Items.Add(extractfilename(OpenDialog1.Files.Strings[j]));
    end;
  end;
  //çàïîìèíàåì èìÿ ôàéëà òåêóùåé ïåñíè â ïëåéëèñòå
   Filename:=ListBox1.Items.Strings[i];

   ListBox2.ItemIndex:=i;
label3.Caption:=opendialog1.FileName;
label3.caption:=extractfilename(opendialog1.filename);
pngbutton9.Visible:=false;
pngbutton10.Visible:=true;
if mode=play then exit ;

player;

end;

procedure TForm_player.PNGButton17Click(Sender: TObject);
begin
  if DosyaTuruSil(edit1.Text) then ShowMessage('Dosya tipi silindi')
  else MessageBox(Handle,'Tür silinemedi','Uyarı',MB_ICONWARNING);
end;

procedure TForm_player.ListBox2Click(Sender: TObject);
begin
player;
end;

procedure TForm_player.ListBox1Click(Sender: TObject);
begin
player;
end;

end.

yardımlarınızı bekliyorum arkadaşlar...
Delhici
Üye
Mesajlar: 176
Kayıt: 20 Eyl 2003 09:04

Re: Listbox Yükleme Sorunu !!!!

Mesaj gönderen Delhici »

Merhaba Alyamus.. Kodlarının arasına biraz açıklama satırı eklersen süper olur . :D
Aşağıdaki bölümleri ekleyip deneyebilir misin?

Kod: Tümünü seç

DosyaAdi:=ParamStr(1);
    if FileExists(DosyaAdi) then listbox1.Items.Add(Dosyaadi);
    listbox2.Items.Add(extractfilename(dosyaadi));
   //küçük bir bekletme komutu
 sleep(2000);
application.processmessag
//burayada play komutu.. 
   ListBox2.Itemindex:=i;
    if (ParamCount>1) and SameText(ParamStr(2),'/msg') then ShowMessage('Menüden açılıyorum');
http://www.bargem.info
Yaşıyorum..... İnadına değil yaptıklarım. Herşey istediğim için oluyor. İstediğim için türkü dinliyorum. İstediğim için çalışıyorum. İstediğim için yaşıyorum ve istediğim için seni seviyorum...
Cevapla