home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Personal Computer World 1995 May
/
pcw-0595.bin
/
demos
/
databeck
/
wsounds
/
setup.dir
/
wswsrc.exe
/
SRCHDLG.PAS
< prev
next >
Wrap
Pascal/Delphi Source File
|
1992-11-06
|
3KB
|
102 lines
Unit SrchDlg;
INTERFACE
uses WinTypes, WinProcs, WinDos, WObjects, Strings, MMSystem,
DataObj, BWCC;
const
dn_SrchDlg = 'SrchDlg';
id_FileS = 1300;
id_Comm = 1301;
id_StartS= 1302;
id_Found = 1303;
id_FileC = 1304;
id_CommC = 1305;
id_FounC = 1306;
VAR
SrchBack : Integer;
type
PSrchDlg = ^TSrchDlg;
TSrchDlg = object(TDialog)
CurrCollect : PWaveCollection;
InfoFlag : Byte;
CurrNr : Integer;
constructor Init(AParent: PWindowsObject;AName: PChar; ACollect : PWaveCollection;
AInfo : Byte; ACurr : Integer);
procedure SetupWindow; virtual;
Procedure HandleStartSrch(VAR Msg : TMessage);virtual id_First + id_Starts;
end;
implementation
constructor TSrchDlg.Init(AParent: PWindowsObject;
AName: PChar; ACollect : PWaveCollection;AInfo : Byte; ACurr : Integer);
begin
TDialog.Init(AParent, AName);
CurrCollect := ACollect;
InfoFlag := AInfo;
CurrNr := ACurr;
SrchBack := 0;
end;
procedure TSrchDlg.SetupWindow;
VAR
ACount : Word;
Out : Array [0..6] of char;
Msg : TMessage;
begin
TDialog.SetupWindow;
TWindowsObject.Show(sw_Show);
HandleStartSrch(Msg);
end;
Procedure TSrchDlg.HandleStartSrch(VAR Msg : TMessage);
VAR
Counter : Integer;
PasS : String[10];
TDummy : ARRAY[0..128] OF CHar;
MDummy : Array[0..11] OF Char;
Count : Integer;
PWTest : PWaveData;
BEGIN
SetDlgItemText(HWindow, id_FileC, 'File :');
SetDlgItemText(HWindow, id_CommC, 'Comment :');
SetDlgItemText(HWindow, id_FounC, 'Found :');
SetDlgItemText(HWindow, id_FileS, 'Database');
SetDlgItemText(HWindow, id_Comm, 'Selection');
SetDlgItemText(HWindow, id_Found, '0');
IF InfoFlag = 1 THEN BEGIN
WD_SearchAll(HWindow,CurrCollect, WavePlayColl, WaveDCrit, Counter);
Str(Counter:5,PasS);
StrCopy(TDummy,' There were ');
StrCat(TDummy,StrPCopy(MDummy,PasS));
StrCat(TDummy, ' elements');
StrCat(TDummy, #10#13);
StrCat(TDummy, 'taken from the database');
BWCCMessageBox(HWindow, TDummy, 'Wicked Sounds for Windows: Note',mb_Ok+mb_IconInformation);
END;
IF InfoFlag = 0 THEN BEGIN
SrchBack := CurrNr;
Count := CurrNr+1;
While (Count <= (WaveCollect^.Count-1)) DO BEGIN
PWTest := WaveCollect^.At(Count);
IF (WD_SearchNext(HWindow,Count, PWTest, WaveDCrit) = Count) THEN BEGIN
CurrNr := Count;
SrchBack := CurrNr;
Count:= WaveCollect^.Count+2;
END;
Inc(Count);
END;
IF (Count = WaveCollect^.Count) THEN BEGIN
StrCopy(ShortMain,'No more data records found');
BWCCMessageBox(HWindow,ShortMain, 'Wicked Sounds for Windows: Note',MB_Ok+MB_IconInformation);
END
END;
OK(Msg);
end;
BEGIN
END.