Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 25.05.2016, 23:33
UnreNal UnreNal вне форума
Прохожий
 
Регистрация: 25.05.2016
Сообщения: 5
Версия Delphi: Delphi 7
Репутация: 10
Восклицание Воспроизведение звука из БД

Подскажите пожалуйста, как мне воспроизвести звук. В таблице SOUND есть поля: ID; Adres; Time_play. Time_play тип Time хранит время, через которое должен воспроизвестись звук. При открытии формы ALARM все звуки воспроизводятся автоматически, согласно Time_play. Прошу вашей помощи.
Ответить с цитированием
  #2  
Старый 26.05.2016, 07:08
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

Звук можно воспроизвести через функцию:
Код:
function PlaySound(pszSound: PWideChar; hmod: HMODULE; fdwSound: DWORD): BOOL;
Хоть из ресурса, хоть из файла, хоть из БД (считав из базы в память).
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #3  
Старый 26.05.2016, 19:09
UnreNal UnreNal вне форума
Прохожий
 
Регистрация: 25.05.2016
Сообщения: 5
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Так вот и загвоздка. Как считать из БД? Через IBQuery? Напишите пожалуйста примерный код.
Ответить с цитированием
  #4  
Старый 26.05.2016, 19:20
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

Как работать с BLOB полями на форумах писали очень много раз. Мне же писать пример или искать лень
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #5  
Старый 26.05.2016, 20:05
UnreNal UnreNal вне форума
Прохожий
 
Регистрация: 25.05.2016
Сообщения: 5
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Искать не лень. У меня времени нет разбираться. Ещё и базу редактировать. Завтра уже работу сдавать. А можно считывать путь к файлу из DBGrid и воспроизводить когда время работы формы (при нажатии на Button) равно полю Time_Play в DBGrid и переходить на следующую запись?
Ответить с цитированием
  #6  
Старый 26.05.2016, 20:54
UnreNal UnreNal вне форума
Прохожий
 
Регистрация: 25.05.2016
Сообщения: 5
Версия Delphi: Delphi 7
Репутация: 10
Восклицание

Получается воспроизвести только первый файл и без учёта времени. Помогите доработать пожалуйста!!!
Код:
procedure TFormTrevoga.FormActivate(Sender: TObject);
var
D1, D2, N: TDateTime;
X:string;
I:integer;
T:TTime;
begin
I:=DBGridKom.DataSource.DataSet.RecordCount;
X:=DBGridKom.DataSource.DataSet.FieldByName('ADRES_SOUND').AsString;
T:=DBGridKom.DataSource.DataSet.FieldByName('TIME_PLAY').AsDateTime;
N:=Now;
D1:=VarToDateTime(FormTrevoga.Edit1.Text);//Дата открытия формы
D2:=VarToDateTime(FormTrevoga.Edit2.Text);//Время открытия формы
ShowMessage('Количество строк: ' +IntToStr(I)+#13+
          'Адрес: ' +X +#13+
          'Время: ' +TimeToStr(T));
MCISendString(pchar('play ' + (X)), nil, 0, handle);
end;
Ответить с цитированием
  #7  
Старый 26.05.2016, 20:55
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

Сам по себе DBGrid не хранит данные, он всего лишь отображает их из Dataset и позволяет их редактировать. Можно путь к файлу брать из набора данных.
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #8  
Старый 26.05.2016, 21:05
UnreNal UnreNal вне форума
Прохожий
 
Регистрация: 25.05.2016
Сообщения: 5
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Я это уже понял что через DataSet (смотри выше). Как мне выполнить задуманное? Я понимаю что надо использовать циклы.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 12:58.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter