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

📄 main_unit.pas

📁 DELPHI开发包
💻 PAS
📖 第 1 页 / 共 2 页
字号:
unit main_unit;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls, HikClient32, Spin, ComCtrls, ShellAPI;

type
  Tmain = class(TForm)
    StatusBar1: TStatusBar;
    GroupBox9: TGroupBox;
    Panel1: TPanel;
    GroupBox2: TGroupBox;
    Label15: TLabel;
    Label6: TLabel;
    Label1: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    SpinEdit1: TSpinEdit;
    Edit2: TEdit;
    CheckBox1: TCheckBox;
    SpinEdit7: TSpinEdit;
    SpinEdit8: TSpinEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    edit1: TEdit;
    Label14: TLabel;
    Label21: TLabel;
    GroupBox1: TGroupBox;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label8: TLabel;
    Button8: TButton;
    Button9: TButton;
    SpinEdit2: TSpinEdit;
    SpinEdit3: TSpinEdit;
    SpinEdit4: TSpinEdit;
    SpinEdit5: TSpinEdit;
    SpinEdit6: TSpinEdit;
    Button33: TButton;
    Button35: TButton;
    Button38: TButton;
    Button39: TButton;
    Button40: TButton;
    Button44: TButton;
    GroupBox3: TGroupBox;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Button5: TButton;
    Button6: TButton;
    Button7: TButton;
    Button10: TButton;
    Button11: TButton;
    Button12: TButton;
    Button14: TButton;
    Button15: TButton;
    Button16: TButton;
    Button17: TButton;
    Button18: TButton;
    Button19: TButton;
    Button21: TButton;
    Button45: TButton;
    Button46: TButton;
    Button47: TButton;
    Button20: TButton;
    GroupBox7: TGroupBox;
    Label7: TLabel;
    Label16: TLabel;
    Edit5: TEdit;
    Button61: TButton;
    Edit6: TEdit;
    GroupBox4: TGroupBox;
    Memo1: TMemo;
    GroupBox6: TGroupBox;
    Label19: TLabel;
    Button53: TButton;
    Button54: TButton;
    Button55: TButton;
    Button56: TButton;
    Button57: TButton;
    Button58: TButton;
    Button49: TButton;
    Button59: TButton;
    Button60: TButton;
    Button63: TButton;
    Button64: TButton;
    Button65: TButton;
    Button66: TButton;
    Button67: TButton;
    Button68: TButton;
    Label13: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure Button2Click(Sender: TObject);
    procedure Button15Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure Button7Click(Sender: TObject);
    procedure Button8Click(Sender: TObject);
    procedure Button9Click(Sender: TObject);
    procedure Button10Click(Sender: TObject);
    procedure Button11Click(Sender: TObject);
    procedure Button12Click(Sender: TObject);
    procedure Button14Click(Sender: TObject);
    procedure Button16Click(Sender: TObject);
    procedure Button17Click(Sender: TObject);
    procedure Button18Click(Sender: TObject);
    procedure Button19Click(Sender: TObject);
    procedure Button20Click(Sender: TObject);
    procedure Button21Click(Sender: TObject);
    procedure Button45Click(Sender: TObject);
    procedure Button46Click(Sender: TObject);
    procedure Button33Click(Sender: TObject);
    procedure Button39Click(Sender: TObject);
    procedure Button35Click(Sender: TObject);
    procedure Button40Click(Sender: TObject);
    procedure Button38Click(Sender: TObject);
    procedure Button44Click(Sender: TObject);
    procedure Button47Click(Sender: TObject);
    procedure Label21Click(Sender: TObject);
    procedure Button61Click(Sender: TObject);
    procedure Button53Click(Sender: TObject);
    procedure Button54Click(Sender: TObject);
    procedure Button68Click(Sender: TObject);
    procedure Button60Click(Sender: TObject);
    procedure Button67Click(Sender: TObject);
    procedure Button55Click(Sender: TObject);
    procedure Button56Click(Sender: TObject);
    procedure Button59Click(Sender: TObject);
    procedure Button66Click(Sender: TObject);
    procedure Button65Click(Sender: TObject);
    procedure Button49Click(Sender: TObject);
    procedure Button58Click(Sender: TObject);
    procedure Button57Click(Sender: TObject);
    procedure Button63Click(Sender: TObject);
    procedure Button64Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  main              : Tmain;

implementation

{$R *.dfm}
procedure Showmsg(Msg: PChar);
begin
  Application.MessageBox(Msg, '信息', MB_OK + MB_ICONINFORMATION + MB_TOPMOST);
end;

//回调工作状态
procedure CallWorkState(Channels: Byte; War_Style: Byte; ReturnStr: string = ''); stdcall;
begin
  main.StatusBar1.Panels[1].Text := '第 ' + Format('%.2d', [Channels]) + ' 通道' + StateString[War_Style + 1] + ' ' + ReturnStr;
end;

procedure Tmain.Button1Click(Sender: TObject);
begin
  Set_Client_NetPort(Handle, SpinEdit7.Value, SpinEdit8.Value); //配置端口号
  //停止客户端连接
  Stop_Client();
  //启动客户端并连接服务器(服务器IP地址,图像显示区域句柄,用户名,密码,远程通道号,是否解码:默认解码)
  Start_Client(PChar(Edit2.Text), Panel1.Handle, PChar(Edit3.Text), PChar(Edit4.Text), SpinEdit1.Value, CheckBox1.Checked);
end;

procedure Tmain.FormCreate(Sender: TObject);
begin
  Set_CallBack_Func(@CallWorkState);    //设置回调

  edit1.Text := Get_UserID;             //获取机器码
  Edit2.Text := Get_LocalIP;            //本地IP
  Edit5.Text := Edit2.Text;
  StatusBar1.Panels[3].Text := Get_SDK_Version(); //获取SDK版本号
  if Get_SDK_Reg then
    StatusBar1.Panels[4].Text := '已注册'
  else
    StatusBar1.Panels[4].Text := '未注册';
end;

procedure Tmain.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  //停止客户端连接
  Stop_Client()
end;

procedure Tmain.Button2Click(Sender: TObject);
begin
  //停止客户端连接
  Stop_Client();
  //刷新显示区
  Panel1.Repaint
end;

procedure Tmain.Button15Click(Sender: TObject);
begin
  //对服务端的nChannel 通道网络连接初始化,结束当前所有用户对它的访问
  Shut_Client
end;

procedure Tmain.Button3Click(Sender: TObject);
begin
  //抓取服务器监控图像(保存文件名),抓图得到的图像数据保存成BMP文件
  Start_Image_Capture('')
end;

procedure Tmain.Button4Click(Sender: TObject);
begin
  //启动录像(通道号,保存录像文件名,自动停止录像时间:优先权低,自动录像大小:优先权高)
  Start_Video_Capture(SpinEdit1.Value, '', 0, 700) //此处为满700M自动分割一个录像文件
end;

procedure Tmain.Button5Click(Sender: TObject);
begin
  //停止录像
  Stop_Video_Capture()
end;

procedure Tmain.Button6Click(Sender: TObject);
begin
  //启动音频预览
  Start_Audio_Preview
end;

procedure Tmain.Button7Click(Sender: TObject);
begin
  //停止音频预览
  Stop_Audio_Preview
end;

procedure Tmain.Button8Click(Sender: TObject);
begin
  //快速黑白、彩色图像切换(通道号,是否黑白)
  Set_Video_NoColor(SpinEdit1.Value)
end;

procedure Tmain.Button9Click(Sender: TObject);
begin
  //快速黑白、彩色图像切换(通道号,是否黑白)
  Set_Video_NoColor(SpinEdit1.Value, False)
end;

procedure Tmain.Button10Click(Sender: TObject);
begin
  //复位视频图像参数
  Reset_Video_Para(SpinEdit1.Value)
end;

procedure Tmain.Button11Click(Sender: TObject);
begin
  //黑屏
  Set_Screen_Black(SpinEdit1.Value)
end;

procedure Tmain.Button12Click(Sender: TObject);
begin
  //白屏
  Set_Screen_White(SpinEdit1.Value)
end;

procedure Tmain.Button14Click(Sender: TObject);
begin
  //开始屏幕输出(通道号,输出内容,输出左上角座标位置,是否透明输出,输出字体颜色RGB,是否输出时间)
  Start_Screen_Draw(SpinEdit1.Value, '欢迎使用HIKSDK-2开发包')
end;

procedure Tmain.Button16Click(Sender: TObject);
begin
  //停止屏幕输出(通道号)
  Stop_Screen_Draw
end;

procedure Tmain.Button17Click(Sender: TObject);
begin
  //调用全屏窗口(是否自动巡回显示各通道监控画面,默认不自动切换,值=0)
  Start_Video_FullScreen(SpinEdit1.Value)
end;

procedure Tmain.Button18Click(Sender: TObject);
begin

⌨️ 快捷键说明

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