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

📄 iscopecomponenteditor.pas

📁 iocopm3.04源码,一套很好的工控开发工具
💻 PAS
📖 第 1 页 / 共 2 页
字号:
{*******************************************************}
{                                                       }
{       TiPipeJointComponentEditor                      }
{                                                       }
{       Copyright (c) 1997,2003 Iocomp Software         }
{                                                       }
{*******************************************************}
{$I iInclude.inc}

{$ifdef iVCL}unit  iScopeComponentEditor;{$endif}
{$ifdef iCLX}unit QiScopeComponentEditor;{$endif}

interface

uses
  {$I iIncludeUsesForms.inc}

  {$IFDEF iVCL} iComponentEditorForm,  Printers,  iTypes,  StdCtrls,  ExtCtrls,  Controls,  ComCtrls, Classes,  iScope,{$ENDIF}
  {$IFDEF iCLX}QiComponentEditorForm, QPrinters, QiTypes, QStdCtrls, QExtCtrls, QControls, QComCtrls, Classes, QiScope,{$ENDIF}

  {$IFDEF iVCL} iComponentEditorThemePanel,  iComponentEditorButtonPanel,  iEditorBasicComponents,  iAboutPanel,  iSpinSelector,  iComponent,  iVCLComponent,  iScopeChannel,
  iRadioGroup, iCustomComponent, iCheckBox;{$ENDIF}
  {$IFDEF iCLX}QiComponentEditorThemePanel, QiComponentEditorButtonPanel, QiEditorBasicComponents, QiAboutPanel, QiSpinSelector, QiComponent, QiCLXComponent, QiScopeChannel;{$ENDIF}

type
  TiScopeComponentEditorForm = class(TiComponentEditorForm)
    PageControl: TiComponentEditorPageControl;
    ControlTabSheet: TTabSheet;
    AboutTabSheet: TTabSheet;
    iComponentEditorButtonPanel1: TiComponentEditorButtonPanel;
    iAboutPanel1: TiAboutPanel;
    ChannelsTabSheet: TTabSheet;
    TimeBaseTabSheet: TTabSheet;
    TriggerTabSheet: TTabSheet;
    Label12: TLabel;
    Label13: TLabel;
    TriggerLevelSpinSelector: TiSpinSelector;
    TriggerSourceSpinSelector: TiSpinSelector;
    TriggerPositiveSlopeCheckBox: TiComponentEditorCheckBox;
    TriggerAutoCheckBox: TiComponentEditorCheckBox;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    TimeBaseSecPerDivSpinSelector: TiSpinSelector;
    TimeBasePositionSpinSelector: TiSpinSelector;
    TimeBasePreCaptureSpinSelector: TiSpinSelector;
    TimeBasePostCaptureSpinSelector: TiSpinSelector;
    iChannelListBox: TiComponentEditorListBox;
    iChannelAddButton: TButton;
    ChannelRemoveButton: TButton;
    ChannelPageControl: TiComponentEditorPageControl;
    ChannelGeneralTabSheet: TTabSheet;
    ControlPageControl: TiComponentEditorPageControl;
    ControlGeneralTabSheet: TTabSheet;
    Label76: TLabel;
    UpdateFrameRateUpDown: TiUpDown;
    Label2: TLabel;
    UpdateFrameRateEdit: TiComponentEditorEdit;
    AutoFrameRateCheckBox: TiComponentEditorCheckBox;
    SamplesPerSecondEdit: TiComponentEditorEdit;
    ControlPrintTabSheet: TTabSheet;
    Label175: TLabel;
    PrinterMarginGroupBox: TGroupBox;
    PrintMarginLeftEdit: TiComponentEditorEdit;
    PrintMarginTopEdit: TiComponentEditorEdit;
    PrintMarginBottomEdit: TiComponentEditorEdit;
    PrintMarginRightEdit: TiComponentEditorEdit;
    PrintOrientationRadioGroup: TiComponentEditorRadioGroup;
    PrintShowDialogCheckBox: TiComponentEditorCheckBox;
    PrintDocumentNameEdit: TiComponentEditorEdit;
    HideControlPanelsCheckBox: TiComponentEditorCheckBox;
    Label4: TLabel;
    Label6: TLabel;
    Label208: TLabel;
    Label7: TLabel;
    Label3: TLabel;
    ChannelColorPicker: TiComponentEditorColorPicker;
    ChannelTitleEdit: TiComponentEditorEdit;
    ChannelTraceGroupBox: TGroupBox;
    Label5: TLabel;
    ChannelTraceLineWidthUpDown: TiUpDown;
    ChannelTraceLineWidthEdit: TiComponentEditorEdit;
    ChannelTraceVisibleCheckBox: TiComponentEditorCheckBox;
    ChannelVoltsPerDivSpinSelector: TiSpinSelector;
    ChannelPositionSpinSelector: TiSpinSelector;
    ChannelCouplingSpinSelector: TiSpinSelector;
    ChannelRefLineShowCheckBox: TiComponentEditorCheckBox;
    ChannelScalerGroupBox: TiComponentEditorGroupBox;
    Label14: TLabel;
    Label15: TLabel;
    ChannelScalerMultiplierEdit: TiComponentEditorEdit;
    ChannelScalerOffsetEdit: TiComponentEditorEdit;
    DisplayTabSheet: TTabSheet;
    Label1: TLabel;
    DisplayGridColorPicker: TiComponentEditorColorPicker;
    DisplayTextShowCheckBox: TiComponentEditorCheckBox;
    DisplayHorzScrollShowCheckBox: TiComponentEditorCheckBox;
    procedure iChannelListBoxClick(Sender: TObject);
    procedure iChannelListBoxGetData(const Index: Integer; var DrawColorBox: Boolean; var AColor: TColor; var AText: String);
    procedure ChannelChange(Sender: TObject);
    procedure iChannelAddButtonClick(Sender: TObject);
    procedure ChannelRemoveButtonClick(Sender: TObject);
  private
    FLastChannelIndex : Integer;

    procedure ClearAllChannels;
    procedure UpdateChannelEdit;
    procedure ReloadTriggerChannelList;
  protected
    procedure CreateThemeInstance; override;
    procedure CopyPropertiesToForm     (Component: TWinControl); override;
    procedure CopyPropertiesToComponent(Component: TWinControl); override;
  end;

var
  iScopeComponentEditorForm: TiScopeComponentEditorForm;

implementation

type
  TiScopeAccess = class(TiScope)end;
{$R *.dfm}
//****************************************************************************************************************************************************
procedure TiScopeComponentEditorForm.CreateThemeInstance;
begin
end;
//****************************************************************************************************************************************************
procedure TiScopeComponentEditorForm.CopyPropertiesToForm(Component: TWinControl);
var
  x             : Integer;
  iScope        : TiScope;
  iScopeChannel : TiScopeChannel;
begin
  iScope := Component as TiScope;

  ChannelVoltsPerDivSpinSelector.AssignItems(TiScopeAccess(iScope).PanelChannels.VoltageSelector);
  ChannelPositionSpinSelector.AssignItems   (TiScopeAccess(iScope).PanelChannels.PositionSelector);
  ChannelCouplingSpinSelector.AssignItems   (TiScopeAccess(iScope).PanelChannels.CouplingSelector);

  TimeBaseSecPerDivSpinSelector.AssignItems  (TiScopeAccess(iScope).PanelTimeBase.SecPerDivSelector);
  TimeBasePositionSpinSelector.AssignItems   (TiScopeAccess(iScope).PanelTimeBase.PositionSelector);
  TimeBasePreCaptureSpinSelector.AssignItems (TiScopeAccess(iScope).PanelTimeBase.PreCaptureSelector);
  TimeBasePostCaptureSpinSelector.AssignItems(TiScopeAccess(iScope).PanelTimeBase.PostCaptureSelector);

  TriggerLevelSpinSelector.AssignItems (TiScopeAccess(iScope).PanelTrigger.LevelSelector);
  TriggerSourceSpinSelector.AssignItems(TiScopeAccess(iScope).PanelTrigger.SourceSelector);
  //--------------------------------------------------------------------------------------------------
  SamplesPerSecondEdit.AsInteger          := iScope.SamplesPerSecond;
  HideControlPanelsCheckBox.AsBoolean     := iScope.HideControlPanels;
  UpdateFrameRateEdit.AsInteger           := iScope.UpdateFrameRate;
  AutoFrameRateCheckBox.AsBoolean         := iScope.AutoFrameRate;

  PrintOrientationRadioGroup.AsInteger    := Ord(iScope.PrintOrientation);
  PrintShowDialogCheckBox.AsBoolean       := iScope.PrintShowDialog;
  PrintMarginLeftEdit.AsFloat             := iScope.PrintMarginLeft;
  PrintMarginTopEdit.AsFloat              := iScope.PrintMarginTop;
  PrintMarginRightEdit.AsFloat            := iScope.PrintMarginRight;
  PrintMarginBottomEdit.AsFloat           := iScope.PrintMarginBottom;
  PrintDocumentNameEdit.AsString          := iScope.PrintDocumentName;

  DisplayTextShowCheckBox.AsBoolean       := iScope.Display.TextShow;
  DisplayHorzScrollShowCheckBox.AsBoolean := iScope.Display.HorzScrollShow;
  DisplayGridColorPicker.Color            := iScope.Display.GridColor;

  TimeBaseSecPerDivSpinSelector.Value     := iScope.TimeBase.SecPerDiv;
  TimeBasePositionSpinSelector.Value      := iScope.TimeBase.Position;
  TimeBasePreCaptureSpinSelector.Value    := iScope.TimeBase.PreCapture;
  TimeBasePostCaptureSpinSelector.Value   := iScope.TimeBase.PostCapture;

  TriggerLevelSpinSelector.Value          := iScope.Trigger.Level;
  TriggerSourceSpinSelector.Value         := iScope.Trigger.SourceIndex;
  TriggerPositiveSlopeCheckBox.AsBoolean  := iScope.Trigger.PositiveSlope;
  TriggerAutoCheckBox.AsBoolean           := iScope.Trigger.Auto;

  ClearAllChannels;
  for x := 0 to iScope.ChannelCount -1 do
    begin
      iScopeChannel := TiScopeChannel.Create;
      iChannelListBox.Items.AddObject('', iScopeChannel);

      iScopeChannel.VoltsPerDivision := iScope.Channel[x].VoltsPerDivision;
      iScopeChannel.Position         := iScope.Channel[x].Position;
      iScopeChannel.Coupling         := iScope.Channel[x].Coupling;
      iScopeChannel.TitleText        := iScope.Channel[x].TitleText;

⌨️ 快捷键说明

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