Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Подскажите, пожалуйста... [D7, XP]


Страницы:   1 2 3

Footballer ©   (2006-07-18 00:15:00) 

Здрасте, вы может помните мы с Homo Sapiensпишем audio-player и тут возникло ещё несколько вопросиков:
1) Как можно "открыть с помощью" сразу несколько файлов и по очереди их обработать;
2) Как можно выполнить сортировку в плэйлисте, например по алфавиту (может компонент есть такой);
3) Как можно сделать баланс (правая - левая колонка) Примечание:Использую компонент TBassPlayer;
4) Как можно выполнить поиск в плейлисте(вводишь часть имени, а тебе выдают список номеров строк, где этот отрывок присутствует);
5) Как можно узнать длину песенки, не открывая каждый раз файл, вот так:
for i:=0 to OpenDialog1.Files.Count-1 do
begin
 Mediaplayer1.filename:=opendialog1.files.strings[i];
 mediaplayer1.open;
 time:=found_file_lenght; //Это такая функция
 ..............................
end;


Ну вот, в общем и всё, жду ответов, зарание спасибо!


Footballer   (2006-07-25 19:50:00) [1]

Код ещё не смотрел, но всё равно спасибо...


programania   (2006-07-25 19:35:00) [2]

>3) Как можно сделать баланс (правая - левая колонка) Примечание:Использую компонент TBassPlayer;

Вот из help к Bass:

BASS_ChannelSetAttributes(
   DWORD handle,
   int freq,
   int volume,
   int pan
);
handle The channel handle... a HCHANNEL, HMUSIC, HSTREAM, or CDCHANNEL.
freq The sample rate... 100 (min) - 100000 (max), 0 = original rate (when the channel was created), -1 = leave current.
volume The volume... 0 (silent) - 100 (max), -1 = leave current.
pan The panning position... -100 (left) - 100 (right), -101 = leave current.

например
BASS_ChannelSetAttributes(chan,-1,-100,pan);


Footballer   (2006-07-25 18:37:00) [3]


> как всегда -- виновата многострадальная 17-я строка.

А в коде 16 строк... :-)
procedure TMainForm.createmenu;
var
 reg:tregistry;
begin
 reg:=tregistry.Create;
 reg.RootKey:=HKEY_CLASSES_ROOT;
 reg.OpenKey('*\Shell\Open With Chuk && Gek Player',true);
 reg.WriteString('','Open With Chuk && Gek Player');
 reg.WriteString('','Open With Chuk && Gek Player');
 reg.CloseKey;
 reg.OpenKey('*\Shell\Open With Chuk && Gek Player\command',true);
 reg.WriteString('','command');
 reg.WriteString('',paramstr(0)+' "1%"');
 reg.CloseKey;
 reg.Free;
end;


Ketmar   (2006-07-25 18:17:00) [4]

>Footballer ©   (25.07.06 01:34) [50]
как всегда -- виновата многострадальная 17-я строка.


Footballer   (2006-07-25 18:01:00) [5]

Люди, ну серьёзно, никто больше помочь не может? :-(((


Footballer   (2006-07-25 01:34:00) [6]

Продолжаю ветвь... ответьте плиз на вопрос № 2: Как можно сделать баланс (правая - левая колонка) Примечание:Использую компонент TBassPlayer

Да, кстати с "shell extensions" мы вроде разобрались, но всё-таки возникла проблемка :(
Пункт в меню, всплывающее по нажатию правой кнопки мыши (кстати, как оно называется?) добавляется, но когда пытаешься нажать на него всплывают ошибки типа Invalid stream file (1)Шо це таке здесь происходит?


!_SM_!   (2006-07-20 17:11:00) [7]

Можно еще вот такую фиговину сделать:

function VerifyFile(const S: String): Boolean;
begin
 //Здесь проверяй нужен этот файл или нет
 Result:=True;
end;
......
  FlNm:=PChar(FlNm);
  if VerifyFile(FlNm) then AddFile(FlNm);
 end;
.....

Ну это так для разнообразия.


!_SM_!   (2006-07-20 17:05:00) [8]


> Footballer ©   (20.07.06 13:24) [47]


>  Но кстати проблему с множественным "открыть с помощью"
> это не решает...

А ты сделай(добавь) свое меню типа "отрыть с помощью МОЕГО плеера".
Как добавить (меню) обсуждалось уже нираз.
А стандартно меню "Открыть с помощью..." не работает даже и у Worda. Выделяешь кучу файлов жмешь открыть с помощью... выбираешь Word, или любую другую прогу которая позволяет открывать много документов(файлов), и.... открывается один файл (который из выделенных был под мышой) ну т.е. на нем правый клик.


Footballer   (2006-07-20 13:24:00) [9]


> !_SM_!  

Огромаднейшее СПАСИБО
Я ТАК ДОЛГО пытался это сделать, и наконец нашёл  у тебя!
Ещё раз спасибо! Теперь мой благодарный список выглядит так:
1) Ещё раз Marser за пост [1] (сортировка массива);
2) Огромное спасибо ArtemESC © за пост [16] (поиск);
3) Поблагодарю Kertman если он наконец объяснит, что такое"shell extensions" или какой-нибудь другой вариант решения первого вопроса :-)
4) Огромаднейшее СПАСИБО !_SM_! за пост [29] (перетаскивание файлов в плейлист, хотя я это даже и не просил ;-))
P.S. Но кстати проблему с множественным "открыть с помощью" это не решает...


Footballer   (2006-07-20 12:25:00) [10]

Тьфу ты... Я ж OnCrete не задействовал...
Ща попробуем...


!_SM_!   (2006-07-20 12:16:00) [11]

Сделал как? Создал новый проект. Вставил на голую форму ListBox1. Оставил имя ListBox1. Выделил код, который я написал в !_SM_!   (19.07.06 18:06) [29], целиком от unit Unit1; до end. Скопировать. Выделить у себя в редакторе делфи в модуле формы весь текст, удалить его и вставить из буфера мой. Потом два раза щелкнуть по форме - чтобы задействовать событие OnCreate. Скомпилировать. Опять ничего не получилось?
А значит "ничего" и не должно получиться :(( Значит что-то нитак делаешь.
У меня все отлично получается. При старте проги если кидаешь на значек проги список (кучу выделенных) файлов, прога запустится и ListBoxe будет весь этот список, так-же если уже на открытую форму бросишь список файлов.
Может я чего не догоняю, того чего ты желаешь получить.....


Footballer   (2006-07-20 01:36:00) [12]


> Что получилось?

Ничего...
А что должно получиться? Может я что-то нитак сделал...


!_SM_!   (2006-07-20 01:18:00) [13]

Пробовал мой код? Если нет, создай новый проект, добавь на форму ListBox
оставь имя ListBox1. Скомпилируй. Потом, хочешь, выделяй файлы в провднике и кидай на значок ехе файла, тоже в проводнике, который только что скомпилил. Или на уже загруженную форму брось выделенные файлы.
Что получилось?


Footballer   (2006-07-20 00:57:00) [14]

По-моему, вы пытаетесь делать, как Alx_ © (См.2).
Да, и что это за функция DragAcceptFiles и процедура TForm1.DropFiles?


!_SM_!   (2006-07-20 00:42:00) [15]

Я просто пример написал обработки файлов по очереди, а дальше сам чего хочешь с ними (файлами из спика) делай.


!_SM_!   (2006-07-20 00:41:00) [16]


> Footballer ©   (20.07.06 00:22) [39]
> Куда?
>
> Footballer ©   (18.07.06 00:15) 
> 1) Как можно "открыть с помощью" сразу несколько файлов и по очереди
> их обработать;

А куда надо?


Footballer   (2006-07-20 00:22:00) [17]


> !_SM_!   (19.07.06 18:06) [29]
> Про добавление файлов

Куда?
В плейлист из папок?
Или я не так понял?


Footballer   (2006-07-20 00:16:00) [18]

Да, кстати, мне кажется, я немного отвлёкся от основной темы

Хотел бы поблагодарить:
1) Ещё раз Marser за пост [1] (сортировка массива);
2) Огромное спасибо ArtemESC © за пост [16] (поиск);
3) Поблагодарю Kertman если он наконец объяснит, что такое"shell extensions" или какой-нибудь другой вариант решения первого вопроса :-)

А тем временем у меня осталось всего 3 вопроса:
1) Как можно "открыть с помощью" сразу несколько файлов и по очереди их обработать;
2) Как можно сделать баланс (правая - левая колонка) Примечание:Использую компонент TBassPlayer;
3) Как можно узнать длину песенки, не открывая каждый раз файл, вот так:
for i:=0 to OpenDialog1.Files.Count-1 do
begin
Mediaplayer1.filename:=opendialog1.files.strings[i];
mediaplayer1.open;
time:=found_file_lenght; //Это такая функция
..............................
end;

Зарание благодарю!


Footballer   (2006-07-20 00:15:00) [19]

Удалено модератором


Footballer   (2006-07-20 00:15:00) [20]

Удалено модератором


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо