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

Поиск
L



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



Последние комментарии
c
Cmertb06 прокомментировал "Урок 1 - Инициализация OpenGL":
Возможно ли рисовать на экране? Например у Screen.Monitors[0] есть свойство Handle?
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;



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

   В этом уроке мы сделаем сохранение плей-листа в файл и его загрузку.

   Начнём, вытащим 2 кнопочки на форму "Открыть" и "Сохранить":

Внешний вид


   И создаем обработчик на кнопке "Сохранить" и пишем код:
procedure TForm1.Button8Click(Sender: TObject);
begin
	ListBox2.Items.SaveToFile('C:\List.txt'); // Сохраняем плей-лист
end;
   И сразу сделаем загрузку, в обработчике на кнопке "Открыть" пишем:
procedure TForm1.Button7Click(Sender: TObject);
var 
	i: integer;
begin
	ListBox2.Items.LoadFromFile('C:\List.txt'); // Загружаем
	ListBox1.Items.LoadFromFile('C:\List.txt'); // файл
	
	for i:=0 to ListBox1.Items.Count-1 do // Оставляем в первом ListBox'e только имена файлов
		listBox1.items.strings[i]:=Extractfilename(ListBox1.items.strings[i]);
end;
   Проверим. Добавим... Сохраним... Загрузим...

Внешний вид


   Работает, на диске "С" создается файл "List.txt" с добавленными треками, но если пользователь захочет сохранить несколько плей-листов, у него ничего не получится, файл будет каждый раз переписываться, заменяя старые песни. Добавим возможность выбора пути для сохранения и загрузки плей-листа. Вытащим 2 компонента: TOpenDialog и TSaveDialog, изменим обработчики сохранения и открытия, просто замени путь который мы указали сами на путь из диалогов:
	if SaveDialog1.Execute = true then
		ListBox2.Items.SaveToFile(SaveDialog1.FileName); // Сохраняем плей-лист
 
   И:
procedure TForm1.Button7Click(Sender: TObject);
var 
	i: integer;
begin
	if OpenDialog2.Execute = false then exit;
	
	ListBox2.Items.LoadFromFile(OpenDialog2.FileName); // Загружаем
	ListBox1.Items.LoadFromFile(OpenDialog2.FileName); // файл
	
	for i:=0 to ListBox1.Items.Count-1 do // Оставляем в первом ListBox'e только имена файлов
		listBox1.items.strings[i]:=Extractfilename(ListBox1.items.strings[i]);
end;
 
   Вот и все, плеер почти готов, осталось только добавить Drag-and-drop и кое-что подправить в интерфейсе, это мы сделаем в следующем уроке.

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


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

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

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



аватар Добавил: Programer [Новичок] Дата: 2013-06-04
Кто знает как написать программу которая измеряет скорость интернета?




аватар Добавил: Mikhail [Новичок] Дата: 2013-06-08
А как сделать так чтоб в плей листе само по порядку проигрывала чтоб самому не нажимать на каждую песню а то все испробовал чего то не получается




аватар Добавил: Admin [Сэнсэй] vk.com/savelev_a_y Дата: 2013-06-09
Вытащить на форму таймер и написать в него: if (Bass_ChannelisActive(stream)= BASS_ACTIVE_STOPPED) and (ListBox1.Items.Count > 1) and (ListBox1.ItemIndex < ListBox1.Items.Count-1) and (ListBox1.ItemIndex > -1) then begin ListBox1.ItemIndex:= ListBox1.ItemIndex+1; PlayItem(ListBox1.ItemIndex); end;




аватар Добавил: Mikhail [Новичок] Дата: 2013-06-09
Большое спасибо Admin получилось