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

Поиск
L



Статистика
u
Пользователи онлайн: нет
Гостей онлайн: 6
Всего онлайн: 6
Зарегистрировано юзеров: 6382
Комментариев на сайте: 646
Новый юзер: Fenrikinosdoosurf



Последние комментарии
c
Aqel прокомментировал "Урок 71 - Работа с сжатыми файлами":
uses ...sevenzip, ... function ProgressCallback(sender: Pointer; total: boolean; value: int64): HRESULT; stdcall; begin if total then Form1.sprgrsbr1.Max:= value else Form1.sprgrsbr1.Position:= value; Result:= S_OK; end; function Decompress(FileName, DestDir, ArcFname: String; ArcDir: Boolean ): Boolean; var i: Integer; ItP: string; items: array[1..11] of Cardinal; sprgrsbr1: TsProgressBar; begin Result:= False; Application.ProcessMessages; try with CreateInArchive(CLSID_CFormat7z) do begin OpenFile(FileName); SetProgressCallback(sprgrsbr1, ProgressCallback); for i:= 1 to NumberOfItems - 1 do if not ItemIsFolder[i] then //ExtractItem(items[i], Steam, False); - как ей пользоваться в душе не понимаю... ExtractTo(DestDir); end; finally Result:= True; end; end;
Aqel прокомментировал "Урок 71 - Работа с сжатыми файлами":
GZip псевдоархив, на мой вопрос тоже не отвечают, как распаковать отдельные файлы/папки...



Мы в соцсетях
c
Delphi
Урок 47 - Пишем MediaPlayer, часть(7/7)

   Этот урок будет завершающим, мы добавим функцию Drag-and-drop и доделаем интерфейс.

   Используя 40 урок добавим возможность добавлять файлы в плей-лист перетаскивание их на программу.
   Все делаем точно также как описано в уроке, но немного подправим процедуру TForm1.WmDropFiles(var Msg: TWMDropFiles);

procedure TForm1.DropFile(var Msg: TWMDropFiles);
var
	CFileName: array[0..MAX_Path] of Char;
begin
	try
		if DragQueryFile(Msg.Drop, 0, CfileName, MaX_Path)>0 then
		begin
			AddFiles(CFileName); // Добавляем файл
			Msg.Result:=0;
		end;
	finally
		DragFinish(msg.Drop);
	end;
end;
   Теперь последнее, попробуйте растянуть программу, все компоненты остаются на своих местах, а должны бать привязаны к краям формы.

Внешний вид


Для этого служит свойство Anchors у неё 4 параметра:
  • akLeft - привязка к левой стороне
  • akTop - привязка к верху
  • akRight - привязка к правой стороне
  • akBottom - привязка к низу
   Например для кнопок "Открыть" и "Сохранить" Параметры будут такие:
  • akLeft - False
  • akTop - False
  • akRight - True
  • akBottom - True
   Вот что получится:

Внешний вид


   А для ListBox1:
  • akLeft - True
  • akTop - True
  • akRight - True
  • akBottom - True
   Привязка ко всем сторонам. Для кнопок "+" и "-":
  • akLeft - True
  • akTop - False
  • akRight - False
  • akBottom - True
   Для кнопок "Открыть", "Играть", "Стоп", "Пауза" и ползунка громкости:
  • akLeft - False
  • akTop - True
  • akRight - True
  • akBottom - False
   И надо не забыть скрыть ListBox2, свойство Visible установим в False.

   Плеер готов!!! Вот что у нас получилось за 7 уроков:

Внешний вид


   Эта библиотека содержит в себе еще много функции, на объяснение всех ушло бы много времени, тем кому это интересно обязательно посмотрят полное описание всех функций. Ну а мы остановимся на этом.

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


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

Урок 46 - Пишем MediaPlayer, часть(6/7) Урок 48 - Структурные типы данных, часть (1/2)

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



аватар Добавил: Mikhail [Новичок] Дата: 2013-06-18
У меня возникли два вопроса №1 Как сделать с помощь CheckBox одну песню по кругу проигрывать №2 Так же с помощью CheckBox сделать чтоб музыка играла в разнобой




аватар Добавил(а): Kiril-1997 [Новичок] Дата: 2015-08-17
подскажите как сделать что бы играла следующая/предыдущая песня при нажатии определенных кнопок. И как сделать чтобы музыка играла в разнобой




аватар Добавил(а): Kiril-1997 [Новичок] Дата: 2015-08-17
и было б круто еще сделать поднять/опустить трек