home *** CD-ROM | disk | FTP | other *** search
Text File | 1994-04-23 | 2.4 KB | 101 lines | [TEXT/PJMM] |
- { utility.p --> just code modules that handle utility}
- {routines. }
- unit Utility;
-
- interface
-
- function GetGmtDelta: LONGINT;
- procedure SetCheckItem (setupDlg: DialogPtr;
- item: integer;
- truth: Boolean);
- procedure NegateCheckItem (setupDlg: DialogPtr;
- item: integer;
- var truth: Boolean);
- function CompareMyValues (value, max, min: extended;
- previous: Boolean): Boolean;
- function ChooseRandom (min, max: integer): integer;
-
- implementation
- uses
- Script, SANE, Globals;
- { choose a random integer between min and max }
- function ChooseRandom (min, max: integer): integer;
- var
- randNum: integer;
- range, t: LONGINT;
- begin
- randNum := Random;
- if randNum < 0 then
- randNum := -randNum;
-
- range := max - min;
- t := (randNum * range) div 32767;
- ChooseRandom := min + t;
- end;
- { compare two extended values }
- function CompareMyValues (value, max, min: extended;
- previous: Boolean): Boolean;
- var
- relMax, relMin: RelOp;
- begin
- relMax := Relation(value, max);
- relMin := Relation(value, min);
- if (((relMax = LessThan) or (relMax = EqualTo)) and ((relMin = GreaterThan) or (relMin = EqualTo))) then
- begin
- CompareMyValues := previous;
- end
- else
- begin
- CompareMyValues := FALSE
- end;
- end;
- { get number of seconds we are offset from Greenwich Mean Time }
- function GetGmtDelta: LONGINT;
- var
- internalGMTDelta: LONGINT;
- myLocation: MachineLocation;
- begin
- ReadLocation(myLocation);
- internalGMTDelta := BitAnd(myLocation.gmtDelta, $ffffff);
- if (BitAnd(BitShift(internalGMTDelta, -23), 1) = 1) then
- begin
- internalGMTDelta := BitOr(internalGMTDelta, $ff000000);
- end;
- GetGmtDelta := internalGMTDelta;
- end;
- { given a dialog, and a check item index, set it to negative of its state }
- procedure NegateCheckItem (setupDlg: DialogPtr;
- item: integer;
- var truth: Boolean);
- begin
- if truth then
- begin
- truth := FALSE;
- end
- else
- begin
- truth := TRUE;
- end;
- SetCheckItem(setupDlg, item, truth);
- end;
- { set the value of a check box in a dialog }
-
- procedure SetCheckItem (setupDlg: DialogPtr;
- item: integer;
- truth: Boolean);
- var
- iHandle: ControlHandle;
- iType: integer;
- iRect: Rect;
- begin
- GetDItem(setupDlg, item, iType, Handle(iHandle), iRect);
- if truth then
- begin
- SetCtlValue(iHandle, 1);
- end
- else
- begin
- SetCtlValue(iHandle, 0);
- end;
- end;
- end.