![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Подскажите пожалуйста, как мне воспроизвести звук. В таблице SOUND есть поля: ID; Adres; Time_play. Time_play тип Time хранит время, через которое должен воспроизвестись звук. При открытии формы ALARM все звуки воспроизводятся автоматически, согласно Time_play. Прошу вашей помощи.
|
|
#2
|
||||
|
||||
|
Звук можно воспроизвести через функцию:
Код:
function PlaySound(pszSound: PWideChar; hmod: HMODULE; fdwSound: DWORD): BOOL; |
|
#3
|
|||
|
|||
|
Так вот и загвоздка. Как считать из БД? Через IBQuery? Напишите пожалуйста примерный код.
|
|
#4
|
||||
|
||||
|
Как работать с BLOB полями на форумах писали очень много раз. Мне же писать пример или искать лень
![]() |
|
#5
|
|||
|
|||
|
Искать не лень. У меня времени нет разбираться. Ещё и базу редактировать. Завтра уже работу сдавать. А можно считывать путь к файлу из DBGrid и воспроизводить когда время работы формы (при нажатии на Button) равно полю Time_Play в DBGrid и переходить на следующую запись?
|
|
#6
|
|||
|
|||
|
Получается воспроизвести только первый файл и без учёта времени. Помогите доработать пожалуйста!!!
Код:
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
|
||||
|
||||
|
Сам по себе DBGrid не хранит данные, он всего лишь отображает их из Dataset и позволяет их редактировать. Можно путь к файлу брать из набора данных.
|
|
#8
|
|||
|
|||
|
Я это уже понял что через DataSet (смотри выше). Как мне выполнить задуманное? Я понимаю что надо использовать циклы.
|