Информатика. Программирование в Delphi
          
        
        
          
            321
          
        
        
          exit;
        
        
          
            //если имя файла уже выбрано ранее
          
        
        
          if MediaPlayer1.FileName<>'' then
        
        
          
            //закрытие ранее открытого файла
          
        
        
          MediaPlayer1.Close;
        
        
          
            //новое имя файла
          
        
        
          MediaPlayer1.FileName:=OpenDialog1.FileName;
        
        
          
            //открытие файла
          
        
        
          MediaPlayer1.Open;
        
        
          
            //видео не воспроизводится
          
        
        
          pause:=true;
        
        
          
            //загрузка изображения
          
        
        
          SpeedButton1.Glyph.LoadFromFile(dir+'Play.bmp');
        
        
          
            //заголовок формы - имя открытого файла
          
        
        
          Form1.Caption:=ExtractFileName(MediaPlayer1.FileName);
        
        
          
            //минимальное значение диапазона
          
        
        
          ProgressBar1.Min:=0;
        
        
          
            //максимальное значение диапазона
          
        
        
          
            //количество кадров в файле
          
        
        
          ProgressBar1.Max:=MediaPlayer1.Length;
        
        
          
            //текущая позиция
          
        
        
          ProgressBar1.Position:=0;
        
        
          
            //шаг
          
        
        
          ProgressBar1.Step:=1;
        
        
          
            //вид индикатора - сплошной
          
        
        
          ProgressBar1.Smooth:=true;
        
        
          
            //получение продолжительности фильма
          
        
        
          GetHMS(MediaPlayer1.Length,h,m,s);
        
        
          
            //реальная ширина кадра
          
        
        
          rw:=MediaPlayer1.DisplayRect.Right;
        
        
          
            //реальная высота кадра
          
        
        
          rh:=MediaPlayer1.DisplayRect.Bottom;
        
        
          
            //если ширина больше высоты
          
        
        
          if rw>rh then
        
        
          begin
        
        
          
            //ширина кадра
          
        
        
          dw:=Panel1.Width-6;
        
        
          
            //высота кадра
          
        
        
          dh:=round(dw*rh/rw);
        
        
          
            //координаты левого верхнего угла кадра
          
        
        
          l:=3;
        
        
          t:=(Panel1.Height div 2) - (dh div 2);
        
        
          end
        
        
          
            //если высота больше ширины
          
        
        
          else
        
        
          begin
        
        
          
            //высота кадра