Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 | 3 |

 

  Вопрос: Возврат функцией управления Добавлено: 05.06.05 23:27  

Автор вопроса:  Илья | Web-сайт: www.lirc.narod.ru | ICQ: 251647191 
Кто мне скажет, как заставить функцию вернуть управление?
В частности, апишка Beep, которая играет звук через системный спикер. Зачем мне это надо, не скажу. Если получится, в примеры закину ;)
DoEvents нифига не возвращает. А так до того, пока писк не прекратится, комп выглядит намертво зависшим :)))

Ответить

  Ответы Всего ответов: 32  

Номер ответа: 1
Автор ответа:
 Morpheus



Вопросов: 224
Ответов: 3777
 Web-сайт: xury.zx6.ru
 Профиль | | #1
Добавлено: 05.06.05 23:39
А тебе качественный звук нужен? а то я бы посоветовал вместо beep 1000 сделать цикл с дуивЕнтс 100 раз по 10 :)

Ответить

Номер ответа: 2
Автор ответа:
 Mihalыch



ICQ: 373-509-101 

Вопросов: 56
Ответов: 330
 Профиль | | #2 Добавлено: 06.06.05 05:35
Попробуй ф-ю PlaySound, правда ей нужен файл *.wav, но она может возвращать управление приложению не дожидаясь окончания проигрывания файла.

Ответить

Номер ответа: 3
Автор ответа:
 LamerOnLine



ICQ: 334781088 

Вопросов: 108
Ответов: 2822
 Профиль | | #3 Добавлено: 06.06.05 10:19
Тебе нужно асинхронное выполнение функции. Это уже зависит от самой функции (или библиотеки). Или копай в сторону мультитрединга.

Ответить

Номер ответа: 4
Автор ответа:
 Илья



ICQ: 251647191 

Вопросов: 37
Ответов: 167
 Web-сайт: www.lirc.narod.ru
 Профиль | | #4
Добавлено: 06.06.05 21:38
усе не правы :( Звук нужен качественный (т.е. без лишних щелчков при вызове функции) и именно через системный спикер!
Тебе нужно асинхронное выполнение функции. Это уже зависит от самой функции (или библиотеки). Или копай в сторону мультитрединга.

А можно поподробней?

Ответить

Номер ответа: 5
Автор ответа:
 Илья



ICQ: 251647191 

Вопросов: 37
Ответов: 167
 Web-сайт: www.lirc.narod.ru
 Профиль | | #5
Добавлено: 06.06.05 21:41
как создавать потоки? а то я в этом не силен :)

Ответить

Номер ответа: 6
Автор ответа:
 Morpheus



Вопросов: 224
Ответов: 3777
 Web-сайт: xury.zx6.ru
 Профиль | | #6
Добавлено: 06.06.05 22:58
Блин, да вы чё гоните??? каикие нафиг потоки?! в ВБ сделать безглючную многопоточную прогу это ж капец! лучше запихни писк в ресурс и посмотри в примерах как его выводить, не подвешивая прогу. тем более + в том, что в 9х частота beep'а игнорируется

Ответить

Номер ответа: 7
Автор ответа:
 Илья



ICQ: 251647191 

Вопросов: 37
Ответов: 167
 Web-сайт: www.lirc.narod.ru
 Профиль | | #7
Добавлено: 08.06.05 21:30
в 9х частота beep'а игнорируется


да знаю. обидно :(

в ВБ сделать безглючную многопоточную прогу это ж капец!


ИМХО совершенно верно! :)

лучше запихни писк в ресурс и посмотри в примерах как его выводить, не подвешивая прогу.


а в каком разделе искать?

Ответить

Номер ответа: 8
Автор ответа:
 RomaVis



ICQ: 266287351 

Вопросов: 31
Ответов: 147
 Профиль | | #8 Добавлено: 08.06.05 21:52

Слушайте. Про какой Beep речь идет??? Просто Beep или ApiBeep ???? И ещё - beep у меня не выводила звук через сист. спикер. Если юзаеш простой БИП, то попробуй АпиБип (это АПИшка), код могу дать (если в АпиВъювере не найдетса). Ксатти АпиБип выводит звук именно через сист. спикер, плюс в ней задаются частоты и продолжительность. Но есть - - она делает чтобы какбы прога твоя висла на время звучания

Ответить

Номер ответа: 9
Автор ответа:
 RomaVis



ICQ: 266287351 

Вопросов: 31
Ответов: 147
 Профиль | | #9 Добавлено: 08.06.05 21:54

А если речь идет о PlayResourceSound - код могу дать...

Ответить

Номер ответа: 10
Автор ответа:
 Илья



ICQ: 251647191 

Вопросов: 37
Ответов: 167
 Web-сайт: www.lirc.narod.ru
 Профиль | | #10
Добавлено: 09.06.05 21:52
2RomaVis
Речь идёт именно об АПИшке бип. Вот то, что она виснет, и ежику понятно. А вот как заставить её не виснуть?

Ответить

Номер ответа: 11
Автор ответа:
 HOOLIGAN



Вопросов: 0
Ответов: 1066
 Профиль | | #11 Добавлено: 09.06.05 22:28
Неужели это так страшно: на секунду оторваться от вб, если он не позволяет сделать устойчивый поток, и воспользоваться другим инструментом: си, дельфи, ассемблер. Сделал часть кода не на вб и никаких проблем. Всего то надо CreateThread вызвать.
Вот блин проблему раздули :)

Ответить

Номер ответа: 12
Автор ответа:
 RomaVis



ICQ: 266287351 

Вопросов: 31
Ответов: 147
 Профиль | | #12 Добавлено: 09.06.05 22:40

HOOLIGAN - хе хе... тебе то не проблема, а вот таких как я тут много - незнают не С, не делфи не АСМы... Такшто ты недумай, что все такие универсальные как ты... Видиш ли мне както влом учить другие языки - я вообщето программированием пользуюсь как любитель, а не как программист. Да и времни на учение нету.... И ещо - мне покачто ВБ достаточно - я в небо не рвусь

Ответить

Номер ответа: 13
Автор ответа:
 Morpheus



Вопросов: 224
Ответов: 3777
 Web-сайт: xury.zx6.ru
 Профиль | | #13
Добавлено: 09.06.05 23:19
ну блин, я например и вб знаю на среднем уровне и делфи неплохо, а как их вместе заставить запахать вообще понятия не имею... просветите пожалуйста :)

Ответить

Номер ответа: 14
Автор ответа:
 HOOLIGAN



Вопросов: 0
Ответов: 1066
 Профиль | | #14 Добавлено: 09.06.05 23:26
Morpheus, слышал наверное такое слово: dll?

Ответить

Номер ответа: 15
Автор ответа:
 Morpheus



Вопросов: 224
Ответов: 3777
 Web-сайт: xury.zx6.ru
 Профиль | | #15
Добавлено: 10.06.05 02:05
2HOOLIGAN: ну и пофиг что длл, ведь функция не вернёт управления пока не закончит своё выполнение и пофиг из каких длл она вызывается-из мелкомягких или макротвёрдых... или нет?

Ответить

Страница: 1 | 2 | 3 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам