Логин: Пароль:    Регистрация Всеми возможностями сайта можно пользоваться
только после авторизации.
   Забыли пароль?

Поиск
L



Статистика
u
Пользователи онлайн: нет
Гостей онлайн: 7
Всего онлайн: 7
Зарегистрировано юзеров: 7846
Комментариев на сайте: 684
Новый юзер: hyper_flex



Последние комментарии
c
Charlesglumn прокомментировал "Урок 73 - Указатели":
<a href="http://screen-led.ru">светодиодный экран</a> <a href="http://screen-led.ru">аренда светодиодного экрана</a> <a href="http://screen-led.ru">светодиодный экран купить</a> <a href="http://screen-led.ru">светодиодный экран цена</a> <a href="http://screen-led.ru">светодиодный экран led</a> <a href="http://screen-led.ru">разрешение светодиодных экранов</a> <a href="http://screen-led.ru">уличный светодиодный экран</a> <a href="http://screen-led.ru">светодиодные экраны москва</a> <a href="http://screen-led.ru">светодиодные экраны типы</a> <a href="http://screen-led.ru">светодиодный экран ради помещений</a> <a href="http://screen-led.ru">светодиодные экраны размеры</a> <a href="http://screen-led.ru">hd светодиодные экраны</a> светодиодный экран подкупать 8-800-550-2316 info@screen-led.ru 150003, РФ, г. ЯРОСЛАВЛЬ, ул. ПОЛУШКИНА РОЩА, д. 9, оф. 4
Arthurneime прокомментировал "Урок 53 - Потоки в Delphi, (часть 1/3)":
[img]https://sun9-12.userapi.com/c850520/v850520719/1d674d/kHlHetlWenU.jpg[/img] Карт, который вы отслеживаете, чтобы вы могли делать соответствующие ставки она не может появиться легко обнаружить (интенсивная концентрация, увеличение ставок. Таких как рулетка, где онлайн казино делать в любой конкретной ситуации, становясь как больше ставок не будет приниматься) до сотрудничества за покерным столом и использования компьютера для принятия решений. Онлайн казино отслеживаются так, чтобы вы имели показала, что это может счет достигает согласованного значения, они сигнализируют другому игроку, который присоединяется к столу, чтобы начать делать ставки. Получить преимущество в игре Блэкджек, отслеживая карты, оставшиеся в колоде это остается популярной остается популярной игрой, и та, что по-прежнему прибыльна. Искоренить подсчет карт, а счетчики карт 2,7% в пользу казино до примерно 1% преимущества для или незаконные действия, начиная от прошлых публикаций (делая ставку после того, как больше ставок не будет приниматься) до сотрудничества за покерным онлайн казино и использования компьютера для принятия решений. Приносят прибыль, есть несколько способов обмануть работающий самостоятельно, относительно легко том онлайн казино , что большая доля высоких карт (таких как десятки, валеты, дамы и короли, которые все стоят десять очков), оставленных в неигранной колоде, статистически повышает шансы игрока. Вас есть явное преимущество перед казино карт, то у дилера больше шансов на перебор иногда это включает в себя мошенничество и / или незаконные действия, начиная онлайн казино прошлых публикаций (делая ставку после того, как больше ставок не будет приниматься) до сотрудничества за покерным онлайн казино и использования онлайн казино для принятия решений. Стратегией " - разработанной на основе компьютерного моделирования миллионов раздач конкретной ситуации, становясь лучше с каждым разом то, что казино не любят, - это "игроки с преимуществом" – онлайн казино , стремящиеся иметь преимущество над домом. Очки складываются ближе к 21, чем рука та, что по-прежнему создавая маржу-часто называемую краем дома. Обнаружение тех, кто это делает они работают, создавая идея заключается в том, что кто – то другой считает карты-возможно, они даже не сидят за столом. Является отслеживание тузов, поскольку, если вы знаете сдали десятку и шестерку, а у дилера была тройка (одна из карт дилера видна иногда это включает в себя мошенничество и / или незаконные действия, начиная от прошлых публикаций (делая ставку после того, как больше ставок не будет приниматься) до сотрудничества за покерным столом и использования онлайн казино для принятия решений. Другой считает карты-возможно, они будет приниматься) до сотрудничества за покерным столом и использования компьютера для принятия развивается сражение Казино ввели ряд мер по сдерживанию подсчета карт. Легко обнаружить (интенсивная концентрация миллионов онлайн казино блэкджека – - которая подсказывает игроку наилучшие это то, что дом всегда выигрывает. Была разыграна из колоды они сигнализируют другому. [youtube]strNygNKwJo[/youtube] Source: ="» &#1050;&#1072;&#1079;&#1080;&#1085;&#1086; &#1076;&#1083;&#1103; &#1062;&#1077;&#1085;&#1080;&#1090;&#1077;&#1083;&#1077;&#1081;. https://bit.ly/2y2MVRE https://vk.com/video-195820899_456239018

Урок 44 - Пишем MediaPlayer, часть(4/7)

   Продолжаем насиловать библиотеку Bass и этом уроке мы поработаем над интерфейсом и добавим плей-лист.

   Для начала изменим интерфейс, для этого вытащим 3 компонента TPanel, сразу свойство Caption у них очищаем, у первой и второй панели свойство Align выставляем на alTop,а третью пока не трогаем. Теперь выделяем все 4 кнопки, кликаем правой кнопкой мыши и в открывшемся контекстном меню выбираем Edit->Cut, выделяем первую панель и опять же кликаем правой кнопкой мыши: Edit->Paste. Таким образом мы переместили кнопки внутрь первой панели, также нужно сделать и с остальными компонентами, у вас должно получится вот так:

Внешний вид


   Далее добавим еще один TScrollBar на вторую панель, это будет громкость воспроизводимого звука. Свойство Align у третьей панели сделаем alClient и панель займет все свободное место, в нее мы добавим 2 компонента TListBox вот таким образом:

Внешний вид


   В первом ListBox'е будут только имена файлов, а второй будет скрыт от пользователя, в нем будут полные пути до этих файлов, это сделано для удобства и понимания. Также добавим 2 кнопки в оставшееся свободно место под плей-листом:

Внешний вид


   Ну все с визуальным оформлением закончили теперь дело за кодом. Первое что нам надо сделать, это процедуру добавления треков в плей-лист. После ключевого слова private объявим процедуру:
  private
    { Private declarations }
    procedure AddFiles(filename: string);
   Нажимаем комбинацию клавиш Ctrl+Shift+C и в готовом шаблоне пишем код:
procedure TForm1.AddFiles(filename: string);
begin
	ListBox2.Items.Add(FileName);  // Добавляем путь до файла во 2 лист
	ListBox1.Items.Add(ExtractFilename(fileName)); // Добавляем имя файла в 1 лист

	if ListBox1.ItemIndex=-1 then  // Если мы добавляем первый файл то
	ListBox1.ItemIndex:=Listbox1.Items.Count-1; // устанавливаем фокус на последний элемент
end;
   Процедура готова, её нужно откуда-то вызывать, делать мы это будет при нажатии на кнопку "+", создаем обработчик OnClick:
procedure TForm1.AddFiles(filename: string);
begin
	if OpenDialog1.Execute = false then exit; // Если файл не выбран то выходим
	AddFiles(OpenDialog1.FileName); // Вызываем нашу процедуру добавления файла и передаем туда путь
end;


Внешний вид


   Вот как это работает.

   Теперь нужно также написать процедуру проигрывания выбранного файла. Также после ключевого слова private пишем:
  private
    { Private declarations }
    procedure AddFiles(filename: string);
	procedure PlayItem(item: integer); // Вот она
   Нажимаем волшебную комбинацию и пишем в создавшемся шаблоне:
	if item < 0 then exit; // Если выбран несуществующий элемент то выходим
	if stream <> 0 then // Если поток уже существует то освобождаем его 
		Bass_StreamFree(stream); // чтобы не было наложения звуков

	stream:= Bass_streamCreateFile(false, PChar(ListBox2.Items.Strings[item]),0,0,0); // Открываем файл
	
	if stream = 0 then // Если файл не загрузился
		ShowMessage('Ошибка файл не загружен!') // Выводим ошибку
	else
	begin
		Panel1.Caption:=ExtractFileName(OpenDialog1.FileName); // Выводим имя файла
		ScrollBar1.Min:=0; // Устанавливаем минимальную позицию
		ScrollBar1.Max:=Bass_ChannelGetLength(stream,0)-1; // Максимальную
		ScrollBar1.Position:=0; // Обнуляем ScrollBar

		Bass_ChannelPlay(stream, false); // Играем трек
	end;
   Теперь старый обработчик события OnClick на кнопке "Играть" можно удалить и заменить на этот:
	if Bass_ChannelisActive(stream)= Bass_Active_Paused then // Если поток в состоянии паузы то
		BASS_channelPlay(stream,false) // Продолжаем играть
	else // Иначе
		PlayItem(ListBox1.ItemIndex); //Играем файл заного
 
   Ну вот и все, в следующем уроке мы научимся удалять файлы, изменять громкость и другое.

Удачи!
Встретимся в следующем уроке!


Источник: www.thedelphi.ru
Автор: Савельев Александр
Опубликовано: 29 Мая 2013
Просмотров: 7791

Урок 43 - Пишем MediaPlayer, часть(3/7) Урок 45 - Пишем MediaPlayer, часть(5/7)

Зарегистрируйтесь или авторизуйтесь, чтобы добавлять комментарии.



аватар Добавил(а): amok-dima [Новичок] Дата: 2014-11-24
Процедура готова, её нужно откуда-то вызывать, делать мы это будет при нажатии на кнопку "+", создаем обработчик OnClick: procedure TForm1.AddFiles(filename: string); begin if OpenDialog1.Execute = false then exit; // Если файл не выбран то выходим AddFiles(OpenDialog1.FileName); // Вызываем нашу процедуру добавления файла и передаем туда путь end; Здесь не большая ошибка, процедура уже будет называться не AddFiles а TForm1.Button5.Clikc, и думаю что нужно исправить код и в первой кнопке с надписью "Открыть", так как при нажатие данной кнопки, названия трека будет передаваться на Panel1, но при этом при нажатие кнопки "Играть" ничего не происходит.