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

📄 paradata.pas

📁 合成实验的上位机程序
💻 PAS
字号:
unit ParaData;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, jpeg, ExtCtrls, ComCtrls, ToolWin, ImgList, XPMenu, Buttons,
  StdCtrls, Grids, DBGrids, dxCore, dxButton;

type
  TParaDataFrm = class(TForm)
    CoolBar1: TCoolBar;
    ToolBar1: TToolBar;
    ToolButton1: TToolButton;
    ToolButton2: TToolButton;
    ToolButton3: TToolButton;
    ToolButton4: TToolButton;
    ToolButton5: TToolButton;
    ToolButton6: TToolButton;
    ToolButton7: TToolButton;
    ToolButton8: TToolButton;
    ToolButton9: TToolButton;
    FrameImg: TImage;
    ImageList1: TImageList;
    MinSpdBtn: TSpeedButton;
    CloseSpdBtn: TSpeedButton;
    Panel1: TPanel;
    DBGrid2: TDBGrid;
    Panel2: TPanel;
    Image1: TImage;
    Label1: TLabel;
    IconImg: TImage;
    CaptionLbl: TLabel;
    Panel3: TPanel;
    Image2: TImage;
    Label2: TLabel;
    DBGrid1: TDBGrid;
    ToolButton10: TToolButton;
    ToolButton11: TToolButton;
    ToolButton12: TToolButton;
    ToolButton13: TToolButton;
    procedure FormCreate(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 MinSpdBtnClick(Sender: TObject);
    procedure CloseSpdBtnClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure ToolButton2Click(Sender: TObject);
    procedure ToolButton4Click(Sender: TObject);
    procedure ToolButton6Click(Sender: TObject);
    procedure ToolButton8Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure ToolButton10Click(Sender: TObject);
    procedure ToolButton12Click(Sender: TObject);
  private
    { Private declarations }
  public
    //************************为窗口增加一个任务栏显示****************//
    procedure CreateParams(Var Param:TCreateParams);override;
  end;

var
  ParaDataFrm: TParaDataFrm;
  golMouseDownFlag1: Boolean;//鼠标是否在标题栏内按下
  golOldMouseX1,golOldMouseY1:Integer;//鼠标按下后的坐标

implementation

uses Main, ParaAdd, Data;

{$R *.dfm}

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

procedure TParaDataFrm.FormCreate(Sender: TObject);
begin
  //窗体初始化位置及大小
  ParaDataFrm.Left:=MainFrm.Left;
  ParaDataFrm.Top:=126;
  ParaDataFrm.Width:=MainFrm.Width;
  ParaDataFrm.Height:=MainFrm.Height-ParaDataFrm.Top;
  CoolBar1.Left:=14;
  CoolBar1.Top:=36;
  Panel1.Left:=13;
  Panel1.Top:=66;
  Panel1.Width:=995;
  Panel1.Height:=501;
end;

procedure TParaDataFrm.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
    golMouseDownFlag1:=True;
    golOldMouseX1:=X;
    golOldMouseY1:=Y;
  end;
end;

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

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

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

procedure TParaDataFrm.CloseSpdBtnClick(Sender: TObject);
begin
  //关闭数据窗体
  ParaDataFrm.Close;
end;

procedure TParaDataFrm.FormShow(Sender: TObject);
begin
  if ParaAddFrm.ComboBox1.Text='自定义试验' then
  begin
    ToolButton10.Visible:=True;
    ToolButton11.Visible:=True;
    ToolButton12.Visible:=True;
    ToolButton13.Visible:=True;
  end
  else
  begin
    ToolButton10.Visible:=False;
    ToolButton11.Visible:=False;
    ToolButton12.Visible:=False;
    ToolButton13.Visible:=False;
  end;
  //读取并显示参数
  ParaAddFrm.ADOConnection1.Close;
  ParaAddFrm.ADODataSet1.Close;
  ParaAddFrm.ADODataSet2.Close;
  ParaAddFrm.ADoConnection1.ConnectionString:=
    'Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+ParaAdd.golFileName+
    ';Persist Security Info=False;Jet OLEDB:System database="";'+
    'Jet OLEDB:Registry Path="";Jet OLEDB:Engine Type=5;'+
    'Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Global Partial Bulk Ops=2;'+
    'Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:Create System Database=False;';
  ParaAddFrm.ADOConnection1.Connected:=True;
  ParaAddFrm.ADODataSet1.CommandText:='outChannel';
  ParaAddFrm.DataSource1.DataSet:=ParaAddFrm.ADODataSet1;
  ParaAddFrm.ADODataSet1.Connection:=ParaAddFrm.ADOConnection1;
  ParaAddFrm.ADODataSet1.Open;
  ParaAddFrm.ADODataSet2.CommandText:='Information';
  ParaAddFrm.DataSource2.DataSet:=ParaAddFrm.ADODataSet2;
  ParaAddFrm.ADODataSet2.Connection:=ParaAddFrm.ADOConnection1;
  ParaAddFrm.ADODataSet2.Open;
end;

procedure TParaDataFrm.ToolButton2Click(Sender: TObject);
begin
  //最前
  ParaAddFrm.ADODataSet1.First;
  ToolButton2.Enabled:=False;
  ToolButton4.Enabled:=False;
  ToolButton6.Enabled:=True;
  ToolButton8.Enabled:=True;
end;

procedure TParaDataFrm.ToolButton4Click(Sender: TObject);
begin
  //*********************************向前*************************************//
  ParaAddFrm.ADODataSet1.Prior;
  ToolButton6.Enabled:=True;
  ToolButton8.Enabled:=True;
  if ParaAddFrm.ADODataSet1.RecNo=1 then
  begin
    ToolButton2.Enabled:=False;
    ToolButton4.Enabled:=False;
  end;
end;

procedure TParaDataFrm.ToolButton6Click(Sender: TObject);
begin
  //**************************************向后********************************//
  ParaAddFrm.ADODataSet1.Next;
  ToolButton2.Enabled:=True;
  ToolButton4.Enabled:=True;
  if ParaAddFrm.ADODataSet1.RecNo=ParaAddFrm.ADODataSet1.RecordCount then
  begin
    ToolButton6.Enabled:=False;
    ToolButton8.Enabled:=False;
  end;
end;

procedure TParaDataFrm.ToolButton8Click(Sender: TObject);
begin
  //********************************最后**************************************//
  ParaAddFrm.ADODataSet1.Last;
  ToolButton2.Enabled:=True;
  ToolButton4.Enabled:=True;
  ToolButton6.Enabled:=False;
  ToolButton8.Enabled:=False;
end;

procedure TParaDataFrm.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  //关闭数据库连接
  ParaAddFrm.ADOConnection1.Close;
  ParaAddFrm.ADODataSet1.Close;
  ParaAddFrm.ADODataSet2.Close;
  ToolButton2.Enabled:=False;
  ToolButton4.Enabled:=False;
  ToolButton6.Enabled:=True;
  ToolButton8.Enabled:=True;
end;

procedure TParaDataFrm.ToolButton10Click(Sender: TObject);
begin
  //添加记录
  if ParaAddFrm.ComboBox1.Text='自定义试验' then
  begin
    DataFrm.Showmodal;
  end;
end;

procedure TParaDataFrm.ToolButton12Click(Sender: TObject);
var
  Str:String;
  I:Integer;
begin
  //删除记录
  with ParaAddFrm.ADODataSet1 do
    if RecordCount>0 then
    begin
      if MessageBox(ParaDataFrm.Handle,'您确实想删除该条记录吗?',
        '警告', MB_YESNO+MB_DEFBUTTON2+MB_ICONWARNING)=IDNO then
        Exit
      else
      begin
        Str:=FieldByName('通道序号').AsString;
        if Length(Str)=5 then
        begin
          I:=StrToInt(Str[5]);
          Main.cnnConImg[I].Tag:=0;
        end
        else
          if Length(Str)=6 then
          begin
            I:=StrToInt(Str[5])*10+StrToInt(Str[6]);
            Main.cnnConImg[I].Tag:=0;
          end
          else
            if Str='高压1~4' then
              Main.cnnHighImg[I].Tag:=0
            else
              if Str='延弧1~4' then
                Main.cnnArcImg[I].Tag:=0;
        Delete;
      end;
    end;
end;

end.

⌨️ 快捷键说明

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