![]() |
|
Модераторы: Snowy, Alexeis, MetalFan |
![]()
|
|
| BEST13 |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 166 Регистрация: 11.4.2008 Где: Ukraine Репутация: нет Всего: нет |
Я вот всё пишу свой плеер , и столкнулся с такой проблемой. У меня не получаеться сделать случайный порядок возпроизведени. Я создаю масив размер которо равен количиству песен в плей листе. Переношу с первого элемента позицую песни во второй, потом в запоминаю в первый элимент масива придыдушию позицыю песни. Потом рандомом получаю число и дальше должен сравнить его с с элементами масива,и если число ровно одному из элименотв масива тогда надо снова рандомом получить число. А если не равно тогда выдилить это позицыю в плей листе. но уменя не получаеться правельно сделать цыклс условием проверки . Помогите плиз
|
|||
|
||||
| KAMIKAZE |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 88 Регистрация: 17.1.2007 Репутация: нет Всего: нет |
Жесть Не проще ли юзать RandomFrom |
|||
|
||||
| BEST13 |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 166 Регистрация: 11.4.2008 Где: Ukraine Репутация: нет Всего: нет |
Я посмотрел и не понял его преимушество перед обычным Random. Темболие с рандомом всё ок, вот цыкл который проверял бы масив сделать не могу( |
|||
|
||||
| KAMIKAZE |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 88 Регистрация: 17.1.2007 Репутация: нет Всего: нет |
Может тоже самое:
два массива, один с песнями, другой пустой. во второй добавляешь елемент RandomFrom(первый) и удаляешь его же из первого. Я делал так. |
|||
|
||||
| BEST13 |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 166 Регистрация: 11.4.2008 Где: Ukraine Репутация: нет Всего: нет |
ну вобщет уменя листбокс и я позицыи в масив заганял которые играли
удалить смысле присвоить ему пустоту? |
|||
|
||||
| KAMIKAZE |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 88 Регистрация: 17.1.2007 Репутация: нет Всего: нет |
Нет, удалить елемент и уменьшить длину массива, т.е. каждый раз второй массив будет увеличиваться, а второй соответственно уменьшаться.
Когда я делал подобное мне было лень работать с массивом
|
|||
|
||||
| BEST13 |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 166 Регистрация: 11.4.2008 Где: Ukraine Репутация: нет Всего: нет |
Вариант неплохой но у меня есть уже два лист бокса и и не смогу сделать так чтоб позицыи их совпадали(
поетом у мне нужно решение через масивы |
|||
|
||||
| KAMIKAZE |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 88 Регистрация: 17.1.2007 Репутация: нет Всего: нет |
||||
|
||||
| BEST13 |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 166 Регистрация: 11.4.2008 Где: Ukraine Репутация: нет Всего: нет |
У меня есть на форме два листбокса , они служат как плейлист. Тока один показвает путь к песни а другой токо её название. вот принцыпе всё и если я добавлю ищё два листбокса я не смогу связать их позицыи тоесть песня играть буит одна ,а выдилена другая. А если делать чер масив то мне кажиться эт рацыональней. Просто Создаем динамический масив, и помере играние песен заносим в их позицыи. Перед проиграшем рандомом определяем чесло и если его нет в масиве тогда догда должна играть эта песня вот эта моя задумка. вроде ничего сложного но яуже второй день парюсь |
|||
|
||||
| KAMIKAZE |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 88 Регистрация: 17.1.2007 Репутация: нет Всего: нет |
Я конечно не критик, но как то не рацЫонально. Должен быть один плейлист, в котором отображается название и\или полный путь, ну и следующий трек для проигрывания. Выложи исходник. |
||||
|
|||||
| BEST13 |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 166 Регистрация: 11.4.2008 Где: Ukraine Репутация: нет Всего: нет |
фактически он один ,просто отображаеться в одном тока имена (он виден),а вдругом полный путь(он невиден,и используеться для проигрыание). Это сообщение отредактировал(а) BEST13 - 6.6.2008, 12:00 |
|||
|
||||
| BEST13 |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 166 Регистрация: 11.4.2008 Где: Ukraine Репутация: нет Всего: нет |
Вот цыкл проверки но он чёт не работает помогите плиз , и внизу а под редактором кода (там где пишет о ошибках) пишет типа poz никогда не используеться ("Value assigned to'poz' never used')
Вот сам код
|
||||
|
|||||
| Qu1nt |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 602 Регистрация: 13.1.2007 Репутация: 2 Всего: 50 |
Я думаю так будет по-красивее:
|
|||
|
||||
| BEST13 |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 166 Регистрация: 11.4.2008 Где: Ukraine Репутация: нет Всего: нет |
Ухты йо,спс большое. ток я вот не понял что она делает ? Я вобше исчо новичок и не могу понять что этот код делает. 1 непонятность: что такое StringList 2 непонятность: что такое CustomSort 3 непонятность: как она работает что делает и почему имено так Зарание спосибо |
||||
|
|||||
| Qu1nt |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 602 Регистрация: 13.1.2007 Репутация: 2 Всего: 50 |
1. Класс TStringList - замена массивам из элементов типа string.
2. СustomSort - метод класса TStringList, позволяющий подставлять свои функции сортировки. 3. Заполняем TStringList строками из ListBox1=> сортируем => заполняем ListBox1 уже отсортированными, в случайном порядке, данными. |
|||
|
||||
![]()
|
| Правила форума "Delphi: Звук, графика и видео" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делится вскрытыми компонентами
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Girder, Snowy. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Звук, графика и видео | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |