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

📄 unit1.pas

📁 delphi 与单片机串口编程 源代码 提供给各位朋友
💻 PAS
字号:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, SPComm, SkinCaption, WinSkinData;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Label1: TLabel;
    Panel1: TPanel;
    Panel2: TPanel;
    Panel3: TPanel;
    Panel4: TPanel;
    Label2: TLabel;
    Comm1: TComm;
    Label3: TLabel;
    ListBox1: TListBox;
    GroupBox1: TGroupBox;
    Panel7: TPanel;
    Panel8: TPanel;
    Panel9: TPanel;
    Panel10: TPanel;
    SkinData1: TSkinData;
    SkinCaption1: TSkinCaption;
    Panel12: TPanel;
    Panel13: TPanel;
    Panel14: TPanel;
    Label4: TLabel;
    Label5: TLabel;
    GroupBox2: TGroupBox;
    Panel5: TPanel;
    Panel6: TPanel;
    Panel15: TPanel;
    Panel16: TPanel;
    procedure Edit1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Panel1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Panel1MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Panel5MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Panel4MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Panel2MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Panel3MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Panel6MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Panel5MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Panel4MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Panel2MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Panel3MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Panel6MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);

    procedure FormShow(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure senddata;
    //procedure ComboBox1Change(Sender: TObject);
    procedure Panel7MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Panel8MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Panel9MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Panel10MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Panel7MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Panel8MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Panel9MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Panel10MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Panel11MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Panel11MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Panel12MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Panel12MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Panel13MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Panel14MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Panel13MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Panel14MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure FormCreate(Sender: TObject);
    procedure Panel15MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Panel15MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Panel16MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Panel16MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);

  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  viewstring:string;
  i:integer;
  sbuf:integer;
  //rbuf:array[1..16] of byte;

implementation

{$R *.dfm}

procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
//showmessage(inttostr(key))
end;

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
if key=38 then
form1.Panel1MouseUp(sender,mbLeft,Shift,0,0);
if key=39 then
form1.Panel3MouseUp(sender,mbLeft,Shift,0,0);
if key=40 then
form1.Panel4MouseUp(sender,mbLeft,Shift,0,0);
if key=37 then
form1.Panel2MouseUp(sender,mbLeft,Shift,0,0);
if key=17 then
form1.Panel5MouseUp(sender,mbLeft,Shift,0,0);
if key=32 then
form1.Panel6MouseUp(sender,mbLeft,Shift,0,0);
end;

procedure TForm1.Panel1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
panel1.BevelOuter:=bvLowered;
edit1.Text:='向前';
sbuf:=$01;
senddata;
end;

procedure TForm1.Panel1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
panel1.BevelOuter:=bvRaised;
//panel11.Enabled:=false;

end;

procedure TForm1.Panel5MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
panel5.BevelOuter:=bvLowered;
end;

procedure TForm1.Panel4MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
panel4.BevelOuter:=bvLowered;
edit1.Text:='向后';
sbuf:=$04;
senddata;
end;

procedure TForm1.Panel2MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
panel2.BevelOuter:=bvLowered;

//panel11.Enabled:=false;
edit1.Text:='向左';
sbuf:=$02;
senddata;
end;

procedure TForm1.Panel3MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
panel3.BevelOuter:=bvLowered;
edit1.Text:='向右';
sbuf:=$03;
senddata;
end;

procedure TForm1.Panel6MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
panel6.BevelOuter:=bvLowered;
end;

procedure TForm1.Panel5MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
panel5.BevelOuter:=bvRaised;
//panel11.Enabled:=false;
edit1.Text:='r=30cm圆';
sbuf:=$05 ;  //直径30厘米圆
senddata;
end;

procedure TForm1.Panel4MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
panel4.BevelOuter:=bvRaised;
//panel11.Enabled:=false;

end;

procedure TForm1.Panel2MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
panel2.BevelOuter:=bvRaised;
end;

procedure TForm1.Panel3MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
panel3.BevelOuter:=bvRaised;
//panel11.Enabled:=false;

end;

procedure TForm1.Panel6MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
panel6.BevelOuter:=bvRaised;
//panel11.Enabled:=false;
edit1.Text:='r=50cm圆';
sbuf:=$10;  //直径50厘米圆
senddata;
end;

procedure TForm1.FormShow(Sender: TObject);
begin
try
comm1.CommName:='com1';
label4.Caption:='com1';
panel13.Enabled:=false;
comm1.StartComm;
except
application.MessageBox('打开端口错误!','提示',mb_ok+mb_iconerror);
end;
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
comm1.StopComm;
end;



procedure tform1.senddata;
var
commflg:boolean;
begin
viewstring:='';
commflg:=true;
if not form1.Comm1.WriteCommData(@sbuf,1) then
begin
commflg:=false;
senddata;
end;
viewstring:=viewstring+inttohex(sbuf,2)+'';
viewstring:='发送'+viewstring;
form1.listbox1.Items.Add(viewstring+'.');
if not commflg then
showmessage('发送失败!');
end;
{procedure TForm1.ComboBox1Change(Sender: TObject);
begin
comm1.StopComm;
comm1.CommName:=combobox1.Text;
comm1.StartComm;
//form1.combobox1.TabStop:=false;
showmessage('端口以打开!');
end; }

procedure TForm1.Panel7MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
panel7.BevelOuter:=bvLowered;

end;

procedure TForm1.Panel8MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
panel8.BevelOuter:=bvLowered;
end;

procedure TForm1.Panel9MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
panel9.BevelOuter:=bvLowered;
end;

procedure TForm1.Panel10MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
panel10.BevelOuter:=bvLowered;
end;

procedure TForm1.Panel7MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
sbuf:=$07;
panel7.BevelOuter:=bvRaised;
//panel11.Enabled:=true;
groupbox1.Caption:='特技'+panel7.Caption;
senddata;
end;

procedure TForm1.Panel8MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
sbuf:=$08;
panel8.BevelOuter:=bvRaised;
//panel11.Enabled:=true;
groupbox1.Caption:='特技'+panel8.Caption;
senddata;
end;

procedure TForm1.Panel9MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
sbuf:=$09;
panel9.BevelOuter:=bvRaised;
//panel11.Enabled:=true;
groupbox1.Caption:='特技'+panel9.Caption;
senddata;
end;

procedure TForm1.Panel10MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
sbuf:=$06;
panel10.BevelOuter:=bvRaised;
//panel11.Enabled:=true;
groupbox1.Caption:='特技'+panel10.Caption;
senddata;
end;

procedure TForm1.Panel11MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
//panel11.BevelOuter:=bvLowered;
end;

procedure TForm1.Panel11MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
senddata;
//panel11.BevelOuter:=bvRaised;
groupbox1.Caption:='特技';
//panel11.Enabled:=false;
end;
procedure TForm1.Panel12MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
panel12.BevelOuter:=bvLowered;
end;

procedure TForm1.Panel12MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
panel12.BevelOuter:=bvRaised;
form1.listbox1.Items.Clear;
edit1.Text:='';
end;

procedure TForm1.Panel13MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
panel13.BevelOuter:=bvLowered;
end;

procedure TForm1.Panel14MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
panel14.BevelOuter:=bvLowered;
end;

procedure TForm1.Panel13MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
panel13.BevelOuter:=bvRaised;
comm1.StopComm;
comm1.CommName:='com1';
comm1.StartComm;
label4.Caption:='com1';
showmessage('端口以打开!');
form1.listbox1.Items.Clear;
panel13.Enabled:=false;
panel14.Enabled:=true;
edit1.Text:='';
end;

procedure TForm1.Panel14MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
panel14.BevelOuter:=bvRaised;
comm1.StopComm;
comm1.CommName:='com2';
comm1.StartComm;
label4.Caption:='com2';
showmessage('端口以打开!');
form1.listbox1.Items.Clear;
panel14.Enabled:=false;
panel13.Enabled:=true;
edit1.Text:='';
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
//panel11.Enabled:=false;
end;

procedure TForm1.Panel15MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
panel15.BevelOuter:=bvRaised;
//panel11.Enabled:=false;
edit1.Text:='2米直线';
sbuf:=$11;  //2米直线
senddata;
end;

procedure TForm1.Panel15MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
panel15.BevelOuter:=bvLowered;
end;

procedure TForm1.Panel16MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
panel16.BevelOuter:=bvLowered;
end;

procedure TForm1.Panel16MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
panel16.BevelOuter:=bvRaised;
form1.Close;


end;

end.

⌨️ 快捷键说明

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