pascal
Главная | Каталог статей | Регистрация | Вход
Суббота
19.07.2025
13:37
Приветствую Вас Гость | RSS
Главная » Статьи » Pascal » Программы

Player

Структура файлов

 /Play.M.exe

/Play.W.exe

/Module_Play.pcu

/Base/File

/Base/Command

/Base/play.jpg // фон

/Scripts/

uses
    GraphABC,
    Module_Play;
    
 const
     x = 400;
     y = 170;
 var
   m : integer := -100;
   Files : mas;
   Cmand : masC;
   CmandC : masH;
   fname : string := 'Здесь будет обображаться имя файла';
 
  Procedure Window ();
   begin
    SetWindowHeight (y);
    SetWindowWidth (x);
    SetWindowIsFixedSize (true);
    SetWindowTitle ('PLAY! by cccc1808 v2.2');
    SetWindowTop (50);
    SetWindowLeft (ScreenWidth-(x+30));
    
    SetPenWidth(5);
    SetFontSize (12);
    SetFontColor (clOrange);
    SetPenColor (clSilver);
    
   end;
   
  function menu (Cmn : masH; f : string) : integer;
   var
     s : string;
     i : integer;
     m : integer := -100;
   begin
    FillWindow ('Base/play.jpg');
    TextOut (10,5,'<<Управляй командами :.');
    line (0,35,x,35);
    TextOut (40,40,'<w - Список файлов');
    TextOut (40,70,'<v - Список команд');
    TextOut (15,100,'<Число - воспроизвести соответсвующий элемент');
    TextOut (5,140,f);
    //TextOut (340,150,'0 - Exit');
    
    Line (0,65,x,65);
    Line (0,90,x,90);
    Line (0,130,x,130);    
    readln (s);
     if s = '' then
      s := '-50';
    case s[1] of
     'w' : m := -1;
     'v' : m := -2;
     'l' : m := -3;
     '0'..'9' : m := StrToInt (s);
     else
        begin
         for i := n1 to n2 do
          if s[1] = Cmn[i] then
           m := -i;
        end;
    end;

     Result := m;
   end;
 
  function Run (a : Mas; p : integer) : string;
   var
     l : integer;
     Name : string := 'NoName';
   begin
    
    l := Length (a);
    if p <= l then
     begin
     p := p -1;
    If FIleExists (a[p]) then
     begin
     
      Name := Fn (p);
      Exec (a[p]);
     end
    else
     Name := 'Not found';
      end;
    Result := Name;
   end;
  
  procedure PlayerP (a : integer; b : masC);
   const
       e = '.exe';
   begin
    a := Abs (a);
    if FileExists (Ai+b[a]+e) then
     Exec (Ai+b[a]+e);  
   end;
 
 begin
  Window ();
  RBF (FileS);
  RBC (Cmand);
  RBH (CmandC);
  
  While m <> 0 do
   begin
    m := menu(CmandC,fname);
    case m of
     -1 : Exec ('Play.W.exe','1');
     -2 : Exec ('Play.W.exe','2');
     -3 : Exec ('LinkOpen.exe');
     -n2..-n1 : PlayerP (m,Cmand);
     
     1..1000 : fname := Run(FileS,m);
    end;
   
   end;
  CloseWindow;
 end.

 

 unit Module_Play;
 
 interface
  const
      fl = 'Base/file';
      Cm = 'Base/Command';
      Ai = 'Scripts\';
      n1 = 4; n2 = 14;
  type
     mas  = array of string;
     masC = array [n1..n2] of string;
     masH = array [n1..n2] of char;
     
 
// - - - - - - - - - - -   
  
  procedure RBN (var a : mas);
  procedure RBF (var a : mas);
  procedure RBC (var a : masC);
  procedure RBH (var a : masH);
  function FN (p : integer) : string;
  
 
//-----------------------------------------------------------------
 
 implementation
  
  
  procedure RBN (var a : mas);
   var
     t : text;
     l : integer;
   
   begin
    if FileExists (fl) then
     begin
      assign (t,fl);
      reset (t);
    
      l := 0;
   
      While Not Eof (t) do
       begin
        l := l +1;
        SetLength (a,l);
        readln (t,a[l-1]);
        readln (t);        
       end;
       
      close (t);
     end;
  end;
  
  procedure RBF (var a : mas);
   var
     t : text;
     l : integer;
   
   begin
    if FileExists (fl) then
     begin
      assign (t,fl);
      reset (t);
    
      l := 0;
   
      While Not Eof (t) do
       begin
        l := l +1;
        SetLength (a,l);
        readln (t);
        readln (t,a[l-1]);      
       end;
       
      close (t);
     end;
   end;
   
   
  procedure RBC (var a : masC);
   var
     t : text;
     i : integer;
   begin
    
     if FileExists (Cm) then
      begin
       assign (t,Cm);
       reset (t);
   
        for i := n1 to n2 do
         begin
          readln (t);   
          readln (t,a[i]);  
         end;
       
      close (t);
     end;
   end;
  
  
  procedure RBH (var a : masH);
   var
     t : text;
     i : integer;
   begin
        if FileExists (Cm) then
     begin
      assign (t,Cm);
      reset (t);
    
   
      for i := n1 to n2 do
       begin
        readln (t,a[i]);
        readln (t);
       end;
       
      close (t);
     end;
   end;
   
  function FN (p : integer) : string;
   var
     t : text;
     i : integer;
     name : string;
   begin
    if FileExists (fl) then
     begin
      assign (t,fl);
      reset (t);
      i := 1;
      
       While i <= p do
        begin
         readln (t);
         readln (t);
         i := i +1;
        end;
      readln (t,name);
      Result := name;  
      close (t);
     end;
   end;

 
 end.

 

 uses
    crt, 
    Module_Play;
 var
   m : string;
 
 procedure WrF();
  var
    NameS : mas;
    l,i : integer;
  begin
   ClrScr;
   RBN (NameS);
   l :=  Length (NameS);
   if l <> 0 then
    begin
     writeln ('Base :');
     for i := 0 to l-1 do
      writeln (i+1,') ',NameS[i]);
    end
   else
    writeln ('Base clear or error');
  end; 
 
 procedure WrC ();
  var
    a : masC;
    b : masH;
    i : integer;
  begin
   ClrScr;
   RBC (a);
   RBH (b);
   writeln ('Команда - дейтсвие');
    for i := n1 to n2 do
     writeln (b[i],' - ',a[i]);
  end;
 
 begin
  m := ParamStr(1);
  case m[1] of
   '1' : WrF();
   '2' : WrC();
  end;
   readln ();
 end.

 

Пример файла с музыкой

Машина времени - костер
H:\Media\музыка\Машина времени - костер.mp3

Rogue Legacy
H:\Media\музыка\Rogue Legacy Original Soundtrack by Tettix & A Shell in the Pit (2013) [MP3, V0]\Rogue.aimppl

 

Пример файла команд

g
Play.or.Pause
t
Stop
>
Next
<
Prev
+
VolumeUp
-
VolumeDown
m
Mute
c
Playlist
b
Browser
r
Radio
l
OpenLink

 

Пример скриптов

@echo off
cd /d "C:\Program Files\AIMP3"
AIMP3.exe /PAUSE
echo Ok
@echo on

@echo off
cd /d "C:\Program Files\AIMP3"
AIMP3.exe /NEXT
echo Ok
@echo on

@echo off
cd /base
notepad file

@echo off
cd /d "C:\Program Files\AIMP3"
AIMP3.exe /NEXT
echo Ok
@echo on

@echo off
start http:\\vk.com
start http:\\mail.ru

Категория: Программы | Добавил: cccc1808 (28.05.2015)
Просмотров: 256 | Рейтинг: 0.0/0
Всего комментариев: 0
avatar
Вход на сайт
Поиск
Copyright MyCorp © 2025
Бесплатный хостинг uCoz