Produced by Araxis Merge on 3/31/2017 10:45:43 AM Central Daylight Time. See www.araxis.com for information about Merge. This report uses XHTML and CSS2, and is best viewed with a modern standards-compliant browser. For optimum results when printing this report, use landscape orientation and enable printing of background images and colours in your browser.
# | Location | File | Last Modified |
---|---|---|---|
1 | CPRS v31A.zip\CPRS v31A\VITL5_P34_src.zip\Source\VITALSDATAENTRY | fGMV_SupO2.pas | Tue Dec 13 18:25:44 2016 UTC |
2 | CPRS v31A.zip\CPRS v31A\VITL5_P34_src.zip\Source\VITALSDATAENTRY | fGMV_SupO2.pas | Fri Mar 31 15:01:34 2017 UTC |
Description | Between Files 1 and 2 |
|
---|---|---|
Text Blocks | Lines | |
Unchanged | 2 | 1048 |
Changed | 1 | 2 |
Inserted | 0 | 0 |
Removed | 0 | 0 |
Whitespace | |
---|---|
Character case | Differences in character case are significant |
Line endings | Differences in line endings (CR and LF characters) are ignored |
CR/LF characters | Not shown in the comparison detail |
No regular expressions were active.
1 | unit fGMV_ SupO2; | |
2 | { | |
3 | ========== ========== ========== ========== ========== ========== ========== ========== | |
4 | * | |
5 | * Ap plication: Vitals | |
6 | * Re vision: $Revisio n: 1 $ $M odtime: 1/ 24/08 4:16 p $ | |
7 | * De veloper: PII | |
8 | * Si te: Hines OI FO | |
9 | * | |
10 | * De scription: Accepts flow rate data for P O2 vital. | |
11 | * | |
12 | * No tes: | |
13 | * | |
14 | ========== ========== ========== ========== ========== ========== ========== ========== | |
15 | * $A rchive: /V itals/5.0 (Version 5 .0)/5.0.23 (Patch 23 )/VITALS_5 _0_23_8/So urce/VITAL SDATAENTRY /fGMV_SupO 2.pas $ | |
16 | * | |
17 | * $History : fGMV_Sup O2.pas $ | |
18 | * | |
19 | * ******* ********** Version 1 ******* ********** | |
20 | * User: V haishandri a Date: 8/ 12/09 T ime: 8:29a | |
21 | * Created in $/Vita ls/5.0 (Ve rsion 5.0) /5.0.23 (P atch 23)/V ITALS_5_0_ 23_8/Sourc e/VITALSDA TAENTRY | |
22 | * | |
23 | * ******* ********** Version 1 ******* ********** | |
24 | * User: V haishandri a Date: 3/ 09/09 T ime: 3:39p | |
25 | * Created in $/Vita ls/5.0 (Ve rsion 5.0) /5.0.23 (P atch 23)/V ITALS_5_0_ 23_6/Sourc e/VITALSDA TAENTRY | |
26 | * | |
27 | * ******* ********** Version 1 ******* ********** | |
28 | * User: V haishandri a Date: 1/ 13/09 T ime: 1:26p | |
29 | * Created in $/Vita ls/5.0 (Ve rsion 5.0) /5.0.23 (P atch 23)/V ITALS_5_0_ 23_4/Sourc e/VITALSDA TAENTRY | |
30 | * | |
31 | * ******* ********** Version 3 ******* ********** | |
32 | * User: V haishandri a Date: 2/ 01/08 T ime: 7:39a | |
33 | * Updated in $/Vita ls GUI 200 7/Vitals/V ITALSDATAE NTRY | |
34 | * Vitals GUI 5.0.22 .3 | |
35 | * | |
36 | * ******* ********** Version 2 ******* ********** | |
37 | * User: V haishandri a Date: 1/ 07/08 T ime: 6:51p | |
38 | * Updated in $/Vita ls GUI 200 7/Vitals/V ITALSDATAE NTRY | |
39 | * | |
40 | * ******* ********** Version 1 ******* ********** | |
41 | * User: V haishandri a Date: 5/ 14/07 T ime: 10:29 a | |
42 | * Created in $/Vita ls GUI 200 7/Vitals-5 -0-18/VITA LSDATAENTR Y | |
43 | * | |
44 | * ******* ********** Version 1 ******* ********** | |
45 | * User: V haishandri a Date: 5/ 16/06 T ime: 5:43p | |
46 | * Created in $/Vita ls/VITALS- 5-0-18/Vit alsDataEnt ry | |
47 | * GUI v. 5.0.18 upd ates the d efault vit al type IE Ns with th e local | |
48 | * values. | |
49 | * | |
50 | * ******* ********** Version 1 ******* ********** | |
51 | * User: V haishandri a Date: 5/ 16/06 T ime: 5:33p | |
52 | * Created in $/Vita ls/Vitals- 5-0-18/VIT ALS-5-0-18 /VitalsDat aEntry | |
53 | * | |
54 | * ******* ********** Version 2 ******* ********** | |
55 | * User: V haishandri a Date: 7/ 22/05 T ime: 3:51p | |
56 | * Updated in $/Vita ls/Vitals GUI v 5.0 .2.1 -5.0. 3.1 - Patc h GMVR-5-7 (CASMed, CCOW) - De lphi 6/Vit alsDataEnt ry | |
57 | * | |
58 | * ******* ********** Version 1 ******* ********** | |
59 | * User: V haishandri a Date: 5/ 24/05 T ime: 3:35p | |
60 | * Created in $/Vita ls/Vitals GUI v 5.0 .2.1 -5.0. 3.1 - Patc h GMVR-5-7 (CASMed, No CCOW) - Delphi 6/ VitalsData Entry | |
61 | * | |
62 | * ******* ********** Version 1 ******* ********** | |
63 | * User: V haishandri a Date: 4/ 16/04 T ime: 4:20p | |
64 | * Created in $/Vita ls/Vitals GUI Versio n 5.0.3 (C COW, CPRS, Delphi 7) /VITALSDAT AENTRY | |
65 | * | |
66 | * ******* ********** Version 2 ******* ********** | |
67 | * User: V haishandri a Date: 1/ 30/04 T ime: 4:32p | |
68 | * Updated in $/Vita lsLite/Vit alsLiteDLL | |
69 | * | |
70 | * ******* ********** Version 1 ******* ********** | |
71 | * User: V haishandri a Date: 1/ 15/04 T ime: 3:06p | |
72 | * Created in $/Vita lsLite/Vit alsLiteDLL | |
73 | * Vitals Lite DLL | |
74 | * | |
75 | * ******* ********** Version 1 ******* ********** | |
76 | * User: V haishandri a Date: 10 /29/03 T ime: 4:15p | |
77 | * Created in $/Vita ls503/Vita ls User | |
78 | * Version 5.0.3 | |
79 | * | |
80 | * ******* ********** Version 1 ******* ********** | |
81 | * User: V haishandri a Date: 5/ 21/03 T ime: 1:18p | |
82 | * Created in $/Vita ls GUI Ver sion 5.0/V italsUserN oCCOW | |
83 | * Pre CCO W Version of Vitals User | |
84 | * | |
85 | * ******* ********** Version 7 ******* ********** | |
86 | * User: V haishandri a Date: 4/ 17/03 T ime: 5:02p | |
87 | * Updated in $/Vita ls GUI Ver sion 5.0/V itals User | |
88 | * | |
89 | * ******* ********** Version 6 ******* ********** | |
90 | * User: V haishandri a Date: 12 /02/02 T ime: 3:00p | |
91 | * Updated in $/Vita ls GUI Ver sion 5.0/V itals User | |
92 | * Vitals Light upda tes | |
93 | * | |
94 | * ******* ********** Version 5 ******* ********** | |
95 | * User: V haishandri a Date: 11 /07/02 T ime: 10:33 a | |
96 | * Updated in $/Vita ls GUI Ver sion 5.0/V itals User | |
97 | * Pulse O x Changes | |
98 | * | |
99 | * ******* ********** Version 4 ******* ********** | |
100 | * User: V haishandri a Date: 8/ 16/02 T ime: 11:17 a | |
101 | * Updated in $/Vita ls GUI Ver sion 5.0/V itals User | |
102 | * v T30 | |
103 | * | |
104 | * ******* ********** Version 3 ******* ********** | |
105 | * User: V haishandri a Date: 7/ 25/02 T ime: 2:51p | |
106 | * Updated in $/Vita ls GUI Ver sion 5.0/V itals User | |
107 | * | |
108 | * ******* ********** Version 2 ******* ********** | |
109 | * User: V haishandri a Date: 7/ 12/02 T ime: 5:00p | |
110 | * Updated in $/Vita ls GUI Ver sion 5.0/V itals User | |
111 | * GUI Ver sion T28 | |
112 | * | |
113 | * ******* ********** Version 1 ******* ********** | |
114 | * User: V haishpetit d Date: 4/ 04/02 T ime: 12:08 p | |
115 | * Created in $/Vita ls GUI Ver sion 5.0/V itals User | |
116 | * | |
117 | * | |
118 | ========== ========== ========== ========== ========== ========== ========== ========== | |
119 | } | |
120 | interface | |
121 | ||
122 | uses | |
123 | Windows, | |
124 | Messages , | |
125 | SysUtils , | |
126 | Classes, | |
127 | Graphics , | |
128 | Controls , | |
129 | Forms, | |
130 | Dialogs, | |
131 | StdCtrls , | |
132 | ComCtrls , | |
133 | Buttons, | |
134 | ExtCtrls | |
135 | ,CheckLs t; | |
136 | ||
137 | type | |
138 | TfrmGMV_ SupO2 = cl ass(TForm) | |
139 | pnlMai n: TPanel; | |
140 | pnlBot tom: TPane l; | |
141 | btnOK: TButton; | |
142 | btnCan cel: TButt on; | |
143 | Panel1 : TPanel; | |
144 | lblFlo w: TLabel; | |
145 | lblO2C on: TLabel ; | |
146 | edtFlo w: TEdit; | |
147 | edtO2C on: TEdit; | |
148 | udFlow : TUpDown; | |
149 | udO2: TUpDown; | |
150 | lblPer cent: TLab el; | |
151 | lblLit Min: TLabe l; | |
152 | Panel2 : TPanel; | |
153 | pnlQua l: TPanel; | |
154 | Panel5 : TPanel; | |
155 | cbMeth od: TCombo Box; | |
156 | lblMet hodValue: TLabel; | |
157 | proced ure udFlow ChangingEx (Sender: T Object; va r AllowCha nge: Boole an; | |
158 | NewV alue: Smal lint; Dire ction: TUp DownDirect ion); | |
159 | proced ure udO2Ch angingEx(S ender: TOb ject; var AllowChang e: Boolean ; | |
160 | NewV alue: Smal lint; Dire ction: TUp DownDirect ion); | |
161 | proced ure edtFlo wKeyUp(Sen der: TObje ct; var Ke y: Word; | |
162 | Shif t: TShiftS tate); | |
163 | proced ure edtO2C onKeyUp(Se nder: TObj ect; var K ey: Word; | |
164 | Shif t: TShiftS tate); | |
165 | proced ure cbMeth odChange(S ender: TOb ject); | |
166 | proced ure FormAc tivate(Sen der: TObje ct); | |
167 | proced ure btnOKC lick(Sende r: TObject ); | |
168 | proced ure edtFlo wKeyPress( Sender: TO bject; var Key: Char ); | |
169 | proced ure edtO2C onKeyPress (Sender: T Object; va r Key: Cha r); | |
170 | proced ure edtFlo wChange(Se nder: TObj ect); | |
171 | proced ure edtFlo wExit(Send er: TObjec t); | |
172 | proced ure edtO2C onChange(S ender: TOb ject); | |
173 | proced ure edtO2C onExit(Sen der: TObje ct); | |
174 | private | |
175 | { Priv ate declar ations } | |
176 | public | |
177 | { Publ ic declara tions } | |
178 | QualVa l:Integer; | |
179 | end; | |
180 | ||
181 | function G etSuppleme ntO2Data(v ar FlowRat e: string; var Perce ntage: str ing; ctrl: TControl; sQual:Stri ng): Boole an; | |
182 | ||
183 | implementa tion | |
184 | ||
185 | uses uGMV_ Common | |
186 | , uGMV_Uti ls, uGMV_E ngine | |
187 | ; | |
188 | ||
189 | {$R *.DFM} | |
190 | ||
191 | function G etSuppleme ntO2Data(v ar FlowRat e: string; var Perce ntage: str ing; ctrl: TControl; sQual:Stri ng): Boole an; | |
192 | var | |
193 | s:String ; | |
194 | sType, s Category: String; | |
195 | i: INteg er; | |
196 | pt: TPoi nt; | |
197 | SL: TStr ingList; | |
198 | begin | |
199 | Result : = False; | |
200 | with Tfr mGMV_SupO2 .Create(Ap plication) do | |
201 | try | |
202 | pt := Ctrl.Paren t.ClientTo Screen(Poi nt(Ctrl.Le ft, Ctrl.T op)); | |
203 | Left : = pt.x; | |
204 | Top := pt.y + Ct rl.Height; | |
205 | ||
206 | edtFlo w.Text := FlowRate; | |
207 | edtO2C on.Text := Percentag e; | |
208 | ||
209 | sType := getVita lTypeIEN(' PULSE OXIM ETRY'); | |
210 | sCateg ory := get VitalCateg oryIEN('ME THOD'); | |
211 | SL := getQualifi ers(sType, sCategory) ; | |
212 | if SL. Count > 1 then | |
213 | begi n | |
214 | if pos('-Non e-',cbMeth od.Text) = 0 then | |
215 | cbMethod.I tems.Add(' -None-'); //CQ Ticke t #6942 | |
216 | fo r i := 1 t o SL.Count - 1 do | |
217 | begin | |
218 | s := SL[ i]; | |
219 | cbMethod .Items.Add Object(Tit leCase(Pie ce(s,'^', 2)), | |
220 | Pointe r(StrToInt Def(Piece( s,'^', 1), 0))); | |
221 | end; | |
222 | end; | |
223 | SL.Fre e; | |
224 | ||
225 | s := P iece(sQual ,'[',2); | |
226 | if pos (' ',s)= 0 then | |
227 | s := Piece(s,' ]',1) | |
228 | else | |
229 | s := Piece(s,' ',1); | |
230 | i := c bMethod.It ems.IndexO f(s); | |
231 | if i > = 0 then | |
232 | begi n | |
233 | cb Method.Ite mIndex := i; | |
234 | Qu alVal := i nteger(cbM ethod.Item s.Objects[ i]); //A AN 11/5/20 02 initial value add ed; | |
235 | end; | |
236 | Active Control := edtFlow; | |
237 | ShowMo dal; | |
238 | if Mod alResult = mrOk then | |
239 | begi n | |
240 | Fl owRate := edtFlow.Te xt; | |
241 | //AAN 07/0 9/2002 Percen tage := ed tO2Con.tex t; | |
242 | Pe rcentage : = edtO2Con .text + '^ '+IntToStr (QualVal)+ '^'+cbMeth od.Text; | |
243 | Re sult := Tr ue; | |
244 | end; | |
245 | finally | |
246 | free; | |
247 | end; | |
248 | end; | |
249 | ||
250 | procedure TfrmGMV_Su pO2.udFlow ChangingEx (Sender: T Object; va r AllowCha nge: Boole an; NewVal ue: Smalli nt; Direct ion: TUpDo wnDirectio n); | |
251 | var | |
252 | d: Doubl e; | |
253 | Value: s tring; | |
254 | begin | |
255 | Value := edtFlow.T ext; | |
256 | if (Valu e = '') th en | |
257 | VitalM ath(Value, 0, 1, vfI nit, 1) | |
258 | else | |
259 | begin | |
260 | case Direction of | |
261 | up dUp: Vital Math(Value , 1, 10, v fAdd, 1); | |
262 | up dDown: Vit alMath(Val ue, 1, 10, vfSubtrac t, 1); | |
263 | end; | |
264 | end; | |
265 | try | |
266 | d := S trToFloat( Value); | |
267 | if d > 20.0 then Value := '20'; | |
268 | if d < 0.5 then Value := ' 0.5'; | |
269 | except | |
270 | end; | |
271 | edtFlow. Text := Va lue; | |
272 | end; | |
273 | ||
274 | procedure TfrmGMV_Su pO2.udO2Ch angingEx(S ender: TOb ject; var AllowChang e: Boolean ; NewValue : Smallint ; Directio n: TUpDown Direction) ; | |
275 | var | |
276 | d: Doubl e; | |
277 | Value: s tring; | |
278 | begin | |
279 | Value := edtO2Con. Text; | |
280 | if (Valu e = '') th en | |
281 | VitalM ath(Value, 0, 80, vf Init, 0) | |
282 | else | |
283 | begin | |
284 | case Direction of | |
285 | up dUp: Vital Math(Value , 1, 80, v fAdd, 0); | |
286 | up dDown: Vit alMath(Val ue, 1, 80, vfSubtrac t, 0); | |
287 | end; | |
288 | end; | |
289 | try | |
290 | d := S trToFloat( Value); | |
291 | if d > 100.0 the n Value := '100'; | |
292 | if d < 21.0 then Value := '21'; | |
293 | except | |
294 | end; | |
295 | edtO2Con .Text := V alue; | |
296 | end; | |
297 | ||
298 | procedure TfrmGMV_Su pO2.edtFlo wKeyUp(Sen der: TObje ct; var Ke y: Word; | |
299 | Shift: T ShiftState ); | |
300 | var | |
301 | tmp: boo lean; | |
302 | begin | |
303 | inherite d; | |
304 | if (Key = VK_UP) t hen | |
305 | udFlow ChangingEx (Sender, t mp, 0, upd Up) | |
306 | else if (Key = VK_ DOWN) then | |
307 | udFlow ChangingEx (Sender, t mp, 0, upd Down); | |
308 | end; | |
309 | ||
310 | procedure TfrmGMV_Su pO2.edtO2C onKeyUp(Se nder: TObj ect; var K ey: Word; | |
311 | Shift: T ShiftState ); | |
312 | var | |
313 | tmp: boo lean; | |
314 | begin | |
315 | inherite d; | |
316 | if (Key = VK_UP) t hen | |
317 | udO2Ch angingEx(S ender, tmp , 0, updUp ) | |
318 | else if (Key = VK_ DOWN) then | |
319 | udO2Ch angingEx(S ender, tmp , 0, updDo wn); | |
320 | end; | |
321 | ||
322 | procedure TfrmGMV_Su pO2.cbMeth odChange(S ender: TOb ject); | |
323 | ||
324 | function getQualVa l: Integer ; | |
325 | begin | |
326 | try | |
327 | Re sult := in teger(cbMe thod.Items .Objects[c bMethod.It emIndex]); | |
328 | exce pt | |
329 | Re sult := -9 9; | |
330 | end; | |
331 | end; | |
332 | procedur e setField s(anEnable d:Boolean) ; | |
333 | var | |
334 | _Color : TColor; | |
335 | begin | |
336 | if anE nabled the n _Color : = clWindow Text | |
337 | else | |
338 | begi n | |
339 | _C olor := cl GrayText; | |
340 | // there sho uld be no values of concentrat ion for Ro om Air | |
341 | ed tFlow.Text := ''; | |
342 | ed tO2Con.Tex t := ''; | |
343 | end; | |
344 | ||
345 | edtFlo w.Enabled := anEnabl ed; | |
346 | edtO2C on.Enabled := anEnab led; | |
347 | udFlow .Enabled : = anEnable d; | |
348 | udO2.E nabled := anEnabled; | |
349 | lblFlo w.Font.Col or := _Col or; | |
350 | lblO2C on.Font.Co lor := _Co lor; | |
351 | lblLit Min.Font.C olor := _C olor; | |
352 | lblPer cent.Font. Color := _ Color; | |
353 | ||
354 | QualVa l := getQu alVal; | |
355 | end; | |
356 | ||
357 | begin | |
358 | if (cbMe thod.ItemI ndex = 0) // CQ Tic ket # 6942 - Start | |
359 | // or ( pos('ROOM AIR',upper case(cbMet hod.Text)) >0) | |
360 | then | |
361 | setFie lds(False) | |
362 | else / / CQ Ticke t # 6942 - end | |
363 | setFie lds(True); | |
364 | end; | |
365 | ||
366 | procedure TfrmGMV_Su pO2.FormAc tivate(Sen der: TObje ct); | |
367 | begin | |
368 | if (Left + Width) > Forms.Sc reen.Width then | |
369 | Left : = Forms.Sc reen.Width - Width; | |
370 | if (Top + Height) > Forms.Sc reen.Heigh t then | |
371 | Top := Forms.Scr een.Height - Height - pnlBotto m.Height d iv 2; | |
372 | ||
373 | cbMethod Change(nil );// R1413 98 -- vhai shandria 0 60921 | |
374 | end; | |
375 | ||
376 | procedure TfrmGMV_Su pO2.btnOKC lick(Sende r: TObject ); | |
377 | var | |
378 | s,ss: St ring; | |
379 | i: integ er; | |
380 | f: doubl e; | |
381 | begin | |
382 | try | |
383 | i :=0; | |
384 | if edt O2Con.Text <> '' the n | |
385 | i := StrToInt( edtO2Con.T ext); | |
386 | except | |
387 | s :='I nvalid val ue for O2 concentrat ion entere d: <'+ | |
388 | St ring(edtO2 Con.Text)+ '>'+#13+ | |
389 | 'V alid value s are inte gers from 21 to 100' +#13+#13+' Try again? '; | |
390 | if App lication.M essageBox( pChar(s),' Value Erro r', MB_OKC ANCEL + MB _DEFBUTTON 1) <> IDOK | |
391 | then | |
392 | Moda lResult := mrCancel | |
393 | else | |
394 | begi n | |
395 | ac tiveContro l := edtO2 Con; | |
396 | Mo dalResult := mrNone; | |
397 | end; | |
398 | Exit; | |
399 | end; | |
400 | try | |
401 | f := 0 ; | |
402 | if edt Flow.Text <> '' then | |
403 | f := StrToFloa t(edtFlow. Text); | |
404 | except | |
405 | s := ' Error valu e for the flow rate entered: < '+ edtFlow .Text+'>'+ #13+ | |
406 | 'V alid value s are from 0.5 to 20 '+#13+#13+ 'Try again ?'; | |
407 | if App lication.M essageBox( PChar(s),' Value Erro r', MB_OKC ANCEL + MB _DEFBUTTON 1) <> IDOK | |
408 | then | |
409 | Moda lResult := mrCancel | |
410 | else | |
411 | begi n | |
412 | ac tiveContro l := edtFl ow; | |
413 | Mo dalResult := mrNone; | |
414 | end; | |
415 | Exit; | |
416 | end; | |
417 | ||
418 | if edtO2 Con.Text < > '' then | |
419 | if (i< 21) or (i> 100) then s := 'O2 c oncentrati on value ' +edtO2Con. Text+' is out of ran ge' | |
420 | else s := ''; | |
421 | if edtFl ow.Text <> '' then | |
422 | if (f< 0.5) or (f >20) then ss := 'Flo w rate val ue '+edtFl ow.Text+' is out of range (.5- 20)' | |
423 | else s s := ''; | |
424 | ||
425 | if (s+#1 3+ss)<>#13 then | |
426 | begin | |
427 | s := s+#13+ss+ #13+'Try a gain?'; | |
428 | if A pplication .MessageBo x(PChar(s) ,'Range Er ror', MB_O KCANCEL + MB_DEFBUTT ON1) <> ID OK | |
429 | then | |
430 | Mo dalResult := mrCance l | |
431 | else | |
432 | be gin | |
433 | if (i<21) or (i>100) then Acti veControl := edtO2Co n | |
434 | else Activ eControl : = edtFlow; | |
435 | ModalResul t := mrNon e; | |
436 | en d; | |
437 | Exit ; | |
438 | end; | |
439 | ||
440 | ModalRes ult := mrO K; | |
441 | end; | |
442 | ||
443 | procedure TfrmGMV_Su pO2.edtFlo wKeyPress( Sender: TO bject; var Key: Char ); | |
444 | begin | |
445 | if pos(K ey,'-,`~!@ #$%^&*()_+ =|\/"''') > 0 then | |
446 | Key := #0; | |
447 | inherite d; | |
448 | end; | |
449 | ||
450 | procedure TfrmGMV_Su pO2.edtO2C onKeyPress (Sender: T Object; va r Key: Cha r); | |
451 | begin | |
452 | if pos(K ey,'-,`~!@ #$%^&*()_+ =|\/"''') > 0 then | |
453 | Key := #0; | |
454 | inherite d; | |
455 | end; | |
456 | ||
457 | procedure TfrmGMV_Su pO2.edtFlo wChange(Se nder: TObj ect); | |
458 | var | |
459 | d: Doubl e; | |
460 | begin | |
461 | try | |
462 | d := S trToFloat( edtFlow.Te xt); | |
463 | if d > 20.0 then | |
464 | begi n | |
465 | Sh owMessage( 'Flow rate value '+e dtFlow.Tex t+' is out of range (.5-20)'); | |
466 | ed tFlow.SelS tart := Le ngth(edtFl ow.Text)-1 ; | |
467 | ed tFlow.SelL ength := 1 ; | |
468 | end; | |
469 | except | |
470 | end; | |
471 | end; | |
472 | ||
473 | procedure TfrmGMV_Su pO2.edtFlo wExit(Send er: TObjec t); | |
474 | var | |
475 | d: Doubl e; | |
476 | begin | |
477 | if edtFl ow.Text = '' then Ex it; | |
478 | try | |
479 | d := S trToFloat( edtFlow.Te xt); | |
480 | if (d > 20.0) or (d < 0.5) then | |
481 | begi n | |
482 | Sh owMessage( 'Flow rate value '+e dtFlow.Tex t+' is out of range (.5-20)'); | |
483 | ed tFlow.SelS tart := Le ngth(edtFl ow.Text)-1 ; | |
484 | ed tFlow.SelL ength := 1 ; | |
485 | Ac tiveContro l := edtFl ow; | |
486 | end; | |
487 | except | |
488 | end; | |
489 | end; | |
490 | ||
491 | procedure TfrmGMV_Su pO2.edtO2C onChange(S ender: TOb ject); | |
492 | var | |
493 | d: Doubl e; | |
494 | begin | |
495 | try | |
496 | d := S trToFloat( edtO2Con.T ext); | |
497 | if d > 100.0 the n | |
498 | begi n | |
499 | Sh owMessage( 'Flow rate value '+e dtO2Con.Te xt+' is ou t of range (21-100)' ); | |
500 | ed tO2Con.Sel Start := L ength(edtO 2Con.Text) -1; | |
501 | ed tO2Con.Sel Length := 1; | |
502 | end; | |
503 | except | |
504 | end; | |
505 | end; | |
506 | ||
507 | procedure TfrmGMV_Su pO2.edtO2C onExit(Sen der: TObje ct); | |
508 | var | |
509 | d: Doubl e; | |
510 | begin | |
511 | if edtO2 Con.Text = '' then E xit; | |
512 | try | |
513 | d := S trToFloat( edtO2Con.T ext); | |
514 | if (d > 100.0) o r (d < 21. 0) then | |
515 | begi n | |
516 | Sh owMessage( 'O2 concen tration va lue '+edtO 2Con.Text+ ' is out o f range (2 1-100)'); | |
517 | ed tO2Con.Sel Start := L ength(edtO 2Con.Text) -1; | |
518 | ed tO2Con.Sel Length := 1; | |
519 | Ac tiveContro l := edtO2 Con; | |
520 | end; | |
521 | except | |
522 | end; | |
523 | end; | |
524 | ||
525 | end. |
Araxis Merge (but not the data content of this report) is Copyright © 1993-2016 Araxis Ltd (www.araxis.com). All rights reserved.