Changeset 829 for cprs/trunk/CPRS-Chart/Orders/fOtherSchedule.pas
- Timestamp:
- Jul 7, 2010, 4:31:10 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
cprs/trunk/CPRS-Chart/Orders/fOtherSchedule.pas
r456 r829 5 5 uses 6 6 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 7 Dialogs, ComCtrls, StdCtrls, ExtCtrls, Buttons, fAutoSz, rMisc; 7 Dialogs, ComCtrls, StdCtrls, ExtCtrls, Buttons, fAutoSz, rMisc, ORCtrls, rODMeds, 8 VA508AccessibilityManager, VAUtils; 8 9 9 10 const … … 29 30 btn0k1: TButton; 30 31 btnCancel: TButton; 31 txtSchedule: TEdit;32 32 Label1: TLabel; 33 33 btnReset: TButton; … … 37 37 btnAdd: TButton; 38 38 Button1: TButton; 39 GroupBox3: TGroupBox; 40 NSScboSchedule: TORComboBox; 41 btnSchAdd: TButton; 42 btnSchRemove: TButton; 43 txtSchedule: TEdit; 39 44 procedure FormCreate(Sender: TObject); 40 45 procedure btnCancelClick(Sender: TObject); … … 58 63 Shift: TShiftState); 59 64 procedure Button1Click(Sender: TObject); 65 procedure btnSchAddClick(Sender: TObject); 66 procedure btnSchRemoveClick(Sender: TObject); 67 procedure FormDestroy(Sender: TObject); 60 68 private 61 69 FDaySchedule: array [1..7] of string; 62 70 FTimeSchedule: TStringList; 71 FSchedule: String; 63 72 FOtherSchedule: String; 64 73 FFromCheckBox: boolean; … … 67 76 procedure SetDaySchedule(Sender: TObject); 68 77 procedure SetTimeSchedule; 78 procedure SetScheduleSelection; 69 79 procedure UpdateOnFreeTextInput; 80 procedure EnabledTime(TF: boolean); 81 procedure EnabledSch(TF: boolean); 70 82 function CheckDay(ADayStr: string): string; 71 83 … … 75 87 function ShowOtherSchedule(var ASchedule: string): boolean; 76 88 89 var 90 frmOtherSchedule: TfrmOtherSchedule; 91 77 92 implementation 78 93 … … 80 95 {$R *.dfm} 81 96 82 function ShowOtherSchedule(var ASchedule: string): boolean; 83 var 84 frmOtherSchedule: TfrmOtherSchedule; 97 function ShowOtherSchedule(var ASchedule: string): 98 99 boolean; 100 var 101 102 AdminTime, SchType: string; 85 103 begin 86 104 Result := False; 87 105 try 106 ASchedule := ''; 88 107 frmOtherSchedule := TfrmOtherSchedule.Create(Application); 89 108 ResizeFormToFont(TForm(frmOtherSchedule)); … … 92 111 begin 93 112 ASchedule := UpperCase(frmOtherSchedule.FOtherSchedule); 113 if frmOtherSchedule.GroupBox3.Enabled = True then 114 begin 115 AdminTime := Piece(frmOtherSchedule.NSScboSchedule.Items.Strings[frmOtherSchedule.NSScboSchedule.itemindex],U,4); 116 schType := Piece(frmOtherSchedule.NSScboSchedule.Items.Strings[frmOtherSchedule.NSScboSchedule.itemindex],U,3); 117 ASchedule := ASchedule + U + AdminTime + U + schType; 118 //if (schType = 'P') or (schType = 'OC') then ASchedule := ASchedule + U + '1' 119 //else ASchedule := ASchedule + U + '0'; 120 end 121 else if frmOtherSchedule.GroupBox2.Enabled = true then 122 begin 123 AdminTime := Piece(ASchedule,'@',2); 124 ASchedule := ASchedule + U + AdminTime + U + 'C'; 125 end; 94 126 Result := True; 95 127 end; 96 128 except 97 ShowM essage('Error happen when building other schedule');129 ShowMsg('Error happen when building other schedule'); 98 130 end; 99 131 end; … … 105 137 nssMsg: string; 106 138 begin 139 frmOtherSchedule := nil; 107 140 FFromCheckBox := False; 108 141 FFromEditBox := False; … … 111 144 FDaySchedule[i] := ''; 112 145 FTimeSchedule := TStringlist.Create; 146 FSchedule := ''; 113 147 FOtherSchedule := ''; 114 148 nssMsg := GetSiteMessage; … … 116 150 nssMsg := NSS_TXT; 117 151 memMessage.Lines.Add(nssMsg); 152 LoadDOWSchedules(NSScboSchedule.Items); 153 if ScreenReaderActive = false then txtSchedule.TabStop := false; 154 155 end; 156 157 procedure TfrmOtherSchedule.FormDestroy(Sender: TObject); 158 begin 159 inherited; 160 //FDaySchedule 161 FTimeSchedule.Free; 162 frmOtherSchedule := nil; 163 //FSchedule: String; 164 //FOtherSchedule: String; 118 165 end; 119 166 120 167 procedure TfrmOtherSchedule.btnCancelClick(Sender: TObject); 121 168 begin 122 modalResult := mrCancel;169 frmOtherSchedule.Release; 123 170 end; 124 171 … … 128 175 (cbo6.Checked = false) and (cbo7.Checked = false) then 129 176 begin 130 ShowM essage('A day of week must be selected!');177 ShowMsg('A day of week must be selected!'); 131 178 Exit; 132 179 end; 133 if not IsValidSchStr(FOtherSchedule) then 134 begin 135 ShowMessage('The schedule you entered is invalid!'); 180 if Pos('@', self.txtSchedule.Text) = 0 then 181 begin 182 ShowMsg('An Administation Time or a schedule needs to be selected'); 183 exit; 184 end; 185 (* if not IsValidSchStr(FOtherSchedule) then 186 begin 187 Show508Message('The schedule you entered is invalid!'); 136 188 Exit; 137 end; 189 end; *) 138 190 modalResult := mrOK; 139 191 end; … … 142 194 var 143 195 i : integer; 144 TimePart, DayPart : string;196 TimePart, DayPart, Schedule: string; 145 197 begin 146 198 with (Sender as TCheckBox) do … … 152 204 FDaySchedule[TCheckBox(Sender).Tag] := ''; 153 205 except 154 ShowM essage('Error happened when building day schedule.');206 ShowMsg('Error happened when building day schedule.'); 155 207 Exit; 156 208 end; … … 159 211 TimePart := ''; 160 212 DayPart := ''; 161 for i := 0 to FTimeSchedule.Count - 1 do 162 begin 163 if i = 0 then TimePart := TimePart + FTimeSchedule[i] 164 else TimePart := TimePart + '-' + FTimeSchedule[i]; 165 end; 213 schedule := ''; 214 if Self.GroupBox2.Enabled = True then 215 begin 216 for i := 0 to FTimeSchedule.Count - 1 do 217 begin 218 if i = 0 then TimePart := TimePart + FTimeSchedule[i] 219 else TimePart := TimePart + '-' + FTimeSchedule[i]; 220 end; 221 end; 222 if (self.GroupBox3.Enabled = True) and (FSchedule <> '') then schedule := FSchedule; 166 223 for i := Low(FDaySchedule) to High(FDaySchedule) do 167 224 begin … … 179 236 FOtherSchedule := TimePart; 180 237 end 238 else if Length(schedule) > 0 then 239 begin 240 if length(DayPart) > 0 then 241 FOtherSchedule := DayPart + '@' + Schedule 242 else if Length(DayPart) = 0 then 243 FOtherSchedule := Schedule; 244 end 181 245 else FOtherSchedule := DayPart; 246 txtSchedule.Text := FOtherSchedule; 247 end; 248 249 250 procedure TfrmOtherSchedule.SetScheduleSelection; 251 var 252 i: integer; 253 DayPart: string; 254 begin 255 DayPart := ''; 256 for i := Low(FDaySchedule) to High(FDaySchedule) do 257 begin 258 if Length(FDaySchedule[i])>0 then 259 begin 260 if DayPart = '' then DayPart := FDaySchedule[i] 261 else DayPart := DayPart + '-' + FDaySchedule[i]; 262 end; 263 end; 264 if Length(DayPart) > 0 then 265 begin 266 if FSchedule <> '' then 267 FOtherSchedule := DayPart + '@' + FSchedule 268 else 269 FOtherSchedule := DayPart; 270 end 271 else FOtherSchedule := FSchedule; 272 //if Length(APRN) > 0 then FOtherSchedule := FOtherSchedule; 182 273 txtSchedule.Text := FOtherSchedule; 183 274 end; … … 278 369 hour, min: string; 279 370 begin 371 if FSchedule <> '' then Exit; 280 372 if lstHour.ItemIndex < 0 then exit; 281 373 hour := lstHour.Items[lstHour.ItemIndex]; … … 298 390 FTimeSchedule.Sort; 299 391 SetTimeSchedule; 392 if FTimeSchedule.Count > 0 then EnabledSch(False); 300 393 end; 301 394 … … 313 406 lstHour.ItemIndex := -1; 314 407 lstMinute.ItemIndex := -1; 408 NSScboSchedule.ItemIndex := -1; 315 409 for i := low(FDaySchedule) to high(FDaySchedule) do 316 410 FDaySchedule[i] := ''; … … 318 412 FOtherSchedule := ''; 319 413 txtSchedule.Text := ''; 414 FSchedule := ''; 415 EnabledTime(True); 416 EnabledSch(True); 417 end; 418 419 procedure TfrmOtherSchedule.btnSchAddClick(Sender: TObject); 420 begin 421 inherited; 422 if self.NSScboSchedule.ItemIndex < 0 then Exit; 423 if FSchedule <> '' then 424 begin 425 infoBox('A Day-of-week schedule can only contain one schedule','Warning',MB_OK); 426 Exit; 427 end; 428 FSchedule := self.NSScboSchedule.Text; 429 SetScheduleSelection; 430 Self.NSScboSchedule.Enabled := False; 431 EnabledTime(False); 432 end; 433 434 procedure TfrmOtherSchedule.btnSchRemoveClick(Sender: TObject); 435 begin 436 inherited; 437 if (FSchedule = '') or (self.NSScboSchedule.ItemIndex < 0) then exit; 438 if self.NSScboSchedule.Text <> FSchedule then exit; 439 Fschedule := ''; 440 SetScheduleSelection; 441 self.NSScboSchedule.Enabled := True; 442 EnabledTime(True); 320 443 end; 321 444 … … 346 469 SetTimeSchedule; 347 470 FFromCheckBox := False; 471 if FTimeSchedule.Count = 0 then EnabledSch(True); 348 472 end; 349 473 … … 370 494 Action := caFree; 371 495 end; 496 //frmOtherSchedule := nil; 372 497 end; 373 498 … … 523 648 end; 524 649 650 procedure TfrmOtherSchedule.EnabledSch(TF: boolean); 651 begin 652 self.GroupBox3.Enabled := TF; 653 self.NSScboSchedule.Enabled := TF; 654 self.btnSchAdd.Enabled := TF; 655 self.btnSchRemove.Enabled := TF; 656 // if TF = False then self.NSScboSchedule.Color := cl3DLight 657 // else self.NSScboSchedule.Color := clWindow; 658 if TF = False then self.NSScboSchedule.ItemIndex := -1; 659 end; 660 661 procedure TfrmOtherSchedule.EnabledTime(TF: boolean); 662 begin 663 self.GroupBox2.Enabled := TF; 664 self.lstHour.Enabled := TF; 665 self.lstMinute.Enabled := TF; 666 self.btnAdd.Enabled := TF; 667 self.btnRemove.Enabled := TF; 668 if TF = False then 669 begin 670 self.lstHour.ItemIndex := -1; 671 self.lstMinute.ItemIndex := -1; 672 end; 673 end; 674 525 675 procedure TfrmOtherSchedule.lstMinuteMouseUp(Sender: TObject; 526 676 Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
Note:
See TracChangeset
for help on using the changeset viewer.