?? funtionunit.pas
字號:
unit FuntionUnit;
interface
var
Port: string;
Speed: string;
DataBit:string;
Check:string;
Stop:string;
procedure CalCheck(var BA : array of byte);
procedure Ept(var BA: array of byte);
procedure AntiEpt(var BA: array of byte);
implementation
//計算校驗位
procedure CalCheck(var BA : array of byte);
var
i:smallint;
mTotal:integer;
begin
//斷言數據位數
Assert(Length(BA)=8,'The Length is NOT Correct!');
mTotal := $13;
for i:=0 to 6 do
begin
mTotal := mTotal + BA[i];
end;
BA[7] := mTotal mod $ff;
end;
//加密數據
procedure Ept(var BA: array of byte);
var
i:smallint;
mTmp:byte;
begin
//斷言數據位數
Assert(Length(BA)=8,'The Length is NOT Correct!');
mTmp := $2a;
for i:=5 downto 1 do
begin
BA[i] := BA[i-1] xor BA[i];
end;
BA[0] := BA[5] xor $2a;
end;
procedure AntiEpt(var BA: array of byte);
var
i:smallint;
mTmp:byte;
begin
//斷言數據位數
Assert(Length(BA)=8,'The Length is NOT Correct!');
BA[0] := $2a xor BA[5];
for i:=1 to 5 do
begin
BA[i] := BA[i-1] xor BA[i];
end;
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -