Форум программистов CODEBY.NET Хостинг в Беларуси — Active Technologies

Разработка бизнес сайтов

Нужны клиенты? Тогда сюда быстрее...
X   Сообщение сайта
(Сообщение закроется через 2 секунды)

Здравствуйте, гость ( Вход | Регистрация )




> Воспроизведение аудио + вопросы по Messagebox, Необходима помощь, по синтаксису и логике
MadYd
Вставить ник
сообщение 14:05:2008, 18:47
Цитата Ответить 


Новенький
*

Группа: Новенький
Сообщений: 1
Регистрация: 14:05:2008
Пользователь №: 17 274



Репутация:   0  


Ситуация такая... Таймер, который отвечает за построение бегущего графика текущей температуры, также должен осуществлять проверку значений, по которым строится сам график.

private void timer3_Tick(object sender, EventArgs e)
{

//-------------------------------------------------------------

y2=p();

// --------------------------------------------------------------

j=Tverh();

h=Tniz();

//Дальше должна идти проверка

}

Переменные j и h получают значения, ограничивающие значение y2, и в случае, если y2 будет выходить за пределы, то должно выскакивать какое-нибудь сообщение и играть какая-нибудь сирена! Но поскольку таймер выполняет одно и тоже, то новый MEssageBox после проверки выскакивает каждую секунду! Я не знаю как сделать так, чтобы вылетело ТОЛЬКО ОДНО сообщение, а не бесконечное множество, но при этом Таймер продолжил бы стороить график. А так же у меня вопрос- как можно воспроизвести звуковой файл(тут не нужно ничего мудреного, просто может одна какая-нибудь команда есть, допустим специально для waw)?
Подняться вверх 
 
Сообщение #1
 
Новая тема 
Ответов (1 - 2)
pushkin
Вставить ник
сообщение 23:05:2008, 12:18
Цитата Ответить 


Новенький
*

Группа: Новенький
Сообщений: 44
Регистрация: 8:11:2006
Из: Минск
Пользователь №: 7 658



Репутация:   0  


По поводу отображения единственного MessageBox'a можно где-нибудь в программе запомнить время последнего отображения (DateTime lastDisplay = DateTime.Now), а потом смотреть, прошло ли достаточно времени для того, чтобы его показать еще раз: if (DateTime.Now.Substruct(lastDisplay).ToMinutes > 1) {MessageBox.Show(...);}.

По поводу воспроизведения аудио - результат первого запроса в Google вывел мне примерно следующее:
 [DllImport("WinMM.dll")]
public static extern bool  PlaySound(byte[]wfname, int fuSound);

public void Play(string wfname,int SoundFlags)
{
    byte[] bname = new Byte[256];    //Max path length
    bname = System.Text.Encoding.ASCII.GetBytes(wfname);
    PlaySound(bname,SoundFlags);
}


Адрес статьи тут: ]]>http://www.codeguru.com/csharp/csharp/cs_g...icle.php/c6143/]]>
Подняться вверх 
 
Сообщение #2
Young Programmer
Вставить ник
сообщение 23:05:2008, 19:41
Цитата Ответить 


Новенький
*

Группа: Программист
Сообщений: 56
Регистрация: 13:11:2007
Пользователь №: 13 672



Репутация:   1  


Для отображения бокса 1 раз я бы завел логическую переменную, а затем проверка при выводе бокса

bool warningShown=false;
...........................
if (!warningShown)
{
MessageBox.Show("Error");
warningShown=true;
}
...............................


что-то типа этого
Подняться вверх 
 
Сообщение #3


Быстрый ответ  Ответить  Новая тема 

> Быстрый ответ
Полужирный
Курсив
Подчеркнутый
Вставить изображение
Смайлики
Цитата
Код
 
 Отправлять уведомления об ответах на e-mail |  Включить смайлики |  Добавить подпись |  AJAX?
   

 

RSS Текстовая версия Сейчас: 8:09:2008 - 11:50
с нами можно связаться по:
телефону: +375-(29)-632-60-67
e-mail:info@codeby.net