| 
| 
 | Вопрос # 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]:Это как бы он из моего кода, просто не работает хоть тресни, вот я уже с нех делать перестраховывался =) Не решимых проблем нет, есть неприятные для нас решения. |  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |