Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.03.2011, 22:33   #1
Deis
Пользователь
 
Регистрация: 15.01.2009
Сообщений: 37
Восклицание Вопрос про MaskEdit и воиспроизведение *.wav в C++ Builder 6

Делаю программу таймер обратного отсчёта. Пользователь вводит в MaskEdit1(2,3) часы, минуты и секунды. По истечении времени воспроизводится звуковой сигнал *.wav. Практически всё понятно и совсем чуть чуть надо помочь.

1) В MaskEdit я сделал, чтобы вводились только цифры. Но всё равно проскакивает какой-нибудь символ, если его нажать раньше цифры. Как это исправить?

2) В MaskEdit если нет ни одного числа и нажать на пуск, то появляется ошибка на Инглише, как сделать так, чтобы вылазила "своя" ошибка, т.е. допустим надпись "Вы не ввели ни одного числа"

3) Как сделать так, когда таймер отсчитал всё время сколько задал пользователь, воспроизводился звуковой сигнал (например Alarm.wav).

Заранее благодарен!

вот код моего недоделаного таймера:
Код:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
short h, m, s;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
// настройка таймера
   Timer1->Enabled = false;
   Timer1->Interval = 1000; // период сигналов от таймера
    // 1 сек
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
if ( ! Timer1->Enabled )
   {
     // запустить таймер
      Timer1->Enabled = true;
      Button1->Caption = "Стоп";
      Button2->Enabled = false;
    }
    else
     {
       // остановить таймер
       Timer1->Enabled = false;
       Button1->Caption = "Пуск";
       Button2->Enabled = true;
     }
h = StrToInt( MaskEdit1 -> Text );
m = StrToInt( MaskEdit2 -> Text );
s = StrToInt( MaskEdit3 -> Text );

}
//---------------------------------------------------------------------------
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
if ( s >= 1 ) {
s--;
} else if ( s <= 0 ) {
s = 59;
s--;
if ( m >= 1 ) {
m--;
} else if ( m <= 0 ) {
m = 59;
if ( h >= 1 ) {
h--;
} else if ( h <= 0 ) {
h = 23;
m = 59;
s = 59;
}
}
}
Label1 -> Caption = IntToStr( h );
Label2 -> Caption = IntToStr( m );
Label3 -> Caption = IntToStr( s );        
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
h = 0;
m = 0;
s = 0;
Label1->Caption = "00";
Label2->Caption = "00";
Label3->Caption = "00";
}
//---------------------------------------------------------------------------
void __fastcall TForm1::MaskEdit1Change(TObject *Sender)
{
MaskEdit1 -> EditMask = "!99;1; "; //Ввод только цифр. Максимальное значение 99
}
//---------------------------------------------------------------------------
void __fastcall TForm1::MaskEdit2Change(TObject *Sender)
{
MaskEdit2 -> EditMask = "!99;1; "; //Ввод только цифр. Максимальное значение 99
}
//---------------------------------------------------------------------------
void __fastcall TForm1::MaskEdit3Change(TObject *Sender)
{
MaskEdit3 -> EditMask = "!99;1; "; //Ввод только цифр. Максимальное значение 99
}
//---------------------------------------------------------------------------
Deis вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос про MaskEdit и воиспроизведение *.wav Deis C++ Builder 4 20.04.2011 20:07
вопрос про поиск в ListBox [C++ Builder] getUp Помощь студентам 0 04.10.2009 14:46
Проблема с MaskEdit в C++ Builder Fe_DoS C++ Builder 1 03.04.2009 23:51
Вопрос наверное про функции, а так точно даже не знаю про что. (Вопрос начинющего #6) Albert2008 Общие вопросы Delphi 4 21.08.2008 15:33
У меня вопрос про базы данных,а точнее про таблицы!!! Alexij Общие вопросы Delphi 1 13.04.2008 23:24