| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558 | 
							- unit ProjectPropertiesFrm;
 
- interface
 
- uses
 
-   ProjectFme,
 
-   ProjectData, ProjectProperty, StaffDm,
 
-   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 
-   Dialogs, StdCtrls, ExtCtrls, JimPages, ComCtrls, ToolWin, MScrollBox,
 
-   XPMenu, JimCombos, Mask, ImgList, ZJGrid, ZjGridDBA;
 
- type
 
-   TProjectPropertiesForm = class(TForm)
 
-     btnOk: TButton;
 
-     btnCancel: TButton;
 
-     xpm: TXPMenu;
 
-     pnlTop: TPanel;
 
-     tbTop: TToolBar;
 
-     tobtnBase: TToolButton;
 
-     Images: TImageList;
 
-     pnlBlank: TPanel;
 
-     tobtnStaff: TToolButton;
 
-     tobtnView: TToolButton;
 
-     jpsProperties: TJimPages;
 
-     jpsPropertiesBase: TJimPage;
 
-     jpsPropertiesStaff: TJimPage;
 
-     jpsPropertiesView: TJimPage;
 
-     pnlBase: TPanel;
 
-     tbContents: TToolBar;
 
-     tobtnDealInfo: TToolButton;
 
-     tobtnTechParameters: TToolButton;
 
-     tobtnDealPayment: TToolButton;
 
-     msbBase: TMScrollBox;
 
-     lblDealInfo: TLabel;
 
-     lblBuilder: TLabel;
 
-     lblConstructor: TLabel;
 
-     lblSupervisor: TLabel;
 
-     lblTechParameters: TLabel;
 
-     lblLoadLevel: TLabel;
 
-     lblDealPayTitle: TLabel;
 
-     pnlDealInfoBar: TPanel;
 
-     leProjectName: TLabeledEdit;
 
-     leDealName: TLabeledEdit;
 
-     leDealIndex: TLabeledEdit;
 
-     leBName: TLabeledEdit;
 
-     leBLegal: TLabeledEdit;
 
-     leBDate: TLabeledEdit;
 
-     leCName: TLabeledEdit;
 
-     leCLegal: TLabeledEdit;
 
-     leCDate: TLabeledEdit;
 
-     leSName: TLabeledEdit;
 
-     leSLegal: TLabeledEdit;
 
-     leSDate: TLabeledEdit;
 
-     pnlTechParametersBar: TPanel;
 
-     leStartPeg: TLabeledEdit;
 
-     leEndPeg: TLabeledEdit;
 
-     leLength: TLabeledEdit;
 
-     leLaneCount: TLabeledEdit;
 
-     cbLoadLevel: TComboBox;
 
-     pnlDealPayBar: TPanel;
 
-     leContractPrice: TLabeledEdit;
 
-     leStartedSubsist: TLabeledEdit;
 
-     leMaterialSubsist: TLabeledEdit;
 
-     pnlViewBar: TPanel;
 
-     leView: TLabel;
 
-     zgStaff: TZJGrid;
 
-     zaStaff: TZjGridDBA;
 
-     jcbPhase: TJimComboBox;
 
-     tobtnSafe: TToolButton;
 
-     lblSafeTitel: TLabel;
 
-     pnlSafeBar: TPanel;
 
-     lblUnlockPassword: TLabel;
 
-     imgValid: TImageList;
 
-     pnlUnlockPassword: TPanel;
 
-     pnlOrgPW: TPanel;
 
-     leUnlockPassword: TLabeledEdit;
 
-     imgOrg: TImage;
 
-     pnlNewPW: TPanel;
 
-     leNewUnlockPasswordAgain: TLabeledEdit;
 
-     leNewUnLockPassword: TLabeledEdit;
 
-     imgNew: TImage;
 
-     imgNewAgain: TImage;
 
-     lblPasswordHint: TLabel;
 
-     leDealType: TLabeledEdit;
 
-     pnlAllView: TPanel;
 
-     pnlAlias: TPanel;
 
-     pnlPriceChange: TPanel;
 
-     cbShowPriceChange: TCheckBox;
 
-     pnlBGL: TPanel;
 
-     cbShowBGLCode: TCheckBox;
 
-     pnlDesignQuantity: TPanel;
 
-     cbShowDesignQuantity: TCheckBox;
 
-     cbShowAlias: TCheckBox;
 
-     tobtnCalcParameters: TToolButton;
 
-     pnlCalcParametersBar: TPanel;
 
-     lblCalcParametersTitel: TLabel;
 
-     leQuantityDigit: TLabeledEdit;
 
-     Label1: TLabel;
 
-     leTotalPriceDigit: TLabeledEdit;
 
-     udQuantity: TUpDown;
 
-     udTotalPrice: TUpDown;
 
-     procedure btnOkClick(Sender: TObject);
 
-     procedure leContractPriceClick(Sender: TObject);
 
-     procedure msbBaseMouseWheel(Sender: TObject; Shift: TShiftState;
 
-       WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
 
-     procedure msbBaseMouseWheelDown(Sender: TObject;
 
-       Shift: TShiftState; MousePos: TPoint; var Handled: Boolean);
 
-     procedure msbBaseMouseWheelUp(Sender: TObject; Shift: TShiftState;
 
-       MousePos: TPoint; var Handled: Boolean);
 
-     procedure msbBaseVScroll(Sender: TObject);
 
-     procedure tobtnDealInfoClick(Sender: TObject);
 
-     procedure tobtnBaseClick(Sender: TObject);
 
-     procedure jcbPhaseChanged(Sender: TObject);
 
-     procedure zgStaffCellGetColor(Sender: TObject; ACoord: TPoint;
 
-       var AColor: TColor);
 
-     procedure zgStaffCellGetFont(Sender: TObject; ACoord: TPoint;
 
-       AFont: TFont);
 
-     procedure zgStaffCellCanEdit(Sender: TObject; const ACoord: TPoint;
 
-       var Allow: Boolean);
 
-     procedure leUnlockPasswordKeyPress(Sender: TObject; var Key: Char);
 
-     procedure leNewUnlockPasswordAgainExit(Sender: TObject);
 
-     procedure leNewUnLockPasswordExit(Sender: TObject);
 
-     procedure leUnlockPasswordExit(Sender: TObject);
 
-   private
 
-     FProjectData: TProjectData;
 
-     FStaffData: TStaffData;
 
-     FProjProperties: TProjProperties;
 
-     FProjectFrame: TProjectFrame;
 
-     procedure InitAllPage;
 
-     procedure InitDealInfo;
 
-     procedure InitDealPay;
 
-     procedure InitTechParameters;
 
-     procedure InitProjectView;
 
-     procedure InitStaffRela;
 
-     procedure InitSafe;
 
-     procedure InitCalcParameters;
 
-     procedure SaveDealInfo;
 
-     procedure SaveDealPay;
 
-     procedure SaveTechParameters;
 
-     procedure SaveSafe;
 
-     procedure SaveCalcParameters;
 
-     procedure SaveProjectView;
 
-     procedure ResetContentsCheck; overload;
 
-     procedure ResetContentsCheck(ATag: Integer); overload;
 
-     procedure ResetVertScrollBarPosition(ATag: Integer);
 
-     procedure CheckValidKey(var AKey: Char);
 
-     procedure CheckOrgPassword;
 
-     procedure CheckNewPassword;
 
-     procedure CheckNewPasswordAgain;
 
-     procedure SetProjectData(const Value: TProjectData);
 
-   public
 
-     procedure Save;
 
-     property ProjectData: TProjectData read FProjectData write SetProjectData;
 
-     property ProjProperties: TProjProperties read FProjProperties;
 
-     property ProjectFrame: TProjectFrame read FProjectFrame write FprojectFrame;
 
-   end;
 
- procedure ModifyProjectProperties(ProjectFrame: TProjectFrame);
 
- implementation
 
- uses
 
-   PhaseProperty, DB, UtilMethods, ZhAPI;
 
- {$R *.dfm}
 
- procedure ModifyProjectProperties(ProjectFrame: TProjectFrame);
 
- var
 
-   PropertiesForm: TProjectPropertiesForm;
 
- begin
 
-   PropertiesForm := TProjectPropertiesForm.Create(nil);
 
-   try
 
-     PropertiesForm.ProjectFrame := ProjectFrame;
 
-     PropertiesForm.ProjectData := ProjectFrame.ProjectData;
 
-     PropertiesForm.zgStaff.OnCellCanEdit := PropertiesForm.zgStaffCellCanEdit;
 
-     if PropertiesForm.ShowModal = mrOk then
 
-       PropertiesForm.Save;
 
-   finally
 
-     PropertiesForm.Free;
 
-   end;
 
- end;
 
- { TProjectPropertiesForm }
 
- procedure TProjectPropertiesForm.InitAllPage;
 
- begin
 
-   InitDealInfo;
 
-   InitTechParameters;
 
-   InitDealPay;
 
-   InitSafe;
 
-   InitCalcParameters;
 
-   InitStaffRela;
 
-   InitProjectView;
 
- end;
 
- procedure TProjectPropertiesForm.InitProjectView;
 
- begin
 
-   cbShowPriceChange.Checked := FProjProperties.ShowPriceChange;
 
-   cbShowBGLCode.Checked := FProjProperties.ShowBGLCode;
 
-   cbShowDesignQuantity.Checked := FProjProperties.ShowDesignQuantity;
 
-   cbShowAlias.Checked := FProjProperties.ShowAlias;
 
- end;
 
- procedure TProjectPropertiesForm.btnOkClick(Sender: TObject);
 
- begin
 
-   ModalResult := mrOk;
 
- end;
 
- procedure TProjectPropertiesForm.Save;
 
- begin
 
-   SaveDealPay;
 
-   SaveDealInfo;
 
-   SaveTechParameters;
 
-   SaveSafe;
 
-   SaveCalcParameters;
 
-   SaveProjectView;
 
- end;
 
- procedure TProjectPropertiesForm.InitDealPay;
 
- begin
 
-   leContractPrice.Text := FloatToStr(FProjProperties.ContractPrice);
 
-   leContractPrice.ReadOnly := FProjProperties.PhaseCount > 0;
 
-   SetWindowLong(leContractPrice.Handle, GWL_STYLE, GetWindowLong(leContractPrice.Handle, GWL_STYLE) or ES_RIGHT);
 
-   leStartedSubsist.Text := FloatToStr(FProjProperties.StartedSubsisit);
 
-   leStartedSubsist.ReadOnly := FProjProperties.PhaseCount > 0;
 
-   SetWindowLong(leStartedSubsist.Handle, GWL_STYLE, GetWindowLong(leStartedSubsist.Handle, GWL_STYLE) or ES_RIGHT);
 
-   leMaterialSubsist.Text := FloatToStr(FProjProperties.MaterialSubsist);
 
-   leMaterialSubsist.ReadOnly := FProjProperties.PhaseCount > 0;
 
-   SetWindowLong(leMaterialSubsist.Handle, GWL_STYLE, GetWindowLong(leMaterialSubsist.Handle, GWL_STYLE) or ES_RIGHT);
 
- end;
 
- procedure TProjectPropertiesForm.SaveDealPay;
 
- begin
 
-   if FProjProperties.PhaseCount > 0 then Exit;
 
-   FProjProperties.ContractPrice := StrToFloatDef(leContractPrice.Text, 0);
 
-   FProjProperties.StartedSubsisit := StrToFloatDef(leStartedSubsist.Text, 0);
 
-   FProjProperties.MaterialSubsist := StrToFloatDef(leMaterialSubsist.Text, 0);
 
-   FProjectData.DealPaymentData.CalcStarted_RangePrice;
 
- end;
 
- procedure TProjectPropertiesForm.leContractPriceClick(Sender: TObject);
 
- begin
 
-   if not TLabeledEdit(Sender).ReadOnly then
 
-     TLabeledEdit(Sender).SelectAll;
 
- end;
 
- procedure TProjectPropertiesForm.msbBaseMouseWheel(Sender: TObject;
 
-   Shift: TShiftState; WheelDelta: Integer; MousePos: TPoint;
 
-   var Handled: Boolean);
 
- begin
 
-   ResetContentsCheck;
 
- end;
 
- procedure TProjectPropertiesForm.msbBaseMouseWheelDown(Sender: TObject;
 
-   Shift: TShiftState; MousePos: TPoint; var Handled: Boolean);
 
- begin
 
-   SendMessage(msbBase.Handle,WM_VSCROLL,SB_LINEDOWN, 0);
 
- end;
 
- procedure TProjectPropertiesForm.msbBaseMouseWheelUp(Sender: TObject;
 
-   Shift: TShiftState; MousePos: TPoint; var Handled: Boolean);
 
- begin
 
-   SendMessage(msbBase.Handle,WM_VSCROLL,SB_LINEUP, 0);
 
- end;
 
- procedure TProjectPropertiesForm.ResetContentsCheck(ATag: Integer);
 
- begin
 
-   tobtnDealInfo.Down := tobtnDealInfo.Tag = ATag;
 
-   tobtnTechParameters.Down := tobtnTechParameters.Tag = ATag;
 
-   tobtnDealPayment.Down := tobtnDealPayment.Tag = ATag;
 
-   tobtnSafe.Down := tobtnSafe.Tag = ATag;
 
-   tobtnCalcParameters.Down := tobtnCalcParameters.Tag = ATag;
 
- end;
 
- procedure TProjectPropertiesForm.msbBaseVScroll(Sender: TObject);
 
- begin
 
-   ResetContentsCheck;
 
- end;
 
- procedure TProjectPropertiesForm.ResetContentsCheck;
 
- begin
 
-   if msbBase.VertScrollBar.Position < 355 then
 
-     ResetContentsCheck(tobtnDealInfo.Tag)
 
-   else if msbBase.VertScrollBar.Position < 515 then
 
-     ResetContentsCheck(tobtnTechParameters.Tag)
 
-   else if msbBase.VertScrollBar.Position < 628 then
 
-     ResetContentsCheck(tobtnDealPayment.Tag)
 
-   else if msbBase.VertScrollBar.Position < 758 then
 
-     ResetContentsCheck(tobtnSafe.Tag)
 
-   else
 
-     ResetContentsCheck(tobtnCalcParameters.Tag);
 
- end;
 
- procedure TProjectPropertiesForm.tobtnDealInfoClick(Sender: TObject);
 
- begin
 
-   ResetContentsCheck(TToolButton(Sender).Tag);
 
-   ResetVertScrollBarPosition(TToolButton(Sender).Tag);
 
- end;
 
- procedure TProjectPropertiesForm.ResetVertScrollBarPosition(ATag: Integer);
 
- begin
 
-   if ATag = tobtnDealInfo.Tag then
 
-     msbBase.VertScrollBar.Position := 0
 
-   else if ATag = tobtnTechParameters.Tag then
 
-     msbBase.VertScrollBar.Position := 355
 
-   else if ATag = tobtnDealPayment.Tag then
 
-     msbBase.VertScrollBar.Position := 515
 
-   else if ATag = tobtnSafe.Tag then
 
-     msbBase.VertScrollBar.Position := 628
 
-   else if ATag = tobtnCalcParameters.Tag then
 
-     msbBase.VertScrollBar.Position := 758;
 
- end;
 
- procedure TProjectPropertiesForm.InitDealInfo;
 
- begin
 
-   leProjectName.Text := FProjProperties.ProjectName;
 
-   leDealName.Text := FProjProperties.DealName;
 
-   leDealIndex.Text := FProjProperties.DealIndex;
 
-   leDealType.Text := FProjProperties.DealType;
 
-   leBName.Text := FProjProperties.BName;
 
-   leBLegal.Text := FProjProperties.BLegal;
 
-   leBDate.Text := FProjProperties.BDate;
 
-   leCName.Text := FProjProperties.CName;
 
-   leCLegal.Text := FProjProperties.CLegal;
 
-   leCDate.Text := FProjProperties.CDate;
 
-   leSName.Text := FProjProperties.SName;
 
-   leSLegal.Text := FProjProperties.SLegal;
 
-   leSDate.Text := FProjProperties.SDate;
 
- end;
 
- procedure TProjectPropertiesForm.InitTechParameters;
 
- begin
 
-   cbLoadLevel.ItemIndex := FProjProperties.LoadLevel;
 
-   leStartPeg.Text := FProjProperties.StartPeg;
 
-   leEndPeg.Text := FProjProperties.EndPeg;
 
-   leLength.Text := FloatToStr(FProjProperties.LoadLength);
 
-   leLaneCount.Text := IntToStr(FProjProperties.LaneCount);
 
- end;
 
- procedure TProjectPropertiesForm.SaveDealInfo;
 
- begin
 
-   FProjProperties.ProjectName := leProjectName.Text;
 
-   FProjProperties.DealName := leDealName.Text;
 
-   FProjProperties.DealIndex := leDealIndex.Text;
 
-   FProjProperties.DealType := leDealType.Text;
 
-   FProjProperties.BName := leBName.Text;
 
-   FProjProperties.BLegal := leBLegal.Text;
 
-   FProjProperties.BDate := leBDate.Text;
 
-   FProjProperties.CName := leCName.Text;
 
-   FProjProperties.CLegal := leCLegal.Text;
 
-   FProjProperties.CDate := leCDate.Text;
 
-   FProjProperties.SName := leSName.Text;
 
-   FProjProperties.SLegal := leSLegal.Text;
 
-   FProjProperties.SDate := leSDate.Text;
 
- end;
 
- procedure TProjectPropertiesForm.SaveTechParameters;
 
- begin
 
-   FProjProperties.LoadLevel := cbLoadLevel.ItemIndex;
 
-   FProjProperties.StartPeg := leStartPeg.Text;
 
-   FProjProperties.EndPeg := leEndPeg.Text;
 
-   FProjProperties.LoadLength := StrToFloatDef(leLength.Text, 0);
 
-   FProjProperties.LaneCount := StrToIntDef(leLaneCount.Text, 0);
 
- end;
 
- procedure TProjectPropertiesForm.tobtnBaseClick(Sender: TObject);
 
-   procedure ResetTopButtonDown(ATag: Integer);
 
-   begin
 
-     tobtnBase.Down := tobtnBase.Tag = ATag;
 
-     tobtnStaff.Down := tobtnStaff.Tag = ATag;
 
-     tobtnView.Down := tobtnView.Tag = ATag;
 
-   end;
 
- begin
 
-   ResetTopButtonDown(TToolButton(Sender).Tag);
 
-   jpsProperties.ActivePageIndex := TToolButton(Sender).Tag;
 
-   jcbPhase.Visible := TToolButton(Sender).Tag = tobtnStaff.Tag;
 
- end;
 
- procedure TProjectPropertiesForm.InitStaffRela;
 
- var
 
-   I: Integer;
 
- begin
 
-   tobtnStaff.Enabled := FProjectData.PhaseIndex > 0;
 
-   zaStaff.DataSet := FProjectData.StaffData.cdsStaffView;
 
-   jcbPhase.Items.Clear;
 
-   for I := 1 to FProjectData.ProjProperties.PhaseCount do
 
-     jcbPhase.Items.Add(Format('第 %d 期', [I]));
 
-   jcbPhase.ItemIndex := FProjectData.ProjProperties.PhaseCount - 1;
 
- end;
 
- procedure TProjectPropertiesForm.SetProjectData(const Value: TProjectData);
 
- begin
 
-   FProjectData := Value;
 
-   FStaffData := FProjectData.StaffData;
 
-   FProjProperties := FProjectData.ProjProperties;
 
-   InitAllPage;
 
- end;
 
- procedure TProjectPropertiesForm.jcbPhaseChanged(Sender: TObject);
 
- begin
 
-   FStaffData.ResetViewFilter(jcbPhase.ItemIndex + 1);
 
- end;
 
- procedure TProjectPropertiesForm.zgStaffCellGetColor(Sender: TObject;
 
-   ACoord: TPoint; var AColor: TColor);
 
- begin
 
-   if FStaffData.cdsStaff.FindKey([jcbPhase.ItemIndex + 1, ACoord.Y - zgStaff.FixedRowCount]) then
 
-     if FStaffData.cdsStaffEnable.AsBoolean then
 
-       AColor := clWindow
 
-     else
 
-       AColor := $DCDCDC;
 
- end;
 
- procedure TProjectPropertiesForm.zgStaffCellGetFont(Sender: TObject;
 
-   ACoord: TPoint; AFont: TFont);
 
- begin
 
-   if FStaffData.cdsStaff.FindKey([jcbPhase.ItemIndex + 1, ACoord.Y - zgStaff.FixedRowCount]) then
 
-     if not FStaffData.cdsStaffLocked.AsBoolean and FStaffData.cdsStaffEnable.AsBoolean then
 
-       AFont.Color := clWindowText
 
-     else
 
-       AFont.Color := $A9A9A9;
 
- end;
 
- procedure TProjectPropertiesForm.zgStaffCellCanEdit(Sender: TObject;
 
-   const ACoord: TPoint; var Allow: Boolean);
 
- begin
 
-   if ACoord.X < 2 then Allow := False;
 
-   if FStaffData.cdsStaff.FindKey([jcbPhase.ItemIndex + 1, ACoord.Y - zgStaff.FixedRowCount]) then
 
-     Allow := Allow and not FStaffData.cdsStaffLocked.AsBoolean and FStaffData.cdsStaffEnable.AsBoolean;
 
- end;
 
- procedure TProjectPropertiesForm.InitSafe;
 
- var
 
-   bHasPassword: Boolean;
 
- begin
 
-   bHasPassword := FProjProperties.UnlockInfoPassword <> '';
 
-   pnlOrgPW.Visible := bHasPassword;
 
-   leNewUnLockPassword.ReadOnly := bHasPassword;
 
- end;
 
- procedure TProjectPropertiesForm.SaveSafe;
 
- begin
 
-   if leUnlockPassword.Text = FProjProperties.UnlockInfoPassword then
 
-     if leNewUnLockPassword.Text = leNewUnlockPasswordAgain.Text then
 
-       FProjProperties.UnlockInfoPassword := leNewUnLockPassword.Text
 
-     else ErrorMessage('两次密码输入不一致,密码修改不成功!')
 
-   else if leUnlockPassword.Text <> '' then
 
-     ErrorMessage('原密码输入错误,密码修改不成功!');
 
- end;
 
- procedure TProjectPropertiesForm.leUnlockPasswordKeyPress(Sender: TObject;
 
-   var Key: Char);
 
- begin
 
-   CheckValidKey(Key);
 
- end;
 
- procedure TProjectPropertiesForm.CheckValidKey(var AKey: Char);
 
- begin
 
-   if not (AKey in ['A'..'Z', 'a'..'z', '0'..'9', #8]) then
 
-     AKey := #0;
 
- end;
 
- procedure TProjectPropertiesForm.leNewUnlockPasswordAgainExit(
 
-   Sender: TObject);
 
- begin
 
-   CheckNewPasswordAgain;
 
- end;
 
- procedure TProjectPropertiesForm.leNewUnLockPasswordExit(Sender: TObject);
 
- begin
 
-   CheckNewPassword;
 
-   if leNewUnlockPasswordAgain.Text <> '' then
 
-     CheckNewPasswordAgain;
 
- end;
 
- procedure TProjectPropertiesForm.CheckNewPassword;
 
- var
 
-   bValid: Boolean;
 
- begin
 
-   bValid := CheckValidPassword(leNewUnLockPassword.Text);
 
-   imgNew.Visible := not bValid;
 
-   if not bValid then
 
-     lblPasswordHint.Caption := leNewUnLockPassword.Hint;
 
-   lblPasswordHint.Visible := not bValid;
 
-   leNewUnlockPasswordAgain.ReadOnly := not bValid;
 
- end;
 
- procedure TProjectPropertiesForm.CheckNewPasswordAgain;
 
- var
 
-   bValid: Boolean;
 
- begin
 
-   bValid := not(CheckValidPassword(leNewUnLockPassword.Text)
 
-       and (leNewUnlockPasswordAgain.Text <> leNewUnLockPassword.Text));
 
-   imgNewAgain.Visible := not bValid;
 
-   if not bValid then
 
-     lblPasswordHint.Caption := leNewUnlockPasswordAgain.Hint;
 
-   lblPasswordHint.Visible := not bValid;
 
- end;
 
- procedure TProjectPropertiesForm.leUnlockPasswordExit(Sender: TObject);
 
- begin
 
-   CheckOrgPassword;
 
- end;
 
- procedure TProjectPropertiesForm.CheckOrgPassword;
 
- var
 
-   bValid: Boolean;
 
- begin
 
-   bValid := CheckValidPassword(leUnlockPassword.Text);
 
-   imgOrg.Visible := not bValid;
 
-   if not bValid then
 
-     lblPasswordHint.Caption := leUnlockPassword.Hint;
 
-   lblPasswordHint.Visible := not bValid;
 
-   leNewUnLockPassword.ReadOnly := not bValid;
 
- end;
 
- procedure TProjectPropertiesForm.SaveCalcParameters;
 
- begin
 
-   if FProjProperties.PhaseCount = 0 then
 
-   begin
 
-     FProjProperties.QuantityDigit := udQuantity.Position;
 
-     FProjProperties.TotalPriceDigit := udTotalPrice.Position;
 
-     FProjectData.ResetFloatDigitView;
 
-   end;
 
- end;
 
- procedure TProjectPropertiesForm.InitCalcParameters;
 
- begin
 
-   udQuantity.Position := FProjProperties.QuantityDigit;
 
-   leQuantityDigit.ReadOnly := FProjProperties.PhaseCount > 0;
 
-   udQuantity.Enabled := FProjProperties.PhaseCount = 0;
 
-   udTotalPrice.Position := FProjProperties.TotalPriceDigit;
 
-   leTotalPriceDigit.ReadOnly := FProjProperties.PhaseCount > 0;
 
-   udTotalPrice.Enabled := FProjProperties.PhaseCount = 0;
 
- end;
 
- procedure TProjectPropertiesForm.SaveProjectView;
 
- begin
 
-   FProjProperties.ShowPriceChange := cbShowPriceChange.Checked;
 
-   FProjProperties.ShowBGLCode := cbShowBGLCode.Checked;
 
-   FProjProperties.ShowDesignQuantity := cbShowDesignQuantity.Checked;
 
-   FProjProperties.ShowAlias := cbShowAlias.Checked;
 
-   // 刷新界面显示
 
-   FProjectFrame.RefreshColumnDisplay;
 
- end;
 
- end.
 
 
  |