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

📄 main.pas

📁 Delphi 7 串口通讯程序
💻 PAS
字号:
unit main;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, SPComm, Menus, ExtCtrls, ComCtrls, ActnList, ToolWin,
  ImgList, Buttons, XPMenu;

type
  TFmain = class(TForm)
    Comm1: TComm;
    MainMenu1: TMainMenu;
    file1: TMenuItem;
    N1: TMenuItem;
    N2: TMenuItem;
    N3: TMenuItem;
    ReceiveText: TRichEdit;
    N4: TMenuItem;
    ControlBar1: TControlBar;
    ToolBar1: TToolBar;
    ActionList1: TActionList;
    Aclear: TAction;
    Asetcom: TAction;
    Aclose: TAction;
    ImageList1: TImageList;
    ToolButton1: TToolButton;
    ToolButton2: TToolButton;
    ToolButton3: TToolButton;
    Statusbar: TStatusBar;
    ToolButton4: TToolButton;
    AReceive: TAction;
    N5: TMenuItem;
    N6: TMenuItem;
    ToolButton5: TToolButton;
    Astop: TAction;
    N7: TMenuItem;
    XPMenu1: TXPMenu;
    FontDialog: TFontDialog;
    ColorDialog: TColorDialog;
    Afont: TAction;
    ToolButton6: TToolButton;
    ToolButton7: TToolButton;
    Acolor: TAction;
    procedure AclearExecute(Sender: TObject);
    procedure AsetcomExecute(Sender: TObject);
    procedure AcloseExecute(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Comm1ReceiveData(Sender: TObject; Buffer: Pointer;
      BufferLength: Word);
    procedure AReceiveExecute(Sender: TObject);
    procedure AstopExecute(Sender: TObject);
    procedure AfontExecute(Sender: TObject);
    procedure AcolorExecute(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Fmain: TFmain;
  Start:boolean;
implementation

uses setcomm;

{$R *.dfm}

procedure TFmain.AclearExecute(Sender: TObject);
begin
ReceiveText.Clear;
end;

procedure TFmain.AsetcomExecute(Sender: TObject);
begin
fsetcom.show;
end;

procedure TFmain.AcloseExecute(Sender: TObject);
begin
close;
end;

procedure TFmain.FormCreate(Sender: TObject);
begin
Start:=false;
end;

procedure TFmain.Comm1ReceiveData(Sender: TObject; Buffer: Pointer;
  BufferLength: Word);
var t_B:ARRAY[1..8192] oF CHAR ;
i:word;
begin

move(buffer^,t_b,bufferlength);
if start then
begin
for i:=1 to bufferlength do
        begin
        ReceiveText.Text:=ReceiveText.Text+' '+inttohex(ord(t_b[i]),2);
        end;
end;
end;

procedure TFmain.AReceiveExecute(Sender: TObject);
begin
try
        comm1.StartComm;
        Start:=true;
        Areceive.Enabled:=false;
        asetcom.Enabled:=false;
        astop.Enabled:=true;
        Statusbar.Panels[1].Text:=Tostr();
        Statusbar.Panels[0].Text:='接收状态...';
except
        Error($100);
end;
end;

procedure TFmain.AstopExecute(Sender: TObject);
begin
try
        comm1.StopComm;
        start:=false;
        astop.Enabled:=false;
        asetcom.Enabled:=true;
        Areceive.Enabled:=true;
        Statusbar.Panels[1].Text:='串口状态未知';
        Statusbar.Panels[0].Text:='停止状态...';

except
        Error($101);
end;
end;

procedure TFmain.AfontExecute(Sender: TObject);
begin
if FontDialog.Execute then
        begin
                ReceiveText.Font:=FontDialog.Font;
        end;
end;

procedure TFmain.AcolorExecute(Sender: TObject);
begin
if ColorDialog.Execute then
        begin
          ReceiveText.Color:=ColorDialog.Color;
        end;
end;

end.

⌨️ 快捷键说明

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