⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jvparameterlistmainform.pas

📁 East make Tray Icon in delphi
💻 PAS
📖 第 1 页 / 共 4 页
字号:
    ParameterList.AddParameter(Parameter);
    Parameter := TJvBaseParameter(tJvEditParameter.Create(ParameterList));
    WITH tJvEditParameter(Parameter) DO
    BEGIN
      ParentParameterName := 'DBMS_JOB_Parameter';
      Caption := '&Interval';
      SearchName := 'Interval';
      AsString := '';
      Width := 310;
      LabelWidth := 50;
      DisableReasons.AddReason('ExecuteAsJob', False);
    END; {*** WITH tJvEditParameter(Parameter) DO ***}
    ParameterList.AddParameter(Parameter);
    ParameterList.Messages.Caption := 'Select Type of Analyze';
    ParameterList.LoadData;
    ParameterList.ShowParameterDialog;
    ParameterList.StoreData;
  FINALLY
    ParameterList.Free;
  END;
end;

procedure TForm1.AssignWidthHeightCheckBoxClick(Sender: TObject);
begin
  WidthEdit.Enabled := AssignWidthHeightCheckBox.Checked;
  HeightEdit.Enabled := AssignWidthHeightCheckBox.Checked;
end;

procedure TForm1.Button16Click(Sender: TObject);
VAR
  ParameterList     : TJvParameterList;
  BaseParameter     : TJvBaseParameter;
begin
  ParameterList := TJvParameterList.Create(self);
  try
    BaseParameter:= TJvBaseParameter(tJvMemoParameter.Create(ParameterList));
    WITH tJvMemoParameter(BaseParameter) DO
    BEGIN
      SearchName := 'Memo';
      Caption := 'Simple Memo';
      AsString := 'Memo Contents';
      Width := 420;
      Height := 200;
      WordWrap := False;
      WantTabs := False;
      WantReturns := False;
      Scrollbars := ssBoth;
      ReadOnly := TRUE;
    END;   {*** WITH BaseParameter DO ***}
    ParameterList.AddParameter(BaseParameter);
    ParameterList.Messages.OkButton := 'C&opy';
    ParameterList.Messages.CancelButton := '&Cancel';
    IF ParameterList.ShowParameterDialog THEN
      MessageDlg (ParameterList.ParameterByName('Memo').ASString, mtInformation, [mbok],0);
  finally
    ParameterList.Free;
  end;
end;

procedure TForm1.ShowUnitVersioning(const aDynControlEngine: tJvDynControlEngine);
var
  DynEngine : TJvDynControlEngine;
  MainPanel,
  ButtonPanel : TWinControl;
  TopBox,
  BottomBox : TWinControl;
  Button : TButton;
  TreeView : TWinControl;
  IJvReadOnly: IJvDynControlReadOnly;
  IJvTreeView: IJvDynControlTreeView;
  i: Integer;
  MainNode,
  Node: TTreeNode;
  Nodes: TTreeNodes;

  function FindMasterNode (iNodes : TTreeNodes; iNode : TTreeNode; const iPath : String) : tTreeNode;
  var
    Part1, Part2 : String;
    I : Integer;
  begin
    Result := nil;
    Part2 := iPath;
    Part1 := '';
    while (Part1 = '') and (Part2 <> '') do
    begin
      Part1 := trim(StrBefore('\', Part2));
      Part2 := trim(StrAfter('\', Part2));
    end;
    if Part1 <> '' then
    begin
      for i := 0 to iNode.Count-1 do
      begin
        if iNode.Item[i].Text = Part1 then
        begin
          Result := FindMasterNode (iNodes, iNode.Item[i], Part2);
          break;
        end;
      end;
      if Result = nil then
      begin
        Result := iNodes.AddChild(iNode, Part1);
        Result := FindMasterNode (iNodes, Result, Part2);
      end;
    end
    else
      Result := iNode;
  end;

begin
  if Assigned(aDynControlEngine) then
    DynEngine := aDynControlEngine
  else
    DynEngine := DefaultDynControlEngine;
  UnitVersionForm := DynEngine.CreateForm ('Unit Versioning', '');
  try
    if UnitVersionForm is TForm then
      TForm(UnitVersionForm).Position := poDesktopCenter;
    UnitVersionForm.Width := 500;
    UnitVersionForm.Height := 500;
    ButtonPanel := DynEngine.CreatePanelControl(UnitVersionForm, UnitVersionForm, 'ButtonPanel', '', alBottom);
    MainPanel := DynEngine.CreatePanelControl(UnitVersionForm, UnitVersionForm, 'MainPanel', '', alClient);
    if MainPanel is TPanel then
      TPanel(MainPanel).borderWidth := 3;
    Button:= DynEngine.CreateButton(UnitVersionForm, ButtonPanel,'CloseBtn', 'Close', '', CloseButtonOnClick, True, True);
    Button.Left := Round((UnitVersionForm.Width-Button.Width)/2);
    Button.Top := Round((ButtonPanel.Height-Button.Height)/2);
    BottomBox := DynEngine.CreateGroupBoxControl(UnitVersionForm, MainPanel, 'BottomBox', 'Details');
    BottomBox.Align := alBottom;
    TopBox := DynEngine.CreateGroupBoxControl(UnitVersionForm, MainPanel, 'TopBox', 'Unit Versions');
    TopBox.Align := alClient;
    TreeView := DynEngine.CreateTreeViewControl(UnitVersionForm, TopBox, 'TreeView');
    TreeView.Align := alClient;
    RCSFilePanel := DynEngine.CreatePanelControl(UnitVersionForm, BottomBox, 'RCSFilePanel', '', alTop);
    RCSFilePanel.Align := alTop;
    RCSFileEdit := DynEngine.CreateEditControl(UnitVersionForm, RCSFilePanel, 'RCSFileEdit');
    RCSFileEdit.Width := 340;
    if Supports(RCSFileEdit, IJvDynControlReadOnly, IJvReadOnly) then
      IJvReadOnly.ControlSetReadOnly(True);
    LabelControl := DynEngine.CreateLabelControlPanel(UnitVersionForm, RCSFilePanel,'RCSFileLabel', 'RCS File', RCSFileEdit, False, 80);
    RCSFilePanel.Height := RCSFileEdit.Height+1;
    RevisionPanel := DynEngine.CreatePanelControl(UnitVersionForm, BottomBox, 'RevisionPanel', '', alTop);
    RevisionPanel.Align := alTop;
    RevisionEdit := DynEngine.CreateEditControl(UnitVersionForm, RevisionPanel, 'RevisionEdit');
    RevisionEdit.Width := 340;
    LabelControl := DynEngine.CreateLabelControlPanel(UnitVersionForm, RevisionPanel,'RevisionLabel', 'Revision', RevisionEdit, False, 80);
    if Supports(RevisionEdit, IJvDynControlReadOnly, IJvReadOnly) then
      IJvReadOnly.ControlSetReadOnly(True);
    RevisionPanel.Height := RevisionEdit.Height+1;
    DatePanel := DynEngine.CreatePanelControl(UnitVersionForm, BottomBox, 'DatePanel', '', alTop);
    DatePanel.Align := alTop;
    DateEdit := DynEngine.CreateEditControl(UnitVersionForm, DatePanel, 'DateEdit');
    DateEdit.Width := 340;
    LabelControl := DynEngine.CreateLabelControlPanel(UnitVersionForm, DatePanel,'DateLabel', 'Date', DateEdit, False, 80);
    if Supports(DateEdit, IJvDynControlReadOnly, IJvReadOnly) then
      IJvReadOnly.ControlSetReadOnly(True);
    DatePanel.Height := DateEdit.Height+1;
    PathPanel := DynEngine.CreatePanelControl(UnitVersionForm, BottomBox, 'PathPanel', '', alTop);
    PathPanel.Align := alTop;
    PathEdit := DynEngine.CreateEditControl(UnitVersionForm, PathPanel, 'PathEdit');
    PathEdit.Width := 340;
    LabelControl := DynEngine.CreateLabelControlPanel(UnitVersionForm, PathPanel,'PathLabel', 'Path', PathEdit, False, 80);
    if Supports(PathEdit, IJvDynControlReadOnly, IJvReadOnly) then
      IJvReadOnly.ControlSetReadOnly(True);
    PathPanel.Height := PathEdit.Height+1;
    ExtraPanel := DynEngine.CreatePanelControl(UnitVersionForm, BottomBox, 'ExtraPanel', '', alTop);
    ExtraPanel.Align := alTop;
    ExtraEdit := DynEngine.CreateMemoControl(UnitVersionForm, ExtraPanel, 'ExtraEdit');
//    if Supports(ExtraEdit, IJvDynControlReadOnly, IJvReadOnly) then
//      IJvReadOnly.ControlSetReadOnly(True);
    ExtraEdit.Width := 400;
    LabelControl := DynEngine.CreateLabelControlPanel(UnitVersionForm, ExtraPanel,'ExtraLabel', 'Extra', ExtraEdit, True, 80);
    LabelControl.Width := 80 + PathEdit.Width;
    ExtraPanel.Height := LabelControl.Height;

    BottomBox.Height := DatePanel.Height*4+10+ExtraPanel.Height;

    if Supports(TreeView, IJvDynControlReadOnly, IJvReadOnly) then
      IJvReadOnly.ControlSetReadOnly(True);

    if Supports(TreeView, IJvDynControlTreeView, IJvTreeView) then
    begin
      Nodes := IJvTreeView.ControlGetItems;
      Nodes.Clear;
      IJvTreeView.ControlSetOnChange(TreeViewOnChange);
      MainNode := Nodes.AddChild(nil,extractfilename(ParamStr(0))+' '+VersionFixedFileInfoString( ParamStr(0)));
      with GetUnitVersioning do
        for i := 0 to count-1 do
          node := Nodes.AddChildObject(FindMasterNode (Nodes, MainNode, Items[i].LogPath), Items[i].RCSfile+' - '+Items[i].Revision, Items[i]);
      IJvTreeView.ControlSetSortType (stText);
      if TreeView is TTreeView then
        TTreeView(TreeView).FullExpand;
      MainNode.Selected := True;
    end;
    TreeViewOnChange(nil, nil);
    UnitVersionForm.ShowModal;
  finally
    UnitVersionForm.Free;
  end;
end;

procedure TForm1.CloseButtonOnClick(Sender : TObject);
begin
  if Assigned(UnitVersionForm) then
    UnitVersionForm.ModalResult := mrOk;
end;

procedure TForm1.TreeViewOnChange(Sender: TObject; Node: TTreeNode);
var
  IJvData : IJvDynControlData;
begin
  if Assigned(Node) and Assigned(Node.Data) and
    (TObject(Node.Data) is TUnitVersion) then
  begin
    if Supports(RCSFileEdit, IJvDynControlData, IJvData) then
    begin
      IJvData.ControlValue := TUnitVersion(Node.Data).RCSFile;
      RCSFilePanel.Visible := True;
    end
    else
      RCSFilePanel.Visible := False;
    if Supports(RevisionEdit, IJvDynControlData, IJvData) then
    begin
      IJvData.ControlValue := TUnitVersion(Node.Data).Revision;
      RevisionPanel.Visible := True;
    end
    else
      RevisionPanel.Visible := False;
    if Supports(DateEdit, IJvDynControlData, IJvData) then
    begin
      IJvData.ControlValue := TUnitVersion(Node.Data).Date;
      DatePanel.Visible := True;
    end
    else
      DatePanel.Visible := False;
    if Supports(ExtraEdit, IJvDynControlData, IJvData) and
      (TUnitVersion(Node.Data).Extra <> '') then
    begin
      IJvData.ControlValue := TUnitVersion(Node.Data).Extra;
      ExtraPanel.Visible := True;
    end
    else
      ExtraPanel.Visible := False;
    if Supports(PathEdit, IJvDynControlData, IJvData) then
    begin
      IJvData.ControlValue := TUnitVersion(Node.Data).LogPath;
      PathPanel.Visible := True;
    end
    else
      PathPanel.Visible := False;
  end
  else
  begin
    RCSFilePanel.Visible := False;
    RevisionPanel.Visible := False;
    DatePanel.Visible := False;
    ExtraPanel.Visible := False;
    PathPanel.Visible := False;
  end;
end;

procedure TForm1.Button17Click(Sender: TObject);
begin
  ShowUnitVersioning(nil);
end; 

procedure TForm1.Button18Click(Sender: TObject);
VAR
  ParameterList         : TJvParameterList;
  Parameter         : TJvBaseParameter;
begin
  ParameterList := TJvParameterList.Create(Self);
  TRY
    Parameter := TJvBaseParameter(TJvEditParameter.Create(ParameterList));
    WITH TJvEditParameter(Parameter) DO
    BEGIN
      Caption := '&Job';
      SearchName := 'Job';
      AsString := '999';
      ReadOnly := True;
      Width := 250;
    END; {*** WITH TJvEditParameter(Parameter) DO ***}
    ParameterList.AddParameter(Parameter);
    Parameter := TJvBaseParameter(TJvMemoParameter.Create(ParameterList));
    WITH TJvMemoParameter(Parameter) DO
    BEGIN
      Caption := '&What';
      SearchName := 'What';
      AsString := 'Do Anything';
      Required := True;
      Width := 450;
      Height := 250;
      Scrollbars := ssBoth;
      WantTabs := False;
      WantReturns := True;
      WordWrap := False;
      FontName := 'Courier New';
    END; {*** WITH TJvEditParameter(Parameter) DO ***}
    ParameterList.AddParameter(Parameter);
    Parameter := TJvBaseParameter(tJvDateParameter.Create(ParameterList));
    WITH tJvDateParameter(Parameter) DO
    BEGIN
      Caption := '&Date';
      SearchName := 'Date';
      asDate := Trunc(now);
      Width := 120;
    END; {*** WITH TJvEditParameter(Parameter) DO ***}
    ParameterList.AddParameter(Parameter);
    Parameter := TJvBaseParameter(tJvTimeParameter.Create(ParameterList));
    WITH tJvTimeParameter(Parameter) DO
    BEGIN
      Caption := '&Time';
      SearchName := 'Time';
      asDate := now;
      Width := 120;
    END; {*** WITH TJvEditParameter(Parameter) DO ***}
    ParameterList.AddParameter(Parameter);
    Parameter := TJvBaseParameter(TJvEditParameter.Create(ParameterList));
    WITH TJvEditParameter(Parameter) DO
    BEGIN
      Caption := '&Interval';
      SearchName := 'Interval';
      AsString := 'trunc(sysdate)+1';
      Width := 450;
    END; {*** WITH TJvEditParameter(Parameter) DO ***}
    ParameterList.AddParameter(Parameter);
    Parameter := TJvBaseParameter(TJvCheckBoxParameter.Create(ParameterList));
    WITH Parameter DO
    BEGIN
      Caption := '&Broken Job';
      SearchName := 'Broken';
      AsBoolean := FALSE;
      Width := 350;
    END; {*** WITH TJvEditParameter(Parameter) DO ***}
    ParameterList.AddParameter(Parameter);
    ParameterList.Messages.Caption := 'Change Job';
    ParameterList.Messages.OkButton := '&Ok';
    ParameterList.Messages.CancelButton := '&Cancel';
    ParameterList.Width := 510;
    ParameterList.ShowParameterDialog;
  FINALLY
    FreeAndNil(ParameterList);
  END;
end;

initialization
  RegisterUnitVersion(HInstance, UnitVersioning);

finalization
  UnregisterUnitVersion(HInstance);

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -