www.pudn.com > cdma.rar > SETCOM.pas


unit SETCOM; 
 
interface 
 
uses 
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 
  Dialogs, StdCtrls,ComCtrls,comfun, ExtCtrls; 
 
type 
  TForm2 = class(TForm) 
    Label1: TLabel; 
    ComboBox1: TComboBox; 
    Label2: TLabel; 
    ComboBox2: TComboBox; 
    Button1: TButton; 
    Button2: TButton; 
    Button3: TButton; 
    mmoSend: TMemo; 
    edtSend: TMemo; 
    Timer1: TTimer; 
    Button4: TButton; 
    procedure Button1Click(Sender: TObject); 
    procedure FormCreate(Sender: TObject); 
    procedure Button2Click(Sender: TObject); 
    procedure Button3Click(Sender: TObject); 
    procedure Timer1Timer(Sender: TObject); 
    procedure Button4Click(Sender: TObject); 
  private 
    procedure SetSendButton ; 
    { Private declarations } 
  public 
    { Public declarations } 
  end; 
 
var 
  Form2: TForm2; 
  //Post_Event: THandle;//创建事件同步对象的句柄 
  hSend : THandle;//发送串口的句柄 
  //hRecv : THandle;//接收串口的句柄 
  //Read_os: Toverlapped;//重叠结构的变量 
  //Receive: Boolean; //开关变量,代表是否接收 
  GeTcomfun:Tcomfun; 
  WritingcomThread:TCommThread; 
implementation 
 
{$R *.dfm} 
 
//互置发送按钮和输入框的有效性 
procedure TForm2.SetSendButton ; 
begin 
  ComboBox1.Enabled := not ComboBox1.Enabled ; 
  ComboBox2.Enabled := not ComboBox2.Enabled ; 
  Button1.Enabled := not Button1.Enabled ; 
  Button2.Enabled := not Button2.Enabled ; 
end; 
 
procedure TForm2.Button1Click(Sender: TObject); 
begin 
  //CommName := ComboBox1.Text; 
  // 打开发送串口 
  //GeTcomfun.OpenConnection(ComboBox1.Text,hSend); 
   
  if (not GeTcomfun.Opencom(ComboBox1.Text)) then 
   raise Exception.Create('设置'+ComboBox1.text+'错误'); 
  SetSendButton; 
end; 
 
 
procedure TForm2.FormCreate(Sender: TObject); 
begin 
GeTcomfun:=Tcomfun.Create; 
ComboBox1.Text:='COM1'; 
ComboBox2.Text:='9600'; 
end; 
 
procedure TForm2.Button2Click(Sender: TObject); 
begin 
GeTcomfun.closecom(); 
SetSendButton; 
end; 
 
procedure TForm2.Button3Click(Sender: TObject); 
var 
wirtcomint1:boolean; 
begin 
//WritingcomThread:=TCommThread.Create(); 
//Timer1.Enabled:=true; 
//GeTcomfun.wirtcom(edtSend.Text); 
 
wirtcomint1:=GeTcomfun.wirtcom(edtSend.Text); 
if wirtcomint1=true then 
begin 
mmoSend.Lines.Add('已发送:');//+intToStr(wirtcomint)+'个字节的数据'); 
end 
else 
begin 
mmoSend.Lines.Add('发送数据失败'); 
//Application.MessageBox('发送数据失败','',MB_OK); 
//EXIT; 
end; 
end; 
 
procedure TForm2.Timer1Timer(Sender: TObject); 
var 
wirtcomint:boolean; 
begin 
//wirtcomint:=false; 
wirtcomint:=GeTcomfun.wirtcom(edtSend.Text); 
if wirtcomint=true then 
begin 
mmoSend.Lines.Add('已发送:');//+intToStr(wirtcomint)+'个字节的数据'); 
end 
else 
begin 
mmoSend.Lines.Add('发送数据失败'); 
//Application.MessageBox('发送数据失败','',MB_OK); 
//EXIT; 
end; 
end; 
 
procedure TForm2.Button4Click(Sender: TObject); 
begin 
Timer1.Enabled:=false; 
end; 
 
end.