Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/13: Рейтинг темы: голосов - 13, средняя оценка - 4.54
191 / 29 / 8
Регистрация: 15.09.2011
Сообщений: 430

Звук при закрытии формы

01.08.2012, 10:52. Показов 2568. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как проиграть звук при закрытии формы? OnClose пробовал. Форма просто закрывается.
А на OnCloseQuery стоит такое событие.
Delphi
1
2
3
4
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
CanClose:=MessageDlg ('Вы действительно хотите выйти?',mtConfirmation,[mbYes,mbNo],0)=mrYes
end;
Звук пока проигрывается таким способом:
Delphi
1
2
3
4
5
procedure TForm1.Image5Click(Sender: TObject);
begin
PlaySound('File\off.wav', 0, SND_ASYNC);
Form1.Close;
end;
Но кривовато. Т.к, если пользователь отменит выход звук все равно играет т.к вызван раньше закрытия формы. Как выровнить систему эту.....
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.08.2012, 10:52
Ответы с готовыми решениями:

MessageBox при закрытии формы
Доброго времени суток. Проблема вот какая. Вот этот кусок кинул в MainMenu: procedure TForm1.N4Click(Sender: TObject); var ...

Ошибка при закрытии формы
В общем сделал вывод функций с dll, все замечательно только вот при закрытии программы вылазиет ошибка . В чем проблема?

Завершение приложения при закрытии формы
Есть туча форм, аж 31 которые перетекают из одной в другую по ходу программы. В чем суть проблемы, если я закрываю крестиком не Form1,...

8
Житель Земли
 Аватар для DenNik
3004 / 3026 / 390
Регистрация: 26.07.2011
Сообщений: 11,465
Записей в блоге: 1
01.08.2012, 10:56
поигрывай звук в событии OnClose, т.к. оно возникает только если CanClose = true

Добавлено через 45 секунд
а при щелчке на Имаже просто вызывай Close, все сработает автоматом
0
191 / 29 / 8
Регистрация: 15.09.2011
Сообщений: 430
01.08.2012, 11:00  [ТС]
Цитата Сообщение от DenNik Посмотреть сообщение
поигрывай звук в событии OnClose, т.к. оно возникает только если CanClose = true

Добавлено через 45 секунд
а при щелчке на Имаже просто вызывай Close, все сработает автоматом
OnClose пробовал. Слышно звук только начинает играть и форма закрывается
0
Житель Земли
 Аватар для DenNik
3004 / 3026 / 390
Регистрация: 26.07.2011
Сообщений: 11,465
Записей в блоге: 1
01.08.2012, 11:07
Цитата Сообщение от hacker_007 Посмотреть сообщение
OnClose пробовал. Слышно звук только начинает играть и форма закрывается
наверное, потому что SND_ASYNC, но я не уверен. или звук длинный слишком. лучше бип короткий
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33379 / 21503 / 8236
Регистрация: 22.10.2011
Сообщений: 36,899
Записей в блоге: 12
01.08.2012, 11:08
Цитата Сообщение от hacker_007 Посмотреть сообщение
Слышно звук только начинает играть и форма закрывается
Естественно, ты ж задал ключ SND_ASYNC - вот и играется асинхронно: началось проигрывание - функция вернула управление твоему приложению, форма закрылась. Убери асинхронность - мелодия будет играть пока не закончится, потом форма закроется.
1
Житель Земли
 Аватар для DenNik
3004 / 3026 / 390
Регистрация: 26.07.2011
Сообщений: 11,465
Записей в блоге: 1
01.08.2012, 11:12
Цитата Сообщение от UI Посмотреть сообщение
Естественно, ты ж задал ключ SND_ASYNC - вот и играется асинхронно: началось проигрывание - функция вернула управление твоему приложению, форма закрылась. Убери асинхронность - мелодия будет играть пока не закончится, потом форма закроется.
вот и так подумал. поэтому и нужен короткий звук, чтобы не казалось, что форма зависли при проигрывании
1
191 / 29 / 8
Регистрация: 15.09.2011
Сообщений: 430
01.08.2012, 11:14  [ТС]
Ааааааааа точно......
SND_SYNC надо тогда
0
 Аватар для SharpFellow
55 / 30 / 4
Регистрация: 03.11.2011
Сообщений: 130
01.08.2012, 16:58
OnCloseQuery попробуй
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33379 / 21503 / 8236
Регистрация: 22.10.2011
Сообщений: 36,899
Записей в блоге: 12
01.08.2012, 18:00
Цитата Сообщение от Sharpfellow Посмотреть сообщение
OnCloseQuery попробуй
Смысл? В OnCloseQuery пользователь может еще не дать разрешение на закрытие формы, а звук уже будет? Правильный ответ уже прозвучал.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
01.08.2012, 18:00
Помогаю со студенческими работами здесь

Вызов процедуры при закрытии формы
Ребят привет! Такая ситуация, есть форма 1 из нее показывается форма 2 вот так Form2.Showmodal в ней выполняются некие действия, потом...

Очистить компонент image при закрытии формы
Уважаемые форумчане как сделать так что бы при закрытие формы компонент имедж отчищался

Ошибка при закрытии формы с компонентом WebBrowser
Есть форма, а на ней WebBrowser. Зметил что когда WebBrowser грузится и в этот момент закрыть форму, то выскакивает ошибка: First chance...

Как удалить данные с формы при закрытии?
На форме есть Timage, на котором рисуется картинка, как сделать так чтобы при закрытии формы рисунок уничтожался?

Динамические компоненты, удаление при закрытии формы
У меня при нажатии на кнопку открывается вторая форма, на ней создаётся панель, на панеле создаются кнопка и label, надо, что б при...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! в-строка - входное арифметическое выражение в инфиксной(обычной). . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru