Звук на динамик РС в 32-bit

Программы на Clarion, шаблоны, библиотеки и пр.

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
Гость

Сообщение Гость »

Hi, All

Вопросы к Андрею Истомину по subj.

Андрей, попробовал присланную тобой библиотеку Beepdll.lib (beep.dll). Все пашет Ok. Но есть пара вопросов:
1. Зачем сюда лепить класс? Ведь ф-ция BeepSp из библиотеки и так прекрасно работает:

Код: Выделить всё

 
  program
  map
    module('beepdll')
      BeepSp(ulong Freq,ulong Duration),Pascal,name('BeepSp')
    .
  .
 
  code
   loop 3 times
      BeepSp(1000,500)
      BeepSp(4000,1000)
   .
Только в проект включить Beepdll.lib

2. Можешь ли поделиться, как программно реализована ф-ция BeepSp(freq,durat). На чем написана (если можно - исходничек), используются ли к.-л. API-шные ф-ции или реализовано на ASM через доступ к портам ?

С уважением,
Александр Полонский
Написал: ClaList(2)
Гость

Сообщение Гость »

а без DLL модуля можно кинуть?

--
Всего хорошего
Evgeny mailto:mixer@clarionlife.net
Сайт для кларионистов: http://www.clarionlife.net
Clarion FAQ: http://www.clarionlife.net/cgi-bin/bl_faq.pl?comm=tree

Исходник на masm32 подойдет ?

С уважением, Андрей Истомин

Конечно, подойдет. Кинь, пжст, в рассылку.

С уважением,
Александр Полонский
Написал: ClaList(2)
Гость

Сообщение Гость »

Для компиляции нужно скачать MASM32(freeware)
Я пользовался:
http://spiff.tripnet.se/~iczelion/files/masm32v8.zip

Если необходимо, изменить пути в build.bat
и запустить его.

С уважением, Андрей Истомин


(Добавление)
Только в проект включить Beepdll.lib
Конечно - это самый привычный способ.
Чем удобен класс:
делаем только один include и автоматом линкуется Beepdll.lib и декларация ф-ии.

2. dll написана на MASM32. Исходник на кларином asm впрямую не откомпилируется - есть разница в наборе операторов.
Алгоритм:
1)Проверяем GetVersionEx операционку
2)Если NT - вызываем WinApi-шную Beep
3)Если Win9x - работаем через порты.

С уважением, Андрей Истомин

Спасибо,

С уважением,
Александр Полонский
Написал: ClaList(2)
Ответить