Система регистрации речи диспетчерских переговоров

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование



waveOutRestart(FWaveOut);

Timer1.Enabled:=true;

Play.Caption:=Пауза;

exit;

end;

if (Play.Caption = Играть) and (FRecorderMode = recModeOff) then begin

//если чтение wav файла прошло успешно, то

if ReadWaveFile=0 then begin

Select.Enabled:=false;//блокирует кнопку отбора

NoSelect.Enabled:=false;//блокирует кнопку Отмены отбора

DelTrack.Enabled:=false;//блокирует кнопку удаления записи

Stop.Enabled:=true;//разблокирует кнопку останова

Play.Caption:=Пауза;// кнопку проигрывания

StartWavePlay //Подготовка заголовков, добавление буферов, и начинаем проигрывание.

end ;

end;

end;

{******************таймеры используемые в программе********************************}

/////////////////////////////////////////////////////////////////////////////

//Таймер для обновления позиции trackbar1 и времени проигрывания

procedure TSysWaves.Timer1Timer(Sender: TObject);

var

min,sec:integer;

begin

min:=0;//обнуление кол-ва минут

trackbar1.Position:=trackbar1.Position+1;//увеличение позиции trackbar1 на 1

//обработка времени проигрывания для приемлего представления его на форме

sec:=trackbar1.Position;

if sec/60 >= 1 then begin

Min:=trunc(Sec/60);

Sec:=trunc((Sec/60-Min)*60);

end;

Label11.Caption :=Format(%.2d:%.2d,[Min,Sec]);

end;

/////////////////////////////////////////////////////////////////////////////

//таймер для подсчета времени с начала состояния Connected

procedure TSysWaves.Timer3Timer(Sender: TObject);

begin

inc(FTimeCounter);//увеличиваем счетчик времени на 1 секунду

if FRecorderMode = recModeRecord then UpdateRecordDisplay

end;

{****************************************************************************}

//Включить отбор записей

procedure TSysWaves.SelectClick(Sender: TObject);

begin

Datamodule1.WavBase.SetRangeStart;

Datamodule1.WavBase.FieldByName(DateName).AsDateTime:=DateTimePicker1.Date;

Datamodule1.WavBase.SetRangeEnd;

Datamodule1.WavBase.FieldByName(DateName).AsDateTime:=DateTimePicker2.Date;

Datamodule1.WavBase.ApplyRange;

end;

//отменить отбор

procedure TSysWaves.NoSelectClick(Sender: TObject);

begin

Datamodule1.WavBase.CancelRange;

end;

//удаление из базы текущей записи

procedure TSysWaves.DelTrackClick(Sender: TObject);

begin

FFileName:= IncludeTrailingBackslash(ExtractFilePath(Application.ExeName)) +WavBase\+ datamodule1.WavBase.FieldByName(FileName).AsString;

if FileExists(FFileName) then DeleteFile(FFileName);

Datamodule1.WavBase.Delete;

end;

//При закрытии формы закрытие базы данных

procedure TSysWaves.FormClose(Sender: TObject; var Action: TCloseAction);

begin

Datamodule1.WavBase.Close;

end;

//при изменении обьема звука наушников

procedure TSysWaves.HeadSetVolUpDownChangingEx(Sender: TObject;

var AllowChange: Boolean; NewValue: Smallint;

Direction: TUpDownDirection);

begin

HeadSetVolume.Position:=2*NewValue;

SaveConf.Enabled:=true;

end;

//при изменении коэффициента усиления звука наушников

procedure TSysWaves.HeadSetGainUpDownChangingEx(Sender: TObject;

var AllowChange: Boolean; NewValue: Smallint;

Direction: TUpDownDirection);

begin

HeadSetGain.Position:=2*NewValue;

SaveConf.Enabled:=true;

end;

//при изменении обьема звука микрофона

procedure TSysWaves.HandSetVolUpDownChangingEx(Sender: TObject;

var AllowChange: Boolean; NewValue: Smallint;

Direction: TUpDownDirection);

begin

HandSetVolume.Position:=2*NewValue;

SaveConf.Enabled:=true;

end;

//при изменении коэффициента усиления звука микрофона

procedure TSysWaves.HandSetGainUpDownChangingEx(Sender: TObject;

var AllowChange: Boolean; NewValue: Smallint;

Direction: TUpDownDirection);

begin

HandSetGain.Position:=2*NewValue;

SaveConf.Enabled:=true;

end;

end.

Модуль данных

unit DataMode;

interface

uses

SysUtils, Classes, DB, DBTables,bde;

type

TDataModule1 = class(TDataModule)

WavBase: TTable;

DataSource1: TDataSource;

WavBaseID: TAutoIncField;

WavBaseDateName: TDateField;

WavBaseTimeName: TTimeField;

WavBaseUserName: TStringField;

WavBaseFileName: TStringField;

procedure WavBaseAfterCancel(DataSet: TDataSet);

private

{ Private declarations }

public

{ Public declarations }

end;

var

DataModule1: TDataModule1;

implementation

{$R *.dfm}

//сброс кэша на диск с помощью механизма BDE

procedure TDataModule1.WavBaseAfterCancel(DataSet: TDataSet);

begin

Check(dbiSaveChanges(WavBase.Handle));

end;

end.

Модуль со справочной информацией

unit About;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, ExtCtrls;

type

TAbouts = class(TForm)

Panel1: TPanel;

ProductName: TLabel;

Version: TLabel;