Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.06.2016, 21:18   #1
Ednikbod
Пользователь
 
Регистрация: 13.10.2015
Сообщений: 21
По умолчанию Переключение треков в плей-листе по нажатию кнопки "Вперёд"

Пытаюсь сделать в проигрывателе медиафайлов переключение воспроизведения с трека на трек в плей-листе, по нажатию кнопки "Вперёд". Все кнопки созданы в "Майн меню". Для решения этой задачи добавил на форму ярлык Label. Делал всё, ориентируясь на информацию, найденную в интернете.

Программа компилируется, запускается, но при нажатии кнопки "Вперёд" выдаёт ошибку: is not a valid integer value.

Может, кто-нибудь в состоянии подсказать: в чём ошибка?

Версия "Делфи" у меня: "Embarcadero Delphi 10.1 Berlin".

Вот код:

Код:
unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.MPlayer, Vcl.StdCtrls, Vcl.Menus;

type
  TForm1 = class(TForm)
    MediaPlayer1: TMediaPlayer;
    ListBox1: TListBox;
    OpenDialog1: TOpenDialog;
    MainMenu1: TMainMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    N3: TMenuItem;
    N4: TMenuItem;
    N5: TMenuItem;
    N6: TMenuItem;
    N7: TMenuItem;
    N8: TMenuItem;
    N9: TMenuItem;
    N10: TMenuItem;
    N11: TMenuItem;
    N12: TMenuItem;
    N13: TMenuItem;
    Label1: TLabel;
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure N3Click(Sender: TObject);
    procedure N4Click(Sender: TObject);
    procedure N5Click(Sender: TObject);
    procedure N7Click(Sender: TObject);
    procedure N8Click(Sender: TObject);
    procedure N9Click(Sender: TObject);
    procedure N10Click(Sender: TObject);
    procedure N12Click(Sender: TObject);
    procedure ListBox1DblClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  SL: TStringList;

implementation

{$R *.dfm}

procedure TForm1.N10Click(Sender: TObject);
begin
MediaPlayer1.FileName:=SL.Strings[ListBox1.ItemIndex];
MediaPlayer1.Stop;
end;

procedure TForm1.N12Click(Sender: TObject);
var I: integer;
begin
 Inc(I);
 I:=ListBox1.ItemIndex;
 I:=StrToInt(Label1.Caption);
 I:=I+1;
 Label1.Caption:=IntToStr(I);
end;

procedure TForm1.N3Click(Sender: TObject);
Var
 I: Integer;
begin
OpenDialog1.Options:=[ofHideReadOnly,ofAllowMultiSelect,ofEnableSizing];
 IF OpenDialog1.Execute Then
  Begin
   For I:=0 to OpenDialog1.Files.Count -1 do
    Begin
     SL.Add(OpenDialog1.Files[I]);
     ListBox1.Items.Add(ExtractFileName(OpenDialog1.Files[I]));
    End;
  End;
end;

procedure TForm1.N4Click(Sender: TObject);
begin
SL.Delete(ListBox1.ItemIndex);
ListBox1.Items.Delete(ListBox1.ItemIndex);
end;

procedure TForm1.N5Click(Sender: TObject);
begin
ListBox1.Clear;
end;

procedure TForm1.N7Click(Sender: TObject);
begin
Self.Close;
end;

procedure TForm1.N8Click(Sender: TObject);
begin
MediaPlayer1.FileName:=SL.Strings[ListBox1.ItemIndex];
MediaPlayer1.Open;
MediaPlayer1.Play;
end;

procedure TForm1.N9Click(Sender: TObject);
begin
MediaPlayer1.FileName:=SL.Strings[ListBox1.ItemIndex];
MediaPlayer1.Pause;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
SL:=TStringList.Create;
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
SL.Free;
end;

procedure TForm1.ListBox1DblClick(Sender: TObject);
begin
MediaPlayer1.FileName:=SL.Strings[ListBox1.ItemIndex];
MediaPlayer1.Open;
MediaPlayer1.Play;
end;

end.
Ednikbod вне форума Ответить с цитированием
Старый 21.06.2016, 22:11   #2
Ednikbod
Пользователь
 
Регистрация: 13.10.2015
Сообщений: 21
По умолчанию Проблему решил!

Проблему решил!
Вот полностью рабочий код программы:

Код:
unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.MPlayer, Vcl.StdCtrls, Vcl.Menus;

type
  TForm1 = class(TForm)
    MediaPlayer1: TMediaPlayer;
    ListBox1: TListBox;
    OpenDialog1: TOpenDialog;
    MainMenu1: TMainMenu;
    N3: TMenuItem;
    N4: TMenuItem;
    N5: TMenuItem;
    N8: TMenuItem;
    N9: TMenuItem;
    N10: TMenuItem;
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure N3Click(Sender: TObject);
    procedure N4Click(Sender: TObject);
    procedure N5Click(Sender: TObject);
    procedure N8Click(Sender: TObject);
    procedure N9Click(Sender: TObject);
    procedure N10Click(Sender: TObject);
    procedure ListBox1DblClick(Sender: TObject);
    procedure N7Click(Sender: TObject);
    procedure N12Click(Sender: TObject);
    procedure N13Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  SL: TStringList;

implementation

{$R *.dfm}

procedure TForm1.N10Click(Sender: TObject);
begin
MediaPlayer1.FileName:=SL.Strings[ListBox1.ItemIndex];
MediaPlayer1.Stop;
end;

procedure TForm1.N12Click(Sender: TObject);
begin
ListBox1.ItemIndex:=ListBox1.ItemIndex+1;
MediaPlayer1.FileName:=SL.Strings[ListBox1.ItemIndex];
MediaPlayer1.Open;
MediaPlayer1.Play;
end;

procedure TForm1.N13Click(Sender: TObject);
begin
ListBox1.ItemIndex:=ListBox1.ItemIndex-1;
MediaPlayer1.FileName:=SL.Strings[ListBox1.ItemIndex];
MediaPlayer1.Open;
MediaPlayer1.Play;
end;

procedure TForm1.N3Click(Sender: TObject);
Var
 I: Integer;
begin
OpenDialog1.Options:=[ofHideReadOnly,ofAllowMultiSelect,ofEnableSizing];
 IF OpenDialog1.Execute Then
  Begin
   For I:=0 to OpenDialog1.Files.Count -1 do
    Begin
     SL.Add(OpenDialog1.Files[I]);
     ListBox1.Items.Add(ExtractFileName(OpenDialog1.Files[I]));
    End;
  End;
end;

procedure TForm1.N4Click(Sender: TObject);
begin
SL.Delete(ListBox1.ItemIndex);
ListBox1.Items.Delete(ListBox1.ItemIndex);
end;

procedure TForm1.N5Click(Sender: TObject);
begin
ListBox1.Clear;
end;

procedure TForm1.N7Click(Sender: TObject);
begin
Self.Close;
end;

procedure TForm1.N8Click(Sender: TObject);
begin
MediaPlayer1.FileName:=SL.Strings[ListBox1.ItemIndex];
MediaPlayer1.Open;
MediaPlayer1.Play;
end;

procedure TForm1.N9Click(Sender: TObject);
begin
MediaPlayer1.FileName:=SL.Strings[ListBox1.ItemIndex];
MediaPlayer1.Pause;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
SL:=TStringList.Create;
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
SL.Free;
end;

procedure TForm1.ListBox1DblClick(Sender: TObject);
begin
MediaPlayer1.FileName:=SL.Strings[ListBox1.ItemIndex];
MediaPlayer1.Open;
MediaPlayer1.Play;
end;

end.
Ednikbod вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Для заданной строки определить все входящие в неё символ. Например: строка "abccbbabbac" состоит из символов "a", "b" и "c" Sandakan01 Помощь студентам 1 24.02.2016 03:20
Как "повесить " передачу данных из формы на событие нажатия кнопки типа "button" ? vedro-compota JavaScript, Ajax 10 14.12.2010 21:05
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" aleksei78 Microsoft Office Excel 13 25.08.2009 12:04