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

📄 waveview.pas

📁 合成实验的上位机程序
💻 PAS
📖 第 1 页 / 共 3 页
字号:
unit WaveView;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, jpeg, ExtCtrls, Buttons, StdCtrls, XPMenu, TeeProcs, TeEngine,
  Chart, Series, ComCtrls, dxCore, dxButton, Menus;

type
  TWaveViewFrm = class(TForm)
    FrameImg: TImage;
    IconImg: TImage;
    CaptionLbl: TLabel;
    MinSpdBtn: TSpeedButton;
    CloseSpdBtn: TSpeedButton;
    Chart1: TChart;
    Series1: TFastLineSeries;
    Chart2: TChart;
    Label2: TLabel;
    Label3: TLabel;
    ScrollBar2: TScrollBar;
    ScrollBar3: TScrollBar;
    SaveDialog1: TSaveDialog;
    UpDown1: TUpDown;
    PopupMenu1: TPopupMenu;
    T1: TMenuItem;
    T2: TMenuItem;
    T3: TMenuItem;
    T4: TMenuItem;
    T5: TMenuItem;
    V1: TMenuItem;
    C2: TMenuItem;
    V2: TMenuItem;
    C3: TMenuItem;
    V3: TMenuItem;
    C4: TMenuItem;
    V4: TMenuItem;
    C5: TMenuItem;
    V5: TMenuItem;
    C1: TMenuItem;
    T6: TMenuItem;
    T7: TMenuItem;
    T8: TMenuItem;
    T9: TMenuItem;
    T10: TMenuItem;
    T11: TMenuItem;
    T12: TMenuItem;
    T13: TMenuItem;
    T14: TMenuItem;
    T15: TMenuItem;
    T16: TMenuItem;
    T17: TMenuItem;
    T18: TMenuItem;
    T19: TMenuItem;
    T20: TMenuItem;
    T21: TMenuItem;
    T22: TMenuItem;
    T23: TMenuItem;
    T24: TMenuItem;
    T25: TMenuItem;
    T26: TMenuItem;
    T27: TMenuItem;
    T28: TMenuItem;
    T29: TMenuItem;
    T30: TMenuItem;
    T31: TMenuItem;
    T32: TMenuItem;
    N1: TMenuItem;
    C32: TMenuItem;
    V32: TMenuItem;
    C31: TMenuItem;
    V31: TMenuItem;
    C30: TMenuItem;
    V30: TMenuItem;
    C29: TMenuItem;
    V29: TMenuItem;
    C28: TMenuItem;
    V28: TMenuItem;
    C27: TMenuItem;
    V27: TMenuItem;
    C26: TMenuItem;
    V26: TMenuItem;
    C25: TMenuItem;
    V25: TMenuItem;
    C24: TMenuItem;
    V24: TMenuItem;
    C23: TMenuItem;
    V23: TMenuItem;
    C22: TMenuItem;
    V22: TMenuItem;
    C21: TMenuItem;
    V21: TMenuItem;
    C20: TMenuItem;
    V20: TMenuItem;
    C19: TMenuItem;
    V19: TMenuItem;
    C18: TMenuItem;
    V18: TMenuItem;
    C17: TMenuItem;
    V17: TMenuItem;
    C16: TMenuItem;
    V16: TMenuItem;
    C15: TMenuItem;
    V15: TMenuItem;
    C14: TMenuItem;
    V14: TMenuItem;
    C13: TMenuItem;
    V13: TMenuItem;
    C12: TMenuItem;
    V12: TMenuItem;
    C11: TMenuItem;
    V11: TMenuItem;
    C10: TMenuItem;
    V10: TMenuItem;
    C9: TMenuItem;
    V9: TMenuItem;
    C8: TMenuItem;
    V8: TMenuItem;
    C7: TMenuItem;
    V7: TMenuItem;
    C6: TMenuItem;
    V6: TMenuItem;
    Label1: TLabel;
    Label4: TLabel;
    UpDown2: TUpDown;
    Label8: TLabel;
    UpDown4: TUpDown;
    Label9: TLabel;
    UpDown5: TUpDown;
    Label10: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Series2: TFastLineSeries;
    Series3: TFastLineSeries;
    Series4: TFastLineSeries;
    Series5: TFastLineSeries;
    Series6: TFastLineSeries;
    Series7: TFastLineSeries;
    Label11: TLabel;
    Label13: TLabel;
    Label15: TLabel;
    Label12: TLabel;
    Label14: TLabel;
    Label16: TLabel;
    Label17: TLabel;
    Label18: TLabel;
    UpDown3: TUpDown;
    Label19: TLabel;
    procedure FormCreate(Sender: TObject);
    procedure MinSpdBtnClick(Sender: TObject);
    procedure CloseSpdBtnClick(Sender: TObject);
    procedure FrameImgMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure FrameImgMouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure FrameImgMouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure UpDown1Click(Sender: TObject; Button: TUDBtnType);
    procedure V1Click(Sender: TObject);
    procedure C2Click(Sender: TObject);
    procedure V2Click(Sender: TObject);
    procedure V3Click(Sender: TObject);
    procedure C4Click(Sender: TObject);
    procedure V4Click(Sender: TObject);
    procedure C5Click(Sender: TObject);
    procedure V5Click(Sender: TObject);
    procedure C6Click(Sender: TObject);
    procedure V6Click(Sender: TObject);
    procedure V7Click(Sender: TObject);
    procedure C8Click(Sender: TObject);
    procedure V8Click(Sender: TObject);
    procedure C9Click(Sender: TObject);
    procedure V9Click(Sender: TObject);
    procedure C10Click(Sender: TObject);
    procedure V10Click(Sender: TObject);
    procedure C11Click(Sender: TObject);
    procedure V11Click(Sender: TObject);
    procedure C7Click(Sender: TObject);
    procedure C3Click(Sender: TObject);
    procedure C12Click(Sender: TObject);
    procedure V12Click(Sender: TObject);
    procedure C13Click(Sender: TObject);
    procedure V13Click(Sender: TObject);
    procedure C14Click(Sender: TObject);
    procedure V14Click(Sender: TObject);
    procedure C15Click(Sender: TObject);
    procedure V15Click(Sender: TObject);
    procedure C16Click(Sender: TObject);
    procedure V16Click(Sender: TObject);
    procedure C17Click(Sender: TObject);
    procedure V17Click(Sender: TObject);
    procedure C18Click(Sender: TObject);
    procedure V18Click(Sender: TObject);
    procedure C19Click(Sender: TObject);
    procedure V19Click(Sender: TObject);
    procedure C20Click(Sender: TObject);
    procedure V20Click(Sender: TObject);
    procedure C21Click(Sender: TObject);
    procedure V21Click(Sender: TObject);
    procedure C22Click(Sender: TObject);
    procedure V22Click(Sender: TObject);
    procedure C23Click(Sender: TObject);
    procedure V23Click(Sender: TObject);
    procedure C24Click(Sender: TObject);
    procedure V24Click(Sender: TObject);
    procedure C25Click(Sender: TObject);
    procedure V25Click(Sender: TObject);
    procedure C26Click(Sender: TObject);
    procedure V26Click(Sender: TObject);
    procedure C27Click(Sender: TObject);
    procedure V27Click(Sender: TObject);
    procedure C28Click(Sender: TObject);
    procedure V28Click(Sender: TObject);
    procedure C29Click(Sender: TObject);
    procedure V29Click(Sender: TObject);
    procedure C30Click(Sender: TObject);
    procedure V30Click(Sender: TObject);
    procedure C31Click(Sender: TObject);
    procedure V31Click(Sender: TObject);
    procedure C32Click(Sender: TObject);
    procedure V32Click(Sender: TObject);
    procedure N1Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure UpDown4Click(Sender: TObject; Button: TUDBtnType);
    procedure UpDown5Click(Sender: TObject; Button: TUDBtnType);
    procedure Label9MouseEnter(Sender: TObject);
    procedure Label9MouseLeave(Sender: TObject);
    procedure Label10MouseEnter(Sender: TObject);
    procedure Label10MouseLeave(Sender: TObject);
    procedure Label9Click(Sender: TObject);
    procedure Label10Click(Sender: TObject);
    procedure UpDown2Click(Sender: TObject; Button: TUDBtnType);
    procedure Label5MouseEnter(Sender: TObject);
    procedure Label5MouseLeave(Sender: TObject);
    procedure Label5Click(Sender: TObject);
    procedure Series2Click(Sender: TChartSeries; ValueIndex: Integer;
      Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
    procedure Series3Click(Sender: TChartSeries; ValueIndex: Integer;
      Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
    procedure Chart1MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure Chart1MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Chart2MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure ScrollBar2Change(Sender: TObject);
    procedure ScrollBar3Change(Sender: TObject);
    procedure C1Click(Sender: TObject);
    procedure UpDown3Click(Sender: TObject; Button: TUDBtnType);
    procedure Series1Click(Sender: TChartSeries; ValueIndex: Integer;
      Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
  private
    { Private declarations }
  public
    //************************为窗口增加一个任务栏显示****************//
    procedure CreateParams(Var Param:TCreateParams);override;
  end;

var
  WaveViewFrm: TWaveViewFrm;
  golMouseDownFlag3: Boolean;//鼠标是否在标题栏内按下
  golOldMouseX3,golOldMouseY3:Integer;//鼠标按下后的坐标
  golX1,golX2,golX: Double;//测时线当前位置
  conSeries,VerSeries: array[1..20] of TFastLineSeries;//控制、校验曲线 

implementation

uses Main, ParaAdd, Printers;

{$R *.dfm}

procedure TWaveViewFrm.CreateParams(Var Param:TCreateParams);
begin
  //************************为数据设置窗口增加一个任务栏显示****************//
  Inherited CreateParams(Param);
  Param.wndParent:= GetDesktopWindow;
end;

procedure TWaveViewFrm.FormCreate(Sender: TObject);
var
  I:Integer;
begin
  //窗体初始化位置及大小
  WaveViewFrm.Left:=0;
  WaveViewFrm.Top:=0;
  Width:=MainFrm.Width;
  WaveViewFrm.Height:=MainFrm.Height;
  ScrollBar2.Min:=0;
  ScrollBar2.Max:=3000;
  ScrollBar3.Min:=0;
  ScrollBar3.Max:=65;
  //动态生成控制、校验曲线
  for I:=1 to 20 do
  begin
    conSeries[I]:=TFastLineSeries.Create(Self);
    verSeries[I]:=TFastLineSeries.Create(Self);
    conSeries[I].Marks.Font.Name:='MS Sans Serif';
    conSeries[I].Marks.Font.Size:=11;
    conSeries[I].Marks.Font.Color:=$000080FF;
    conSeries[I].Marks.Style:=smsXValue;
    conSeries[I].Marks.BackColor:=clBlack;
    conSeries[I].Marks.Transparent:=True;
    conSeries[I].Marks.Arrow.Visible:=False;
    if I<11 then
    begin
      conSeries[I].ParentChart:=Chart1;
      conSeries[I].Active:=False;
      conSeries[I].Tag:=0;
      verSeries[I].ParentChart:=Chart1;
      verSeries[I].Active:=False;
      verSeries[I].Tag:=0;
    end
    else
    begin
      conSeries[I].ParentChart:=Chart2;
      verSeries[I].ParentChart:=Chart2;
    end;
  end;
end;

procedure TWaveViewFrm.MinSpdBtnClick(Sender: TObject);
begin
  //***********窗体最小化*************//
  WaveViewFrm.WindowState:=wsMinimized;
end;

procedure TWaveViewFrm.CloseSpdBtnClick(Sender: TObject);
begin
  //***********关闭窗体*************//
  Close;
end;

procedure TWaveViewFrm.FrameImgMouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  //**************判断鼠标是否在标题栏,若是则MouseDownFlag为真****************//
  if (X>FrameImg.Left) and (X<(FrameImg.Left+FrameImg.Width)) and
    (Y>FrameImg.Top) and (Y<40) then
  begin
    golMouseDownFlag3:=True;
    golOldMouseX3:=X;
    golOldMouseY3:=Y;
  end;
end;

procedure TWaveViewFrm.FrameImgMouseMove(Sender: TObject; Shift: TShiftState;
  X, Y: Integer);
begin
  //********若MouseDownFlag为真,则鼠标在标题栏,可以实现窗体的拖动************//
  if golMouseDownFlag3=True then
  begin
    WaveViewFrm.Left:=WaveViewFrm.Left+(X-golOldMouseX3);
    WaveViewFrm.Top:=WaveViewFrm.Top+(Y-golOldMouseY3);
  end;
end;

procedure TWaveViewFrm.FrameImgMouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  //**************清鼠标按下标志***********//
  golMouseDownFlag3:=False;
end;

procedure TWaveViewFrm.C1Click(Sender: TObject);
var
  I:Integer;
begin
  C1.Checked:=not C1.Checked;
  for I:=1 to 10 do
    if conSeries[I].Tag=1 then
      conSeries[I].Active:=C1.Checked;
end;

procedure TWaveViewFrm.V1Click(Sender: TObject);
begin
  V1.Checked:=not V1.Checked;
end;

procedure TWaveViewFrm.C2Click(Sender: TObject);
var
  I:Integer;
begin
  C2.Checked:=not C2.Checked;
  for I:=1 to 10 do
    if conSeries[I].Tag=2 then
      conSeries[I].Active:=C2.Checked;
end;

procedure TWaveViewFrm.V2Click(Sender: TObject);
begin
  V2.Checked:=not V2.Checked;
end;                     

procedure TWaveViewFrm.C3Click(Sender: TObject); 
var
  I:Integer;
begin
  C3.Checked:=not C3.Checked;        
  for I:=1 to 10 do
    if conSeries[I].Tag=3 then
      conSeries[I].Active:=C3.Checked;
end;

procedure TWaveViewFrm.V3Click(Sender: TObject);
begin
  V3.Checked:=not V3.Checked;
end;

procedure TWaveViewFrm.C4Click(Sender: TObject);    
var
  I:Integer;
begin
  C4.Checked:=not C4.Checked;            
  for I:=1 to 10 do
    if conSeries[I].Tag=4 then
      conSeries[I].Active:=C4.Checked;
end;

procedure TWaveViewFrm.V4Click(Sender: TObject);
begin
  V4.Checked:=not V4.Checked;
end;

procedure TWaveViewFrm.C5Click(Sender: TObject);  
var
  I:Integer;
begin
  C5.Checked:=not C5.Checked;        
  for I:=1 to 10 do
    if conSeries[I].Tag=5 then
      conSeries[I].Active:=C5.Checked;
end;

procedure TWaveViewFrm.V5Click(Sender: TObject);
begin
  V5.Checked:=not V5.Checked;
end;

procedure TWaveViewFrm.C6Click(Sender: TObject);   
var
  I:Integer;
begin
  C6.Checked:=not C6.Checked;     
  for I:=1 to 10 do
    if conSeries[I].Tag=6 then
      conSeries[I].Active:=C6.Checked;
end;

procedure TWaveViewFrm.V6Click(Sender: TObject);
begin
  V6.Checked:=not V6.Checked;
end;

procedure TWaveViewFrm.C7Click(Sender: TObject);  
var
  I:Integer;
begin
  C7.Checked:=not C7.Checked;    
  for I:=1 to 10 do
    if conSeries[I].Tag=7 then
      conSeries[I].Active:=C7.Checked;
end;

procedure TWaveViewFrm.V7Click(Sender: TObject);
begin
  V7.Checked:=not V7.Checked;
end;

procedure TWaveViewFrm.C8Click(Sender: TObject);   
var
  I:Integer;
begin
  C8.Checked:=not C8.Checked;     
  for I:=1 to 10 do
    if conSeries[I].Tag=8 then
      conSeries[I].Active:=C8.Checked;
end;

procedure TWaveViewFrm.V8Click(Sender: TObject);
begin
  V8.Checked:=not V8.Checked;
end;

procedure TWaveViewFrm.C9Click(Sender: TObject);  
var
  I:Integer;
begin
  C9.Checked:=not C9.Checked;     
  for I:=1 to 10 do
    if conSeries[I].Tag=9 then
      conSeries[I].Active:=C9.Checked;
end;

procedure TWaveViewFrm.V9Click(Sender: TObject);
begin
  V9.Checked:=not V9.Checked;
end;

procedure TWaveViewFrm.C10Click(Sender: TObject);   
var

⌨️ 快捷键说明

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