MaiXinRong 8 роки тому
батько
коміт
ba506f8ff7

+ 15 - 0
Forms/ProjectPropertiesFrm.dfm

@@ -389,6 +389,19 @@ object ProjectPropertiesForm: TProjectPropertiesForm
             Height = 12
             Caption = #25130#27490#26085#26399#65306
           end
+          object lblDateHint: TLabel
+            Left = 37
+            Top = 72
+            Width = 192
+            Height = 12
+            Caption = #24403#21069#25130#27490#26085#26399' '#65308' '#36215#22987#26085#26399#65292#35831#26680#26597
+            Font.Charset = ANSI_CHARSET
+            Font.Color = clRed
+            Font.Height = -12
+            Font.Name = #23435#20307
+            Font.Style = []
+            ParentFont = False
+          end
           object pnlDealInfoBar: TPanel
             Left = 62
             Top = -877
@@ -1014,6 +1027,7 @@ object ProjectPropertiesForm: TProjectPropertiesForm
             Format = 'yyyy-MM-dd'
             Time = 0.457352881945553200
             TabOrder = 33
+            OnChange = dtpBaselineChange
           end
           object dtpDeadline: TDateTimePicker
             Left = 104
@@ -1024,6 +1038,7 @@ object ProjectPropertiesForm: TProjectPropertiesForm
             Format = 'yyyy-MM-dd'
             Time = 0.457352881945553200
             TabOrder = 34
+            OnChange = dtpBaselineChange
           end
         end
       end

+ 19 - 0
Forms/ProjectPropertiesFrm.pas

@@ -113,6 +113,7 @@ type
     dtpBaseline: TDateTimePicker;
     lblDeadline: TLabel;
     dtpDeadline: TDateTimePicker;
+    lblDateHint: TLabel;
     procedure btnOkClick(Sender: TObject);
     procedure leContractPriceClick(Sender: TObject);
     procedure msbBaseMouseWheel(Sender: TObject; Shift: TShiftState;
@@ -136,6 +137,7 @@ type
     procedure leNewUnLockPasswordExit(Sender: TObject);
     procedure leUnlockPasswordExit(Sender: TObject);
     procedure cbShowReportShadingClick(Sender: TObject);
+    procedure dtpBaselineChange(Sender: TObject);
   private
     FProjectData: TProjectData;
     FStaffData: TStaffData;
@@ -170,6 +172,8 @@ type
     procedure CheckNewPassword;
     procedure CheckNewPasswordAgain;
 
+    procedure CheckDate;
+
     procedure SetProjectData(const Value: TProjectData);
   public
     procedure Save;
@@ -610,6 +614,7 @@ begin
   fs.ShortDateFormat := dtpBaseline.Format;
   dtpBaseline.Date := StrToDateDef(ProjProperties.Baseline, Date, fs);
   dtpDeadline.Date := StrToDateDef(ProjProperties.Deadline, Date, fs);
+  CheckDate;
 end;
 
 procedure TProjectPropertiesForm.SaveDateTime;
@@ -618,4 +623,18 @@ begin
   ProjProperties.Deadline := FormatDateTime(dtpDeadline.Format, dtpDeadline.Date);
 end;
 
+procedure TProjectPropertiesForm.CheckDate;
+var
+  iBaseline, iDeadline: Integer;
+begin
+  iBaseline := Trunc(dtpBaseline.Date);
+  iDeadline := Trunc(dtpDeadline.Date);
+  lblDateHint.Visible := iBaseline > iDeadline;
+end;
+
+procedure TProjectPropertiesForm.dtpBaselineChange(Sender: TObject);
+begin
+  CheckDate;
+end;
+
 end.

+ 1 - 0
Units/ProjectProperty.pas

@@ -508,6 +508,7 @@ begin
   LoadDealInfo;
   LoadTechParameters;
   LoadCalcParameters;
+  LoadDateTime;
   FUnlockInfoPassword := GetStrPropertyDef('UnlockInfoPassword', '');
   FUpdateFlag := GetIntPropertyDef('UpdateFlag', 0);
 end;