Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Visual C++/MFC/WTL > [VC++] тестируем прогу


Автор: MorpeX 3.11.2006, 20:57
Вот, собственно, моя первая программа на Visual C++. Называется она "Морзянка" и переводит введенный текст на язык сигналов Морзе. Я хочу чтобы ее протестировали именно на этом форуме, так как именно к вам я обращался за помощью smile. Я еще не реализовал запись выходных сигналов в файл, поэтому может быть вы посмотрите программу и подскажете как сделать это. Дело в том что мне всего 15 лет и специально языку С++ я не обучаюсь, все на энтузиазме smile. Так что просьба особо не хаять. Вобщем смотрите.

Автор: MorpeX 3.11.2006, 21:48
Да,  если проблема с записью звука решиться, я занесу ваш форум в Избранное, всталю в свою подпись на других форумах, проголосую за него в Премии Рунета... короче я буду ооочень признателен вам smile.

З.Ы. ну и конечно жду мнений о программе smile

Автор: Dray 4.11.2006, 00:46
Единственное пожелание которое пока появилось - это чтоб звук не блочил программу. А то получается так - вводишь длинный текст, жмешь get signal code пока он пищит нажимаешь exit, а толку не фига. Надо чтоб звук можно было прервать.
А насчет записи в файл - вопросы поконкретней, пожалуйста.

Автор: MorpeX 4.11.2006, 01:37
А как прервать выполнение метода?

Автор: MorpeX 4.11.2006, 11:54
Цитата
А насчет записи в файл - вопросы поконкретней, пожалуйста. 

Ну я хочу чтобы все, что программа выдает на колонки, можно было записать в звуковой wav-файл. 

Автор: Любитель 4.11.2006, 13:19
Цитата(MorpeX @  4.11.2006,  01:37 Найти цитируемый пост)
А как прервать выполнение метода?

В общем случае - выполняй в отдельном потоке. В конкретном - возможно сделать проще. Зависит от того, что за АПИ используешь для генерации звука.

ЗЫ. Для обсуждения своих программ есть специальный раздел - может лучше было бы туда?

Автор: MorpeX 4.11.2006, 14:06
Любитель
Цитата

ЗЫ. Для обсуждения своих программ есть специальный раздел - может лучше было бы туда? 

Не возражаю. Давай адрес. Или лучше пусть модераторы туда переместят.

Добавлено @ 14:07 
Метод генерации звука для цифры 8:

Код

void CMorseDlg::eightSound()
{
        PlaySound("Beeps\\beep.wav",NULL, SND_ASYNC); 
        Sleep(200);
        PlaySound("Beeps\\beep.wav",NULL, SND_ASYNC); 
        Sleep(200);
        PlaySound("Beeps\\beep.wav",NULL, SND_ASYNC); 
        Sleep(200);
        PlaySound("Beeps\\bip.wav",NULL, SND_ASYNC); 
        Sleep(120);
        PlaySound("Beeps\\bip.wav",NULL, SND_ASYNC); 
        Sleep(120);

};

Автор: Любитель 4.11.2006, 14:12
Цитата(MorpeX @  4.11.2006,  14:06 Найти цитируемый пост)
Давай адрес

Где-то в "Работа, хобби, учёба". (не адрес, конечно, но всё же).

Для прерывания
Цитата

The sound is played asynchronously and PlaySound returns immediately after beginning the sound. To terminate an asynchronously played waveform sound, call PlaySound with pszSound set to NULL.

А сие означает что надо при выходе вызвать (ну там с проверками играется сейчас или нет - если надо, сам, думаю, разберёшься):
Код

PlaySound(NULL, NULL, SND_ASYNC);

Автор: MorpeX 4.11.2006, 14:53
Поставил при нажатии на кнопку выхода... нифига... будем разбираться...

Добавлено @ 14:54 
Любитель
Аська е?

Автор: Любитель 4.11.2006, 14:57
Цитата(MorpeX @  4.11.2006,  14:53 Найти цитируемый пост)
Любитель
Аська е? 

не  smile А зачем?

Автор: MorpeX 4.11.2006, 15:31
Нет так нет. smile

Есть идея как прервать метод, но че-т я забыл как отлавливать нажатые клвиши...

Автор: MorpeX 4.11.2006, 17:42
Усе, разобрался, сделал прерывание по нажатию на правый CTRL

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)