home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Personal Computer World 1995 May
/
pcw-0595.bin
/
demos
/
databeck
/
wsounds
/
setup.dir
/
wswsrc.exe
/
MARKDLG.PAS
< prev
next >
Wrap
Pascal/Delphi Source File
|
1992-12-02
|
8KB
|
269 lines
{ Unit MarkDlg - for selecting data }
Unit MarkDlg;
interface
(* Add units *)
USES WObjects,WinTypes,WinProcs,WinDos,Strings,WinCrt,MMSystem,
DataObj, SrchDlg;
(* Define constants and other STUFF *)
const
DN_MarkDlg = 'SELECTED';
Selected = 1;
lAND = 1;
lOR = 2;
lNOT = 3;
EXACTLY = 1;
LATER = 2;
EARLIER = 3;
(* Search Dialog *)
const ID_Name = 100;
ID_Exact = 103;
ID_Younger = 104;
ID_Older = 105;
ID_Srch1 = 106;
ID_And1 = 107;
ID_Or1 = 108;
ID_ButNot1 = 109;
ID_Srch2 = 110;
ID_And2 = 111;
ID_Or2 = 112;
ID_ButNot2 = 113;
ID_Srch3 = 114;
ID_Day = 115;
ID_Mon = 116;
ID_Year = 117;
ID_And0 = 118;
ID_Or0 = 119;
ID_ButNot0 = 120;
ID_Pathsr = 121;
ID_LabelS = 122;
{ Declare application object and its methods }
TYPE
PMarkDlg = ^TMarkDlg;
TMarkDlg = OBJECT (TDialog)
OutBuf : PChar;
DateState : Byte;
CheckState0 : Byte;
CheckState1 : Byte;
CheckState2 : Byte;
CONSTRUCTOR Init (AParent : PWindowsObject; AName: PChar; PBuffer: PChar);
PROCEDURE SetupWindow; virtual;
PROCEDURE Ok (VAR Msg: TMessage); virtual ID_First + ID_OK;
PROCEDURE Cancel (VAR Msg: TMessage);virtual ID_First + ID_CANCEL;
PROCEDURE Exact (var Msg: TMessage); virtual ID_First + ID_Exact;
PROCEDURE Younger (Var Msg: TMessage);virtual ID_First + ID_Younger;
PROCEDURE Older (Var Msg: TMessage); virtual ID_First + ID_Older;
PROCEDURE And0 (Var Msg: TMessage); virtual ID_First + ID_And0;
PROCEDURE Or0 (Var Msg: TMessage); virtual ID_First + ID_Or0;
PROCEDURE ButNot0 (Var Msg: TMessage); virtual ID_First + ID_ButNot0;
PROCEDURE And1 (Var Msg: TMessage); virtual ID_First + ID_And1;
PROCEDURE Or1 (Var Msg: TMessage); virtual ID_First + ID_Or1;
PROCEDURE ButNot1 (Var Msg: TMessage); virtual ID_First + ID_ButNot1;
PROCEDURE And2 (Var Msg: TMessage); virtual ID_First + ID_And2;
PROCEDURE Or2 (Var Msg: TMessage); virtual ID_First + ID_Or2;
PROCEDURE ButNot2 (Var Msg: TMessage); virtual ID_First + ID_ButNot2;
END;
IMPLEMENTATION
{ Initialize dialog box }
CONSTRUCTOR TMarkDlg.Init (AParent : PWindowsObject; AName: PChar; PBuffer:PChar);
BEGIN
TDialog.Init(AParent,Aname);
DateState := Exactly;
CheckState0 := 0;
CheckState1 := 0;
CheckState2 := 0;
END;
PROCEDURE TMarkDlg.Exact (var Msg:TMessage);
Begin
CheckRadioButton(HWindow, id_Exact, id_Older, id_Exact);
datestate := ID_EXACT;
End;
PROCEDURE TMarkDlg.Younger (var Msg:TMessage);
Begin
CheckRadioButton(HWindow, id_Exact, id_Older, id_Younger);
datestate := Later;
End;
PROCEDURE TMarkDlg.Older (var Msg:TMessage);
Begin
CheckRadioButton(HWindow, id_Exact, id_Older, id_Older);
datestate := Earlier;
End;
procedure TMarkDlg.And0(var Msg: TMessage);
BEGIN
CheckRadioButton(HWindow, id_And0, id_ButNot0, id_And0);
CheckState0 := 0;
END;
procedure TMarkDlg.ButNot0(var Msg: TMessage);
BEGIN
CheckRadioButton(HWindow, id_And0, id_ButNot0, id_ButNot0);
CheckState0 := 2;
END;
procedure TMarkDlg.Or0(var Msg: TMessage);
BEGIN
CheckRadioButton(HWindow, id_And0, id_ButNot0, id_Or0);
CheckState0 := 1;
END;
procedure TMarkDlg.And1(var Msg: TMessage);
BEGIN
CheckRadioButton(HWindow, id_And1, id_ButNot1, id_And1);
CheckState1 := 0;
END;
procedure TMarkDlg.ButNot1(var Msg: TMessage);
BEGIN
CheckRadioButton(HWindow, id_And1, id_ButNot1, id_ButNot1);
CheckState1 := 2;
END;
procedure TMarkDlg.Or1(var Msg: TMessage);
BEGIN
CheckRadioButton(HWindow, id_And1, id_ButNot1, id_Or1);
CheckState1 := 1;
END;
procedure TMarkDlg.And2(var Msg: TMessage);
BEGIN
CheckRadioButton(HWindow, id_And2, id_ButNot2, id_And2);
CheckState2 := 0;
END;
procedure TMarkDlg.ButNot2(var Msg: TMessage);
BEGIN
CheckRadioButton(HWindow, id_And2, id_ButNot2, id_ButNot2);
CheckState2 := 2;
END;
procedure TMarkDlg.Or2(var Msg: TMessage);
BEGIN
CheckRadioButton(HWindow, id_And2, id_ButNot2, id_Or2);
CheckState2 := 1;
END;
{ Create dialog box }
PROCEDURE TMarkDlg.SetupWindow;
BEGIN
TDialog.SetupWindow;
CheckRadioButton(HWindow, id_And0, id_ButNot0, id_And0);
CheckRadioButton(HWindow, id_And1, id_ButNot1, id_And1);
CheckRadioButton(HWindow, id_And2, id_ButNot2, id_And2);
CheckRadioButton(HWindow, id_Exact, id_Older, id_Exact);
SendDlgItemMessage(HWindow, id_Name, em_LimitText, 8, 0);
SendDlgItemMessage(HWindow, id_LabelS, em_LimitText, 11, 0);
SendDlgItemMessage(HWindow, id_Pathsr, em_LimitText, 127, 0);
SendDlgItemMessage(HWindow, id_Srch1, em_LimitText, 62, 0);
SendDlgItemMessage(HWindow, id_Srch2, em_LimitText, 62, 0);
SendDlgItemMessage(HWindow, id_Srch3, em_LimitText, 62, 0);
SendDlgItemMessage(HWindow, id_Mon, em_LimitText, 2, 0);
SendDlgItemMessage(HWindow, id_Day, em_LimitText, 2, 0);
SendDlgItemMessage(HWindow, id_Year, em_LimitText, 4, 0);
END;
{ OK button was clicked }
PROCEDURE TMarkDlg.OK (VAR Msg: TMessage);
VAR
LDialog : PSrchDlg;
Ch : Char;
CCount : Integer;
BEGIN
With WaveDCrit DO BEGIN
WName[0] := #0;
WLabl[0] := #0;
WPath[0] := #0;
WBase[0] := #0;
WLim1[0] := #0;
WLim2[0] := #0;
WMon [0] := #0;
WDay [0] := #0;
WYear[0] := #0;
END;
GetDlgItemText (HWindow, ID_Name, WaveDCrit.WName,9);
GetDlgItemText (HWindow, ID_LabelS, WaveDCrit.WLabl,12);
GetDlgItemText (HWindow, ID_Pathsr, WaveDCrit.WPath,127);
GetDlgItemText (HWindow, ID_Srch1, WaveDCrit.WBase,63);
GetDlgItemText (HWindow, ID_Srch2, WaveDCrit.WLim1,63);
GetDlgItemText (HWindow, ID_Srch3, WaveDCrit.WLim2,63);
WaveDCrit.WCon0 := CheckState0;
WaveDCrit.WCon1 := CheckState1;
WaveDCrit.WCon2 := CheckState2;
GetDlgItemText (HWindow, ID_Mon, WaveDCrit.WMon,3);
if (StrLen(WaveDCrit.WMon) = 1) THEN BEGIN
Ch := WaveDCrit.WMon[0];
WaveDCrit.WMon[0] := '0';
WaveDCrit.WMon[1] := Ch;
WaveDCrit.WMon[2] := #0;
END;
IF (StrLen(WaveDCrit.WMon) = 2) THEN BEGIN
Ch := WaveDCrit.WMon[0];
IF ((Ch < '0') or (Ch > '9')) THEN WaveDCrit.WMon[0] := '0';
Ch := WaveDCrit.WMon[1];
IF ((Ch < '0') or (Ch > '9')) THEN WaveDCrit.WMon[1] := '0';
END;
GetDlgItemText (HWindow, ID_Day, WaveDCrit.WDay,3);
if (StrLen(WaveDCrit.WDay) = 1) THEN BEGIN
Ch := WaveDCrit.WDay[0];
WaveDCrit.WDay[0] := '0';
WaveDCrit.WDay[1] := Ch;
WaveDCrit.WDay[2] := #0;
END;
IF (StrLen(WaveDCrit.WDay) = 2) THEN BEGIN
Ch := WaveDCrit.WDay[0];
IF ((Ch < '0') or (Ch > '9')) THEN WaveDCrit.WDay[0] := '0';
Ch := WaveDCrit.WDay[1];
IF ((Ch < '0') or (Ch > '9')) THEN WaveDCrit.WDay[1] := '0';
END;
GetDlgItemText (HWindow, ID_Year, WaveDCrit.WYear,5);
FOR CCount := 0 to StrLen(WaveDCrit.WYear)-1 DO BEGIN
Ch := WaveDCrit.WYear[CCount];
IF ((Ch < '0') or (Ch > '9')) THEN WaveDCrit.WYear[CCount] := '0';
END;
WaveDCrit.WDat := DateState;
{
WriteLn('Name : ',WaveDCrit.WName,' -> ', StrLen(WaveDCrit.WName));
WriteLn('Basis: ',WaveDCrit.WBase);
WriteLn('WLim1: ',WaveDCrit.WLim1,' -> ',StrLen(WaveDCrit.WLim1));
WriteLn('WCon1: ',WaveDCrit.WCon1);
WriteLn('WLim2: ',WaveDCrit.WLim2);
WriteLn('WCon2: ',WaveDCrit.WCon2);
WriteLn('WMon : ',WaveDCrit.WMon,' -> ',StrLen(WaveDCrit.WMon));
WriteLn('WDay : ',WaveDCrit.WDay,' -> ',StrLen(WaveDCrit.WDay));
WriteLn('WYear: ',WaveDCrit.WYear,' -> ',StrLen(WaveDCrit.WYear));
WriteLn('WDat : ',WaveDCrit.WDat);
}
{
LDialog := New(PSrchDlg, Init(@self, dn_SrchDlg,WaveCollect));
IF Application^.ExecDialog(LDialog) = ID_OK THEN
BEGIN END;
}
TDialog.OK (Msg);
END;
{ CANCEL button clicked }
PROCEDURE TMarkDlg.CANCEL (VAR Msg: TMessage);
BEGIN
TDialog.CANCEL (Msg);
END;
BEGIN
END.