procedure TForm1.btnSendClick(Sender: TObject);
var
Temp:string;
lrc:LongWord;
begin
if (hComm=0) then exit;//若尚未打开通信端口,则跳出
Temp:=mSend.Text ;//欲送出的数据
//执行送出的函数
WriteFile(hComm,Pointer(Temp)^,Length(Temp), lrc, nil); //送出数据
end;
//以下是清除显示数据按钮按下时的执行程序代码
procedure TForm1.btnClearClick(Sender: TObject);
begin
mReceive.Clear; //将接收区清除
end;
//以下是打开通信端口的函数
procedure TForm1.btnOpenPortClick(Sender: TObject);
begin
end;
//结束系统的按钮
procedure TForm1.btnEndClick(Sender: TObject);
begin
CloseHandle(hComm);//关闭通信端口
end;
//当于Memo对象中按下按钮后,执行以下的程序
//窗体建立时执行以下的程序
procedure TForm1.FormCreate(Sender: TObject);
begin
//建立线程对象,并且激活执行
ReadThread:=TReadThread.Create(False);
end;
//窗体关闭时执行以下的程序
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
ReadThread.Free; //释放对象
end;
procedure TForm1.btnOKClick(Sender: TObject);
var
cc:TCOMMCONFIG;
Temp:string;
begin
Temp:=trim(Combobox1.Text) ; // 选择所要打开的COM
hComm:=CreateFile(PChar(Temp), GENERIC_READ or GENERIC_WRITE,
0, nil, OPEN_EXISTING, 0, 0);// 打开COM
if (hComm = INVALID_HANDLE_VALUE) then
begin//如果COM 未打开
MessageBox (0, '打开通信端口错误!!','',MB_OK);
exit;
end;
GetCommState(hComm,cc.dcb); // 得知目前COM 的状态
cc.dcb.BaudRate:=CBR_9600; // 设置波特率为9600
cc.dcb.ByteSize:=8; //字节为 8 bit
cc.dcb.Parity:=NOPARITY; // Parity 为 None
cc.dcb.StopBits:=ONESTOPBIT;// 1 个Stop bit
if not SetCommState(hComm, cc.dcb) then
begin// 设置COM 的状态
MessageBox (0, '通信端口设置错误!!!','',MB_OK);
CloseHandle(hComm);//关闭通信端口
exit;
end;
end;
procedure TForm1.Button6Click(Sender: TObject);
var
Temp:string;
lrc:LongWord;
begin
if (hComm=0) then exit;//若尚未打开通信端口,则跳出
Temp:=mSend.Lines.Text ;//欲送出的数据
//执行送出的函数
WriteFile(hComm,Pointer(Temp)^,Length(Temp), lrc, nil); //送出数据
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if OpenDialog1.Execute then
begin
mSend.Lines.LoadFromFile(OpenDialog1.FileName);
end;
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
close
end;
procedure TForm1.FormShow(Sender: TObject);
begin
btnOKClick(Sender);
btnok.Enabled:=false;
end;
procedure TForm1.ComboBox1Change(Sender: TObject);
begin
CloseHandle(hComm);//关闭通信端口
btnok.Enabled:=true;
end;
procedure TForm1.ComboBox2Change(Sender: TObject);
begin
CloseHandle(hComm);//关闭通信端口
btnok.Enabled:=true;
end;