62. EPMO Open Source Coordination Office Redaction File Detail Report

Produced by Araxis Merge on 5/10/2019 1:00:06 PM Eastern 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.

62.1 Files compared

# Location File Last Modified
1 CPRS_v32_64_P2.zip\OR_30_405V64_SRC.zip\Womens Health fWVEIEReasonsDlg.pas Wed Apr 3 19:32:19 2019 UTC
2 CPRS_v32_64_P2.zip\OR_30_405V64_SRC.zip\Womens Health fWVEIEReasonsDlg.pas Thu May 9 00:55:00 2019 UTC

62.2 Comparison summary

Description Between
Files 1 and 2
Text Blocks Lines
Unchanged 2 358
Changed 1 2
Inserted 0 0
Removed 0 0

62.3 Comparison options

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

62.4 Active regular expressions

No regular expressions were active.

62.5 Comparison detail

  1   unit fWVEI EReasonsDl g;
  2   {
  3     ======== ========== ========== ========== ========== ========== ========== ========== ==
  4     *
  5     *        Applicatio n:  TDrugs  Patch OR* 3*377 and  WV*1*24
  6              Developer:       PII                   
  7     *        Site:          Salt L ake City I SC
  8     *
  9     *        Descriptio n:  Simple  form that  accepts a  list of f ree text r easons
  10     *                       to ent er an item  in error  as well as  a custom  reason.
  11     *                       List i s returned  as TSting s via the  GetReasons  method.
  12     *
  13     *        Notes:
  14     *
  15     ======== ========== ========== ========== ========== ========== ========== ========== ==
  16   }
  17  
  18   interface
  19  
  20   uses
  21     Winapi.W indows,
  22     Winapi.M essages,
  23     System.S ysUtils,
  24     System.V ariants,
  25     System.C lasses,
  26     Vcl.Grap hics,
  27     Vcl.Cont rols,
  28     Vcl.Form s,
  29     Vcl.Dial ogs,
  30     Vcl.StdC trls,
  31     Vcl.ExtC trls,
  32     System.A ctions,
  33     Vcl.Actn List;
  34  
  35   type
  36     TfrmWVEI EReasonsDl g = class( TForm)
  37       btnCan cel: TButt on;
  38       btnOK:  TButton;
  39       chkbxO ther: TChe ckBox;
  40       edtOth erReason:  TEdit;
  41       pnlOth er: TPanel ;
  42       stxtRe ason: TSta ticText;
  43  
  44       proced ure FormCr eate(Sende r: TObject );
  45       proced ure FormDe stroy(Send er: TObjec t);
  46       proced ure chkbxO therClick( Sender: TO bject);
  47       proced ure edtOth erReasonCh ange(Sende r: TObject );
  48     private
  49       fReaso ns: TStrin gList;
  50  
  51       proced ure CheckU nCheckReas on(Sender:  TObject);
  52     public
  53       functi on AddReas on(aReason : string):  integer;  overload;
  54       functi on AddReas on(aReason s: array o f string):  integer;  overload;
  55       functi on AddReas on(aReason s: TString s): intege r; overloa d;
  56       functi on Execute : boolean;
  57       functi on GetReas ons(aTStri ngs: TStri ngs): inte ger;
  58       functi on ValidRe asons: boo lean;
  59     end;
  60  
  61   function N ewWVEIERea sonsDlg: T frmWVEIERe asonsDlg;
  62  
  63   implementa tion
  64  
  65   {$R *.dfm}
  66  
  67  
  68   function N ewWVEIERea sonsDlg: T frmWVEIERe asonsDlg;
  69   begin
  70     Result : = TfrmWVEI EReasonsDl g.Create(A pplication .MainForm) ;
  71     Result.P osition :=  poOwnerFo rmCenter;
  72   end;
  73  
  74   function T frmWVEIERe asonsDlg.A ddReason(a Reason: st ring): int eger;
  75   begin
  76     fReasons .Add(aReas on);
  77     Result : = fReasons .Count;
  78   end;
  79  
  80   function T frmWVEIERe asonsDlg.A ddReason(a Reasons: a rray of st ring): int eger;
  81   var
  82     i: integ er;
  83   begin
  84     for i :=  low(aReas ons) to hi gh(aReason s) do
  85       AddRea son(aReaso ns[i]);
  86     Result : = fReasons .Count;
  87   end;
  88  
  89   function T frmWVEIERe asonsDlg.A ddReason(a Reasons: T Strings):  integer;
  90   begin
  91     fReasons .AddString s(aReasons );
  92     Result : = fReasons .Count;
  93   end;
  94  
  95   procedure  TfrmWVEIER easonsDlg. CheckUnChe ckReason(S ender: TOb ject);
  96   begin
  97     if Sende r.ClassNam eIs('TChec kBox') the n
  98       with T CheckBox(S ender) do
  99         begi n
  100           if  Checked t hen
  101              fReasons.A dd(Caption )
  102           el se
  103              fReasons.D elete(fRea sons.Index Of(Caption ));
  104         end;
  105     btnOK.En abled := V alidReason s;
  106   end;
  107  
  108   procedure  TfrmWVEIER easonsDlg. chkbxOther Click(Send er: TObjec t);
  109   begin
  110     stxtReas on.Enabled  := chkbxO ther.Check ed;
  111     edtOther Reason.Ena bled := ch kbxOther.C hecked;
  112     if not c hkbxOther. Checked th en
  113       edtOth erReason.T ext := '';
  114     btnOK.En abled := V alidReason s;
  115   end;
  116  
  117   procedure  TfrmWVEIER easonsDlg. edtOtherRe asonChange (Sender: T Object);
  118   begin
  119     btnOK.En abled := V alidReason s;
  120   end;
  121  
  122   function T frmWVEIERe asonsDlg.E xecute: bo olean;
  123   var
  124     i: integ er;
  125     aWidth:  integer;
  126   begin
  127     ClientHe ight := 80  + (fReaso ns.Count *  25);
  128     aWidth : = ClientWi dth - 20;
  129  
  130     for i :=  0 to fRea sons.Count  - 1 do
  131       with T CheckBox.C reate(Self ) do
  132         begi n
  133           Pa rent := Se lf;
  134           na me := Form at('chkbx% d', [i + 1 ]);
  135           To p := (i *  25) + 10;
  136           Le ft := 10;
  137           Wi dth := aWi dth;
  138           An chors := [ akLeft, ak Top, akRig ht];
  139           Ca ption := f Reasons[i] ;
  140           On Click := C heckUnChec kReason;
  141         end;
  142     pnlOther .Top := (f Reasons.Co unt * 25)  + 10;
  143     fReasons .Clear;
  144  
  145     Result : = (ShowMod al = mrOk) ;
  146   end;
  147  
  148   procedure  TfrmWVEIER easonsDlg. FormCreate (Sender: T Object);
  149   begin
  150     fReasons  := TStrin gList.Crea te;
  151   end;
  152  
  153   procedure  TfrmWVEIER easonsDlg. FormDestro y(Sender:  TObject);
  154   begin
  155     FreeAndN il(fReason s);
  156   end;
  157  
  158   function T frmWVEIERe asonsDlg.G etReasons( aTStrings:  TStrings) : integer;
  159   begin
  160     aTString s.Clear;
  161  
  162     // Add t he predefi ned reason s
  163     aTString s.Text :=  fReasons.T ext;
  164  
  165     // Add t he custom  reason if  it exists
  166     if chkbx Other.Chec ked and (e dtOtherRea son.Text < > '') then
  167       aTStri ngs.Add(ed tOtherReas on.Text);
  168  
  169     Result : = aTString s.Count;
  170   end;
  171  
  172   function T frmWVEIERe asonsDlg.V alidReason s: boolean ;
  173   begin
  174     if chkbx Other.Chec ked then
  175       Result  := (Lengt h(edtOther Reason.Tex t) > 2)
  176     else
  177       Result  := (fReas ons.Count  > 0);
  178   end;
  179  
  180   end.