//kt -- Modified with SourceScanner on 8/8/2007 unit fODLabImmedColl; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ORCtrls, ORDtTm, ExtCtrls, ORFn, DKLang; type TfrmODLabImmedColl = class(TForm) memImmedCollect: TCaptionMemo; calImmedCollect: TORDateBox; cmdOK: TORAlignButton; cmdCancel: TORAlignButton; pnlBase: TORAutoPanel; lblImmedColl: TOROffsetLabel; DKLanguageController1: TDKLanguageController; procedure cmdCancelClick(Sender: TObject); procedure cmdOKClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure calImmedCollectKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); private FCollTime: string; { Private declarations } public { Public declarations } end; function SelectImmediateCollectTime(FontSize: integer; CollTime: string): string; implementation {$R *.DFM} uses rODLab; //const //TX_NOTIME_TEXT = 'Enter or select a collection time or press Cancel.'; <-- original line. //kt 8/8/2007 //TX_NOTIME_CAP = 'Missing Date/Time'; <-- original line. //kt 8/8/2007 //TX_BADTIME_CAP = 'Invalid Immediate Collect Time'; <-- original line. //kt 8/8/2007 var TX_NOTIME_TEXT : string; //kt TX_NOTIME_CAP : string; //kt TX_BADTIME_CAP : string; //kt procedure SetupVars; //kt Added entire function to replace constant declarations 8/8/2007 begin TX_NOTIME_TEXT := DKLangConstW('fODLabImmedColl_Enter_or_select_a_collection_time_or_press_Cancelx'); TX_NOTIME_CAP := DKLangConstW('fODLabImmedColl_Missing_DatexTime'); TX_BADTIME_CAP := DKLangConstW('fODLabImmedColl_Invalid_Immediate_Collect_Time'); end; function SelectImmediateCollectTime(FontSize: integer; CollTime: string): string; { displays select form for immediate collect time and returns a record of the selection } var frmODLabImmedColl: TfrmODLabImmedColl; begin frmODLabImmedColl := TfrmODLabImmedColl.Create(Application); try ResizeAnchoredFormToFont(frmODLabImmedColl); with frmODLabImmedColl do begin FCollTime := CollTime; ShowModal; Result := FCollTime; end; finally frmODLabImmedColl.Release; end; end; procedure TfrmODLabImmedColl.cmdCancelClick(Sender: TObject); begin FCollTime := '-1' ; Close; end; procedure TfrmODLabImmedColl.cmdOKClick(Sender: TObject); var x: string; begin SetupVars; //kt added 8/8/2007 to replace constants with vars. if calImmedCollect.FMDateTime = 0 then begin InfoBox(TX_NOTIME_TEXT, TX_NOTIME_CAP, MB_OK or MB_ICONWARNING); Exit; end; if calImmedCollect.FMDateTime > 0 then begin x := ValidImmCollTime(calImmedCollect.FMDateTime); if Piece(x ,U, 1) = '1' then FCollTime := calImmedCollect.Text else begin InfoBox(MixedCase(Piece(x ,U, 2)), TX_BADTIME_CAP, MB_OK or MB_ICONWARNING); Exit; end; end else FCollTime := '-1'; Close; end; procedure TfrmODLabImmedColl.FormShow(Sender: TObject); begin memImmedCollect.Lines.Assign(ImmediateCollectTimes); if Length(FCollTime) > 0 then calImmedCollect.Text := FCollTime else calImmedCollect.FMDateTime := GetDefaultImmCollTime; ActiveControl := calImmedCollect; end; procedure TfrmODLabImmedColl.calImmedCollectKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); begin if Key = VK_ESCAPE then begin Key := 0; cmdCancelClick(cmdCancel); end; end; end.