source: cprs/branches/foia-cprs/CPRS-Chart/Orders/fOMVerify.pas@ 459

Last change on this file since 459 was 459, checked in by Kevin Toppenberg, 16 years ago

Adding foia-cprs branch

File size: 3.6 KB
Line 
1unit fOMVerify;
2
3interface
4
5uses
6 Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
7 fAutoSz, StdCtrls, ComCtrls;
8
9type
10 TfrmOMVerify = class(TfrmAutoSz)
11 cmdAccept: TButton;
12 cmdEdit: TButton;
13 cmdCancel: TButton;
14 memText: TRichEdit;
15 procedure cmdAcceptClick(Sender: TObject);
16 procedure cmdEditClick(Sender: TObject);
17 procedure cmdCancelClick(Sender: TObject);
18 procedure FormCreate(Sender: TObject);
19 procedure FormClose(Sender: TObject; var Action: TCloseAction);
20 procedure memTextKeyUp(Sender: TObject; var Key: Word;
21 Shift: TShiftState);
22 private
23 FLevel: Integer;
24 end;
25
26procedure ShowVerifyText(var QuickLevel: Integer; var VerifyText: string; InptDispGrp: boolean = False);
27
28implementation
29
30{$R *.DFM}
31
32uses ORFn, uConst, fFrame, rMisc;
33
34procedure ShowVerifyText(var QuickLevel: Integer; var VerifyText: string; InptDispGrp: boolean);
35var
36 frmOMVerify: TfrmOMVerify;
37 tempStrs,prompts: TStringList;
38 flag: boolean;
39
40 function CutoffOutptPrompts(const promptIDs: TStringList; var promptList: TStringList): boolean;
41 var
42 i,j: integer;
43 begin
44 result := False;
45 for i := 0 to promptList.Count - 1 do
46 begin
47 if result = True then
48 break;
49 for j := 0 to promptIDs.Count - 1 do
50 begin
51 if Pos(promptIDs[j],LowerCase(promptList[i]))>0 then
52 begin
53 promptList.Delete(i);
54 result := True;
55 break;
56 end;
57 end;
58 end;
59 end;
60
61begin
62 prompts := TStringList.Create;
63 prompts.Add('supply');
64 prompts.Add('quantity');
65 prompts.Add('refill');
66 prompts.Add('pick up');
67 prompts.Add('priority');
68 frmOMVerify := TfrmOMVerify.Create(Application);
69 try
70 ResizeFormToFont(TForm(frmOMVerify));
71 if InptDispGrp then
72 begin
73 tempStrs := TStringList.Create;
74 TStrings(tempStrs).SetText(PChar(VerifyText));
75 repeat
76 flag := CutoffOutptPrompts(prompts, tempStrs);
77 until not flag;
78 SetString(VerifyText, tempStrs.GetText, StrLen(tempStrs.GetText))
79 end;
80
81 with frmOMVerify do
82 begin
83 SetBounds(frmFrame.Left, frmFrame.Top + frmFrame.Height - Height, Width, Height);
84 SetFormPosition(frmOMVerify);
85 memText.Lines.SetText(PChar(VerifyText));
86 ShowModal;
87 QuickLevel := FLevel;
88 end;
89 finally
90 frmOMVerify.Release;
91 end;
92end;
93
94
95procedure TfrmOMVerify.FormCreate(Sender: TObject);
96begin
97 inherited;
98 FLevel := QL_CANCEL;
99end;
100
101procedure TfrmOMVerify.cmdAcceptClick(Sender: TObject);
102begin
103 inherited;
104 FLevel := QL_AUTO;
105 Close;
106end;
107
108procedure TfrmOMVerify.cmdEditClick(Sender: TObject);
109begin
110 inherited;
111 FLevel := QL_DIALOG;
112 Close;
113end;
114
115procedure TfrmOMVerify.cmdCancelClick(Sender: TObject);
116begin
117 inherited;
118 FLevel := QL_CANCEL;
119 Close;
120end;
121
122procedure TfrmOMVerify.FormClose(Sender: TObject;
123 var Action: TCloseAction);
124begin
125 inherited;
126 SaveUserBounds(Self);
127end;
128
129procedure TfrmOMVerify.memTextKeyUp(Sender: TObject; var Key: Word;
130 Shift: TShiftState);
131begin
132 inherited;
133 if (Key = VK_TAB) then
134 begin
135 if ssShift in Shift then
136 begin
137 FindNextControl(Sender as TWinControl, False, True, False).SetFocus; //previous control
138 Key := 0;
139 end
140 else if ssCtrl in Shift then
141 begin
142 FindNextControl(Sender as TWinControl, True, True, False).SetFocus; //next control
143 Key := 0;
144 end;
145 end;
146 if (key = VK_ESCAPE) then begin
147 FindNextControl(Sender as TWinControl, False, True, False).SetFocus; //previous control
148 key := 0;
149 end;
150end;
151
152end.
Note: See TracBrowser for help on using the repository browser.