| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 | unit SelectOnlineSignPhaseFrm;interfaceuses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  Dialogs, JimCombos, StdCtrls, ExtCtrls, sdDB, PNGButton;type  TSelectOnlineSignPhaseForm = class(TForm)    pnlPhase: TPanel;    jcbPhase: TJimComboBox;    lblHint: TLabel;    pbOk: TPNGButton;    procedure pbOkClick(Sender: TObject);  private    function GetPhaseIndex: Integer;    { Private declarations }  public    procedure Init(AProjectRec: TsdDataRecord);    property PhaseIndex: Integer read GetPhaseIndex;  end;function SelectOnlineSignPhase(var APhase: Integer; AProjectRec: TsdDataRecord): Boolean;implementation{$R *.dfm}function SelectOnlineSignPhase(var APhase: Integer; AProjectRec: TsdDataRecord): Boolean;var  vSelectFrm: TSelectOnlineSignPhaseForm;begin  Result := False;  vSelectFrm := TSelectOnlineSignPhaseForm.Create(nil);  try    vSelectFrm.Init(AProjectRec);    Result := vSelectFrm.ShowModal = mrOk;    if Result then      APhase := vSelectFrm.PhaseIndex;  finally    vSelectFrm.Free;  end;end;{ TSelectOnlineSignPhaseForm }function TSelectOnlineSignPhaseForm.GetPhaseIndex: Integer;begin  Result := jcbPhase.ItemIndex + 1;end;procedure TSelectOnlineSignPhaseForm.Init(AProjectRec: TsdDataRecord);var  iPhase: Integer;  iPhaseCount: Integer;begin  iPhaseCount := AProjectRec.ValueByName('PhaseCount').AsInteger;  if AProjectRec.ValueByName('AuditStatus').AsInteger <> -1 then    iPhaseCount := iPhaseCount - 1;  for iPhase := 1 to iPhaseCount do    jcbPhase.Items.Add(Format(' µÚ %d ÆÚÊý¾Ý', [iPhase]));  jcbPhase.ItemIndex := jcbPhase.Items.Count - 1;end;procedure TSelectOnlineSignPhaseForm.pbOkClick(Sender: TObject);begin  if jcbPhase.ItemIndex >= 0 then    ModalResult := mrOk;end;end.
 |