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;


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


Ketmar   (2006-07-19 22:20:00) [21]

>Footballer ©   (19.07.06 19:11) [30]
ну вот. первй вопрос вообще не понят (хотя из контекста, имо, вполне понятно что есть "интерфейс" и к чему оно там).

на третий вопрос ответа не дано вообще. после первого предложения следуют ответы на вопросы, которые вообще не были заданы (у Вас проблема с логическим мышлением, имо).

второй и четвёртый тихо проигнорены.

вопрос номер последний: нафига выпендриваться, если не можешь ответить? я ведь эти вопросы задал далеко не просто так. они имеют самое прямое отношение к теме "shell extensions". собственно, это даже не столько вопросы, сколько хинты. так что вместо демонстрирования своей крутости лучше бы поспрошали-таки гугль...

>Homo Sapiens ©   (19.07.06 22:07) [32]
думаю, что знания чисто теоретические. %-)


Zeqfreed   (2006-07-19 22:09:00) [22]

> [32] Homo Sapiens ©   (19.07.06 22:07)

Да я вам лично, если мне не изменяют память, зрение и Ctrl+F, ничего в пределах дынной ветки и не говорил.


Homo Sapiens   (2006-07-19 22:08:00) [23]

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


Homo Sapiens   (2006-07-19 22:07:00) [24]

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


Zeqfreed   (2006-07-19 20:41:00) [25]

> Говоришь ты умно, а даже вопрос ставишь некорректно... Итерфейс
> чего? Или как это слово переводится с английского на русский?
>
> Рискну предположить, что ты имеешь в виду интерфейс Delphi7.
> Это расположение всех менюшек, сами эти менюшки, кнопки
> и тд. и тп.

Ответ не верный :)
Хотя… Ответов, их много: http://www.google.com/search?client=opera&rls=en&q=define:+Interface&sourceid=opera&ie=utf-8&oe=utf-8


Footballer   (2006-07-19 19:11:00) [26]


> Ketmar ©   (19.07.06 16:57) [28]


> Что такое интерфейс?


 Говоришь ты умно, а даже вопрос ставишь некорректно... Итерфейс чего? Или как это слово переводится с английского на русский?
 Рискну предположить, что ты имеешь в виду интерфейс Delphi7. Это расположение всех менюшек, сами эти менюшки, кнопки и тд. и тп.


> COM технологии...


При использовании технологии COM между собой взаимодействуют Сервер и Клиент. Сервером может быть как отделное приложение, так и dll.Сервером может быть и отдельный комп, соединённый с клиентом посредством сети.

COM поддерживает 3 основных принципа: инкапсуляцию, наследование и полиморфизм.

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

Наследование- это процесс, в результате которого один компонент может приобретать свойства другого.

Полиморфизм означает, что порождённый объект может изменять какие-то черты, сохраняя
главный принцип.

С тебя хватит. Надеюсь ты понял что это такое. А по гуглю лазить незачем. Те вопросы,
которые ты мне задал, проходят на уроках информатики в школе.


!_SM_!   (2006-07-19 18:06:00) [27]

Про добавление файлов
unit Unit1;

interface
uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls, ExtCtrls, ShellApi;

type
 TForm1 = class(TForm)
   ListBox1: TListBox;
   procedure FormCreate(Sender: TObject);
 private
   procedure DropFiles(var Mes: TWmDropFiles); message WM_DROPFILES;
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure AddFile(const FL: String);
begin
  Form1.ListBox1.Items.Add(FL);
end;

procedure TForm1.DropFiles(var Mes: TWmDropFiles);
var N, I: Integer;
FlNm: String;
begin
 N:=DragQueryFile(Mes.Drop, $FFFFFFFF, nil, 0)-1;
 try
  for I:=0 to N do begin
   SetLength(FlNm, 80);
   DragQueryFile(Mes.Drop, I, PChar(FlNm), 80);
   FlNm:=PChar(FlNm);
   AddFile(FlNm);
  end;
 finally DragFinish(Mes.Drop); end;
end;

procedure TForm1.FormCreate(Sender: TObject);
var N, N1: Integer;
begin
 ListBox1.Clear;
 N1:=ParamCount;
 for N:=1 to N1 do AddFile(ParamStr(N));
 DragAcceptFiles(Handle, True);
end;

end.


Ketmar   (2006-07-19 16:57:00) [28]

>Footballer ©   (19.07.06 14:11) [25]
я имел в виду стандартные библиотеки Delphi. в том числе SysUtils и Classes, в которых много интересного. %-)

> Ну почему же рано
по определению. сначала желательно научиться программировать. и разобраться с Delphi. не с "батонокидательством", а с тем, как и что в Delphi работает и что вообще там есть. и зачем. иначе не имеет смысла туда лезь. вот скажите мне, например, что такое "интерфейс"? GUID? поясните механизм работы COM-объектов. или вот: "пространство имён оболочки и работа с ним".

за информацией "что это" можно пойти в гугль.

> А можно этот winamp agent использовать в своих целях, или
> написать самому что-то наподобии этого?

использовать нельзя. написать -- можно. не магическим же конденсированием этот агент длелали? тоже ведь писали...


Zeqfreed   (2006-07-19 16:22:00) [29]

> [25] Footballer ©   (19.07.06 14:11)


> написать самому что-то наподобии этого?

Все в твоих руках.


Bambucha   (2006-07-19 16:15:00) [30]


>  вам туда пока рано.

Я полностью согласен с футболёром


Footballer   (2006-07-19 14:11:00) [31]


> ежё и в библиотеках ориентироваться

Извените, но какие библиотеки вы имели в виду?

> вам туда пока рано.

Ну почему же рано, по-моему никогда не рано постигать новые высоты :-)
Был бы благодарен, если бы вы объяснили, что это такое, или ссылку дали...

> В winamp'е этим занимается специальный winamp agent

А можно этот winamp agent использовать в своих целях, или написать самому что-то наподобии этого?


Zeqfreed   (2006-07-19 13:52:00) [32]

> [22] Footballer ©   (19.07.06 10:51)

В winamp'е этим занимается специальный winamp agent — маленькое компактное приложеньице, насколько я могу судить. Проще способа нет, AFAIK.


Ketmar   (2006-07-19 11:39:00) [33]

>Footballer ©   (19.07.06 01:55) [17]
говорят о том, что Delphi -- это не BP и уж тем более не QB. и знать только язык -- это очень мало. надо ежё и в библиотеках ориентироваться. на что я и пытался намекнуть. теперь не намекаю, говорю открытым текстом.

>Footballer ©   (19.07.06 10:51) [22]
угу. способ называется shell extensions. вам туда пока рано.


Footballer   (2006-07-19 10:51:00) [34]


>   ЮЮ ©   (19.07.06 09:14) [21]

 Спасибо за совет, но нельзя как-нибудь попроще? Функцией там какой-нибудь? А то этот способ, как мне кажется сильно грузит проц(2000 раз открывать само себя!!!), и нерациональный.
 Вот Winamp, я так думаю, нашёл способ попроще...


ЮЮ   (2006-07-19 09:14:00) [35]


> 1) Как можно "открыть с помощью" сразу несколько файлов
> и по очереди их обработать;


Explorer и иже с ними не станут вызвыать так
player.exe file1.mp3 file2.mp3 ... fileN.mp3
он n раз слелает
player.exe file1.mp3
...
player.exe fileN.mp3


Поэтому твое приложение должно:

а) найти запущенную копию "себя", "передать" ему имя файла, полученное в ParamStr(1), fа само погибнуть. Если запущенных копий нет, тогда самому "открыть" этот файл.

6) уметь получать от других копий "себя" имена файлов, которе нужно открыть


antonn   (2006-07-19 06:20:00) [36]

ArtemESC ©   (18.07.06 21:35) [10]
из каких это тегов собираешься узнавать...

а я теги в кавычки взял:)
для wav, например, заголовок читается, а время расчитывается так:
(DataSize)*8/SampleRate/BitsPerSample/ChannelModeID{stereo-mono}


Footballer   (2006-07-19 02:35:00) [37]


> Што ж это за школа такая?

г. Волгоград
Краснооктябрьский район
Лицей №2
Бывшая школа №132
;-)


grouzd)ev   (2006-07-19 02:19:00) [38]


> Между прочим мы с самого начала этот player делали, чтобы
> не сдавать экзамен в 9-ом классе

Што ж это за школа такая? я отделался, хаха, "сайтом". 2 дня, оценивали "дызайн". без просмотра кода конечно =)


> 4 года на QBasic, Pascal тебе о чём-нибудь говорят?..

"2 года вдв!" =)

не сочтите за стеб. автору удачи, только я все равно винампом пользуюсь

---
... we are walking on a thin line and you better avoid the risk ...


Footballer   (2006-07-19 01:55:00) [39]


> Ketmar ©   (18.07.06 23:57) [15]

Между прочим мы с самого начала этот player делали, чтобы не сдавать экзамен в 9-ом классе. Нам уже сказали, что того, что мы сделали, вполне достаточно, но заметь, мы не остановились на этом. Мы пишем всё больше, больше... А всё потому что нам это нравится. И не говори, что программировать - скучно. И я не прошу тебя писать за нас плеер (См. [13]). Я всего лишь прошу ответить на несколько вопросов, возникших при написании плеера.


> Вам же посоветую писать пока программки попроще. лучше те,
>  что даются в учебниках. там, где разделы "упражнения"

То, что даётся в разделе "упражнения" уже слишком легко для нас. Ты же не думаешь, что мы на Delphi  так, с нуля начали. 4 года на QBasic, Pascal тебе о чём-нибудь говорят?..

Так что повторюсь, я не прошу тебя писать за нас плеер. Я всего лишь прошу ответить на несколько вопросов, возникших при написании плеера, и всё, что тут плохого?


ArtemESC   (2006-07-19 00:48:00) [40]

Footballer ©   (18.07.06 22:18) [11]
Иначе, как рассматривать первую часть файла (сигнатуру), никак нельзя узнать о длине песенки, почти все форматы мультимедиа файлов выложены в интернете...

>> 3) Как можно выполнить поиск в плейлисте(вводишь часть имени, а тебе >> выдают список номеров строк, где этот отрывок присутствует);
     Если для плейлиста используется листбокс, то так(непроверял):
 
    str - отрывок              
 
    for i := 0 to ListBox.Items.Count - 1 do
         begin
           temp :=  ListBox.Items[i];
           If Length(str) <= Length(temp) then
                begin
                  for j := 1 to Length(temp) - Length(str) + 1 do
                       begin
                        If str = Copy(temp, j, Length(str)) then
                             begin
                               Присутсвует - i добавляем в список
                               break;
                             end
                       end;
                end;
         end;


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

Наверх

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