|
Вопрос # 5 778/ вопрос открыт / |
|
Здравствуйте, эксперты!
У меня чёт код отказывается работать, вроде всё правильно, и компилируется а работать не работает.
Помогите понять в чём проблема, и попутно сделать, на 12 часов допустим 12 воспроизведений файла, на 3 часаЮ 3 вопсроизведения, а то руками много кода получится говнистого если писать каждый раз 1. плэй 2. стоп 2. плэй 4. фрии. ... и так далее...
MediaPlayer1.FileName := './data/gong.wav';
MediaPlayer1.Open;
g1 := timetostr(time);
g2 := timetostr(strtotime('0:00:00'));
g3 := timetostr(strtotime('3:00:00'));
g4 := timetostr(strtotime('6:00:00'));
g5 := timetostr(strtotime('5:00:00'));
g6 := timetostr(strtotime('12:00:00'));
g7 := timetostr(strtotime('15:00:00'));
g8 := timetostr(strtotime('18:00:00'));
g9 := timetostr(strtotime('21:00:00'));
if g1 = g2 then
MediaPlayer1.Play
else
Label2.Caption := 'не работает тварь...';
 |
Вопрос задал: winner13 (статус: 1-ый класс)
Вопрос отправлен: 24 ноября 2011, 16:00
Состояние вопроса: открыт, ответов: 0.
|
Мини-форум вопроса
Всего сообщений: 15; последнее сообщение — 25 ноября 2011, 13:39; участников в обсуждении: 6.
|
Ерёмин А.А. (статус: *Администратор), 24 ноября 2011, 16:50 [#1]:
Что мешает вывести g1 с g2 и посмотреть, чему они равны?
|
|
min@y™ (статус: Доктор наук), 24 ноября 2011, 17:03 [#2]:
А что мешает таймер заюзать?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
Егор (статус: 10-ый класс), 24 ноября 2011, 17:57 [#3]:
что-то я не понял, что же надо-то? объясни по-другому
Опасайтесь багов в приведенном выше коде; я только доказал корректность, но не запускал его.
— Donald E. Knuth.
|
|
winner13 (статус: 1-ый класс), 24 ноября 2011, 18:53 [#4]:
Значения проверил, идентичны, скорей всего дело в таймере. Через него завтра на работе опробую.
Теперь дело обстоит в проигрывании звука, как сделать так чтобы MediaPlayer1.Play команда сработала нужное количество раз не прибегая к такому методу как (допустим мне на три часа нужно чтобы медифаил проигрался 3 раза, вот говнкод которого бы наверно не следовало писать но всё таки.)
MediaPlayer1.Play;
MediaPlayer1.Stop;
MediaPlayer1.Play;
MediaPlayer1.Stop;
MediaPlayer1.Play;
MediaPlayer1.Stop;
По условию мне нужно чтобы фаил проигрывался в три часа три раза, в шесть часов , шесть раз, в девять девять. Муторно руками писать да и как то на говнокод смахивает есть ли другие решения ????
Не решимых проблем нет, есть неприятные для нас решения.
|
|
min@y™ (статус: Доктор наук), 24 ноября 2011, 19:00 [#5]:
Слышь, давай-ка объясни, а нахрена всё это?
Ну, блин, заинтриговал, чесслово!
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
Егор (статус: 10-ый класс), 24 ноября 2011, 19:06 [#6]:
MediaPlayer1.Play;
MediaPlayer1.Stop;
MediaPlayer1.Play;
MediaPlayer1.Stop;
MediaPlayer1.Play;
MediaPlayer1.Stop;
так не пойдёт. проигрывание музыки идёт параллельно с выполнением программы. т.е. ты запустил музыку (play) и тут же остановил её (stop). музыка будет "играть" лишь несколько микросекунд.
Опасайтесь багов в приведенном выше коде; я только доказал корректность, но не запускал его.
— Donald E. Knuth.
|
|
Егор (статус: 10-ый класс), 24 ноября 2011, 19:07 [#7]:
ты не часы пишешь случаем? типа, каждый час нужное число раз сделать "бомммм"?
Опасайтесь багов в приведенном выше коде; я только доказал корректность, но не запускал его.
— Donald E. Knuth.
|
|
Мережников Андрей (статус: Абитуриент), 24 ноября 2011, 20:33 [#8]:
MediaPlayer1.Play;
MediaPlayer1.Stop;
MediaPlayer1.Play;
MediaPlayer1.Stop;
MediaPlayer1.Play;
MediaPlayer1.Stop;
это может сработать, если у MediaPlayer свойство Wait установлено в true. Но тогда программа не будет реагировать ни на какие действия пользователя, пока не доиграет плеер.
Wait (public) Determines whether a media control method returns control to the application only after it has been completed.
|
|
winner13 (статус: 1-ый класс), 25 ноября 2011, 10:00 [#9]:
угу, типа часы, только не на каждый час, а на 12 , 3, 6, и 9 часов "бом", бой был, и чтобы нужное число раз именно пробило всё.
Кому интересен исходник, пожалуйста там к тому же я стрелки дорисовал конвасом, и двигаться заставил.
Вот : http://zalil.ru/32129976
П.С. Так и не понял как лучше проиграть определённое число раз медифаил =)
Не решимых проблем нет, есть неприятные для нас решения.
|
|
min@y™ (статус: Доктор наук), 25 ноября 2011, 10:23 [#10]:
Так бы и сказал. Я написал такую прогу, но с наворотами. Медиаплеер там не используется. Прога говорит время бабским голосом каждый час и каждые полчаса (опционально), и генерит события, задаваемые пользователем. Могу подарить, вмете с исходниками.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
winner13 (статус: 1-ый класс), 25 ноября 2011, 11:21 [#11]:
Ты мне уже давал её, только у меня собрать не получилось из-за нехватки компонента какого - то. Не помню правда куда на диске засунул.
Не решимых проблем нет, есть неприятные для нас решения.
|
|
min@y™ (статус: Доктор наук), 25 ноября 2011, 13:01 [#12]:
Так там же ЕХЕ-шник был жеж. Нафига собирать?
Цитата (winner13):
Не помню правда куда на диске засунул.
Заведи поиск по маске "workerclocker.*".
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
bugmenot (статус: 3-ий класс), 25 ноября 2011, 13:04 [#13]:
Цитата (winner13):
timetostr(strtotime('12:00:00'))
Прямо в рабочий полдень! Предлагаю рацуху:
timetostr(strtotime(timetostr(strtotime(timetostr(strtotime('12:00:00')))))) // штоб наверняка
виконання програми розпочинається з того самого мiсця, де призупинилося.
|
|
min@y™ (статус: Доктор наук), 25 ноября 2011, 13:28 [#14]:
Цитата (bugmenot):
Прямо в рабочий полдень! Предлагаю рацуху:
timetostr(strtotime(timetostr(strtotime(timetostr(strtotime('12:00:00')))))) // штоб наверняка
Гыгыгы, жжош, сцуко!
Но проще, конечно, так:
T = 0.5; // это в литрах! :) Вот это я понимаю, РАБОЧИЙ полдень!
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
winner13 (статус: 1-ый класс), 25 ноября 2011, 13:39 [#15]:
Это как бы он из моего кода, просто не работает хоть тресни, вот я уже с нех делать перестраховывался =)
Не решимых проблем нет, есть неприятные для нас решения.
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|