myproce.pas

来自「delphi6.0电子寻更源程序,用来计算保安有无查抄」· PAS 代码 · 共 62 行

PAS
62 行
字号
unit myproce;

interface

uses
  ComDrv32 ;

type
  frametype=record
         add:char;
     command:char;
         len:char;
    databuff:array [0..255] of char;
         crc:char
end;

function calfram(var framename:frametype):integer;
procedure sentoneframe(var framename:frametype);

var
  rxframe,txframe:frametype;
  flag1:boolean;
  framelen:integer;
  CommPortDriver1: TCommPortDriver;
  
implementation

function calfram(var framename:frametype):integer;
var
  ch1:integer;
  i:integer;
begin
  ch1:=ord(framename.crc);
  for i:=0 to ord(framename.len)-1 do
    ch1:=ch1-ord(framename.databuff[i]);
    ch1:=ch1-ord(framename.add);
    ch1:=ch1-ord(framename.Command);
    ch1:=ch1-ord(framename.len);
    if ch1<0 then
      ch1:=ch1+256;
    if ch1=0 then
      result:=1
    else
      result:=0;
end;

procedure sentoneframe(var framename:frametype);
var
  i:integer;
begin
  CommPortDriver1.SendData(@framename.add,1);
  CommPortDriver1.SendData(@framename.command,1);
  CommPortDriver1.SendData(@framename.len, 1);
  for i:=0 to ord(framename.len)-1 do
    CommPortDriver1.SendData(@framename.databuff[i], 1);
  CommPortDriver1.SendData(@txframe.crc, 1);
  flag1:=true;
  framelen:=4+ord(framename.len);
end;

end.

⌨️ 快捷键说明

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