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

Поиск
L



Статистика
u
Пользователи онлайн: нет
Гостей онлайн: 8
Всего онлайн: 8
Зарегистрировано юзеров: 6755
Комментариев на сайте: 651
Новый юзер: kyunyaDral



Последние комментарии
c
Rodneyhef прокомментировал "Урок 53 - Потоки в Delphi, (часть 1/3)":
Zauważże, czym cechują się kredyty na sześcdziesięciu dni. Jako co zwrócić uwagę podczas asortymentu oferty? Które firmy użyczają chwilówek za taki czas? Sprawdź! [url=https://chwilowki-pozyczka.pl/]chwilówki[/url] [url=https://chwilowki-pozyczka.pl/chwilowki-online]chwilówki online[/url] [url=https://chwilowki-pozyczka.pl/pozyczki-na-raty]pożyczki ratalne[/url] [url=https://chwilowki-pozyczka.pl/kredyty-gotowkowe]kredyty gotówkowe[/url] Zdecydowana większość pożyczek krótkoterminowych udzielana jest od okres nie zaakceptować dłuższy niźli dwa miesiące. Krótki słowo spłaty wydaje się być charakterystyczny na rzecz tego rodzaju wytworów finansowych. Firmy pożyczkowe wprowadziły także zastrzeżenia, skutkujące tym, że nie każdy klient będzie mógł momentalnie zaciągnąć wzięcie pożyczki na 60 dni. W poniższym artykule podpowiadamy, na jak zwrócić uwagę, postanawiając się pod ten typ dofinansowania, na czym polegają opisane ograniczenia, oraz pokazujemy, które obecne na rynku firmy użyczają pożyczek dzięki 60 dni. chwilowki-pozyczka.pl Termin kredyty jest jednym z kluczowych składników mających bezpośredni wpływ jako całkowite koszty zobowiązania. Alternatywa krótszego czy dłuższego sezonu ma przełożenie na wysokość RRSO, innymi słowy rzeczywistej rocznej stopy oprocentowanie informującej nas w stosunku procentowym o kosztach związanych z pożyczką. Jest to pierwszy element, na który trzeba zwrócić szczególną uwagę w chwili wyboru możliwości. Drugim elementem jest uważna ocena spersonalizowanych możliwości kredytowych, co koniecznie musi towarzyszyć zaciąganiu jakiegokolwiek zobowiązania. Być może będziemy potrzebować produktu finansowego, którego spłata wydaje się znacznie dłuższa. Wówczas winniśmy zdecydować się jako pożyczki od raty. Warto również stwierdzić o aplikowanych przez spółki pożyczkowe ograniczeniach, wynikających spośród realizacji strategii ryzyka. Ochraniając się zanim niewypłacalnością pożyczkobiorców, instytucje finansowe przedłożyły szereg wielu ograniczeń, oddanych w szczególności dla osób nowych odbiorców. Ci pożyczkobiorcy, którzy zaciągają chwilówkę na raz 1 w podanej firmie, niejednokrotnie nie mogą liczyć na termin dłuższy niźli 30 dni. Poza tym wiążą ograniczenia szczególne dla kredytów krótkoterminowych. Przemówienie między innymi na temat weryfikacji petentów w charakteryzujących się ogromną popularnością rejestrach dłużników, ukończenie 21. roku egzystencji czy identyfikacja maksymalnej poziomie pożyczki. Pożądane byłoby podkreślić, hdy znaczna część przedsiębiorstw nie udziela pożyczek o dłuższym okresie w ogóle, co ponadto nie jest rezultatem wprowadzenia ograniczeń, a wynika po prostu wraz z oferty.
dealrattKi прокомментировал "Урок 3 - Конструкция IF...THEN...ELSE":
Это действительно радует меня. --- Бесподобное сообщение скачать fifa, скачать фифа а также [url=http://15fifa.ru/novosti-fifa-15]fifa 15 последние новости[/url] скачать фифа

Урок 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
Просмотров: 7180

Урок 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, но при этом при нажатие кнопки "Играть" ничего не происходит.