unit Mian;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, OleCtrls, MSCommLib_TLB, StdCtrls, Buttons, ExtCtrls, VSSComm32, IniFiles,
public_para,
Menus, shellapi, ComCtrls, IdBaseComponent, IdComponent, IdTCPConnection,
IdTCPClient, IdAntiFreezeBase, IdAntiFreeze, WinSock, ADODB, DB;
//const
type
TByte32 = array[1..32] of byte;
TSData = array[0..63] of byte;
TBlock = array[0..7] of byte;
TBlockA = array[0..512] of byte;
//字段
type Field=packed record
Fieldlen:word;
Content:array[0..127]of char;
end;
// WM_SYSTRAYMSG = WM_USER + 100;
// SYSTRAY_ID = 1;
//包头控制信息
type PktHeader = packed record
pkglen: LongWord; // 包的总长度,为包控制信息和实际传送内容长度之和
factorycode: char; // 厂商编码, 新科公司=186,华为公司=168
progid: char; // 进程号
morepkt: char; // 是否还有后续包,1 有,0 无
cmd_id: array[0..9] of char; // 命令 ID
start_num: LongWord; // 起始记录号(从 0 开始)
end_num: LongWord; // 终止记录号(为 0 时表示其余全部数据)
request_id: LongWord; // 请求 ID
answer_id: LongWord; // 回答 ID(保留)
sequence: LongWord; // 包序号
rec_seperator: array[0..4] of char; // 记录分隔符,最大长度为 4,以 null 结束
field_seperator: array[0..4] of char; // 字段分隔符,最大长度为 4,以 null 结束
reserved1: LongWord; // 保留
reserved2: LongWord; // 保留
ecode: Smallint; //返回码