[an error occurred while processing this directive]
|
unit Unit1;interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, CPDrv;type
TForm1 = class(TForm)
CPD: TCommPortDriver;
Button1: TButton;
Button2: TButton;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure CPDReceiveData(Sender: TObject; DataPtr: Pointer;
DataSize: Cardinal);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation
{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject);
begin
if cpd.connect=false then
begin
Application.MessageBox(
'Порт занят или не подключен кабель',
'Ошибка инициализации последовательного порта',
MB_OK);
halt;
end;
cpd.ToggleDTR(true);
cpd.ToggleDTR(false);
cpd.SendString( 'UUUU'+#5); //запрос идентификатора кабеля
end;procedure TForm1.Button1Click(Sender: TObject);
begin
cpd.ToggleDTR(true);
cpd.ToggleDTR(false);
cpd.SendString( 'UUUU'+#4+#1); //включим зарядку
cpd.disconnect;
close;
end;procedure TForm1.Button2Click(Sender: TObject);
begin
cpd.ToggleDTR(true);
cpd.ToggleDTR(false);
cpd.SendString( 'UUUU'+#4+#0); //выключим зарядку
cpd.disconnect;
close;end;
procedure TForm1.CPDReceiveData(Sender: TObject; DataPtr: Pointer;
DataSize: Cardinal);
var
i: integer;
s: string;
begin
s:= Pchar(DataPtr);
delete(s,1,3);
Form1.caption:=Form1.caption+s; // выведем идентификатор кабеля в заголовок окнаend;
end.