www.pudn.com > telephonefordelphi.rar > UnitPlay.pas


unit UnitPlay; 
 
interface 
 
uses 
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, 
  StdCtrls,mmsystem, Menus,shellapi; 
 
type 
  TFormPlay = class(TForm) 
    ListBox1: TListBox; 
    Button1: TButton; 
    Button2: TButton; 
    PopupMenu1: TPopupMenu; 
    N1: TMenuItem; 
    N2: TMenuItem; 
    Button3: TButton; 
    procedure Button2Click(Sender: TObject); 
    procedure FormShow(Sender: TObject); 
    procedure ListBox1DblClick(Sender: TObject); 
    procedure Button1Click(Sender: TObject); 
    procedure N1Click(Sender: TObject); 
    procedure N2Click(Sender: TObject); 
    procedure Button3Click(Sender: TObject); 
  private 
    { Private declarations } 
  public 
    { Public declarations } 
  end; 
 
var 
  FormPlay: TFormPlay; 
 
implementation 
 
{$R *.DFM} 
 
procedure TFormPlay.Button2Click(Sender: TObject); 
begin 
close; 
end; 
 
procedure TFormPlay.FormShow(Sender: TObject); 
var 
  sr: TSearchRec; 
  i:integer; 
begin 
   listbox1.clear; 
   i:=FindFirst(extractfilepath(paramstr(0))+'????-*.wav',faAnyFile and not faDirectory, sr); 
   while i=0 do 
   begin 
      listbox1.items.add(sr.name); 
      i:=FindNext(sr); 
   end; 
   if listbox1.items.count>0 then listbox1.itemindex:=listbox1.items.count-1; 
end; 
 
procedure TFormPlay.ListBox1DblClick(Sender: TObject); 
var 
   s1,s2:string; 
   path:array[0..256]of char; 
begin 
   if listbox1.itemindex=-1 then exit; 
   GetWindowsDirectory(path,sizeof(path)); 
   s1:=strpas(path); 
   if s1[length(s1)]<>'\' then s1:=s1+'\'; 
   s1:=s1+'SNDREC32.EXE'; 
   s2:=extractfilepath(paramstr(0))+listbox1.items[listbox1.itemindex]; 
   if fileexists(s1) then 
      winexec(pchar(s1+' '+s2),SW_SHOWNORMAL) 
   else sndplaysound(pchar(s2),snd_async); // or snd_Memory 
end; 
 
procedure TFormPlay.Button1Click(Sender: TObject); 
begin 
   ListBox1DblClick(Sender); 
end; 
 
procedure TFormPlay.N1Click(Sender: TObject); 
begin 
   ListBox1DblClick(Sender); 
end; 
 
procedure TFormPlay.N2Click(Sender: TObject); 
var 
   lpFileOp: TSHFileOpStruct; 
begin 
   if listbox1.itemindex=-1 then exit; 
   with lpFileOp do 
   begin 
      Wnd := Self.Handle; 
      wFunc := FO_DELETE; 
      pFrom := pchar(extractfilepath(paramstr(0))+listbox1.items[listbox1.itemindex]+#0#0); 
      pTo := nil; 
      fFlags := FOF_ALLOWUNDO; 
      hNameMappings := nil; 
      lpszProgressTitle := nil; 
      fAnyOperationsAborted := True; 
   end; 
   SHFileOperation(lpFileOp); 
   formshow(sender); 
end; 
 
procedure TFormPlay.Button3Click(Sender: TObject); 
begin 
  N2Click(Sender); 
end; 
 
end.