ProjGatherSelectFrm.pas 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. unit ProjGatherSelectFrm;
  2. interface
  3. uses
  4. ProjGatherSelectFme,
  5. sdIDTree, sdDB,
  6. Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  7. Dialogs, sdGridDBA, sdGridTreeDBA, StdCtrls, ZJGrid, ZJCells, ExtCtrls;
  8. type
  9. TProjGatherSelectForm = class(TForm)
  10. btnOk: TButton;
  11. btnCancel: TButton;
  12. pnlTop: TPanel;
  13. procedure btnOkClick(Sender: TObject);
  14. private
  15. FSelectFrame: TProjGatherSelectFrame;
  16. FBeginPhaseIndex: Integer;
  17. FEndPhaseIndex: Integer;
  18. procedure RefreshDiffWindows;
  19. public
  20. constructor Create(AProjectID: Integer; AProjs: TList; ASpecialProjTypes: TStrings);
  21. destructor Destroy; override;
  22. procedure AssignResult(AProjs: TList);
  23. end;
  24. function SelectGatherProject(AProjectID: Integer; AProjs: TList; ASpecialProjTypes: TStrings = nil): Boolean;
  25. implementation
  26. uses
  27. UtilMethods;
  28. {$R *.dfm}
  29. function SelectGatherProject(AProjectID: Integer; AProjs: TList; ASpecialProjTypes: TStrings = nil): Boolean;
  30. var
  31. vSelectFrm: TProjGatherSelectForm;
  32. begin
  33. vSelectFrm := TProjGatherSelectForm.Create(AProjectID, AProjs, ASpecialProjTypes);
  34. try
  35. Result := vSelectFrm.ShowModal = mrOk;
  36. if Result then
  37. vSelectFrm.AssignResult(AProjs);
  38. finally
  39. vSelectFrm.Free;
  40. end;
  41. end;
  42. { TProjGatherSelectForm }
  43. constructor TProjGatherSelectForm.Create(AProjectID: Integer;
  44. AProjs: TList; ASpecialProjTypes: TStrings);
  45. begin
  46. inherited Create(nil);
  47. FSelectFrame := TProjGatherSelectFrame.Create(AProjectID, ASpecialProjTypes);
  48. AlignControl(FSelectFrame, pnlTop, alClient);
  49. FSelectFrame.LoadHistorySelects(AProjs);
  50. RefreshDiffWindows;
  51. end;
  52. destructor TProjGatherSelectForm.Destroy;
  53. begin
  54. FSelectFrame.Free;
  55. inherited;
  56. end;
  57. procedure TProjGatherSelectForm.btnOkClick(Sender: TObject);
  58. begin
  59. if FSelectFrame.zgResult.RowCount > 1 then
  60. ModalResult := mrOk
  61. else
  62. WarningMessage('Çë¹´Ñ¡»ã×ÜÏîÄ¿¡£', Handle);
  63. end;
  64. procedure TProjGatherSelectForm.AssignResult(AProjs: TList);
  65. begin
  66. FSelectFrame.AssignResult(AProjs);
  67. end;
  68. procedure TProjGatherSelectForm.RefreshDiffWindows;
  69. begin
  70. ClientHeight := 523;
  71. ClientWidth := 827;
  72. end;
  73. end.