Delphi关于com通讯端口的控件好个最好!(100分)

  • 主题发起人 主题发起人 la_la
  • 开始时间 开始时间
L

la_la

Unregistered / Unconfirmed
GUEST, unregistred user!
Delphi关于com通讯端口的控件好个最好!我用VB中带的mscomm这个Active控件用起来不是
爽,好位大侠能推荐一个更爽的控件或串口编程方法!thanks!
 
利用Spcomm控件~~~~

DELPHI上有很多串行口控件,SPCOMM控件有Data Bits、Parity、 Stop Bits 等配置,
支持 Read/Write 时序控制 (Timing control)、 ReadIntervalTimeout、 WriteIntervalTimout 等 ,
支持 DTR/DSR, RTS/CTS 硬件流程控置及 Xon/Xoff 软件流程控置,是目前比较完善的控件。
以下是一个用RS-232进行数据接收、显示的例子。必须将RS232的通信参数设置好才能正确接收数据。
(Data Bits,Parity,Stop Bits,COM口参数)
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, SPComm;
type
TForm1 = class(TForm)
Comm1: TComm;
Memo1: TMemo;
procedure Comm1ReceiveData(Sender: TObject; Buffer: Pointer;

BufferLength: Word);
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Comm1ReceiveData(Sender: TObject; Buffer: Pointer;
BufferLength: Word);
var
s: string;
begin
SetLength(S, BufferLength); //接收RS232的数据并显示Memo1上。
Move(Buffer^, PChar(S)^, BufferLength);
Memo1.Lines.Add(S);
Memo1.Invalidate;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Comm1.startcomm;//创建窗体时,将comm1控件打开。
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
comm1.StopComm;//关闭窗体时,将comm1控件关闭。
end;
end.
 
我们公司原来坐有关COM通讯的软件时应用的控件时Delphi6.0中的Indy控件!可以研究研究!
我是写mis的,没有深研究.
 
我用的是api232.dll,也可以用
 
去down一个SPCOMM吧,我们的程序全是用这个控件开发的,很好用
 
www.turbopower.com也有你要的好东东
 
Spcomm、Commdrv32、TCommPortDriver、ASync32都不错,各有千秋!
 
我觉得没有什么好不好,SPCOM较简单,MSCOMM通用一点,CPORT功能好像大一点,看你编程的水平吧
 
似乎ASync32很不错的。
 
async32现在叫asyncpro很厉害的
 

Similar threads

D
回复
0
查看
928
DelphiTeacher的专栏
D
D
回复
0
查看
883
DelphiTeacher的专栏
D
D
回复
0
查看
856
DelphiTeacher的专栏
D
后退
顶部