⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tquerythreadclass.pas

📁 delphi基于工业控制的串口通讯
💻 PAS
字号:
//******************************************************************************
//*本单元功能是继承了Comm的一个类模块                                          *
//*单元名称:TQueryThreadClass                                                 *
//*单元功能:232-485通讯                                                       *
//*具体描述:                                                                  *
//*开发作者:张志华                                                            *
//*电子邮件:E-mail(MSN):luer88@163.net; QQ:29763034 TEL:13088096280           *
//*开发日期:2004-10-11                                                        *
//*使用方法:用户需要向串口发送指定的字符的时候只需要调用相应的命令函数,然后再*
///*调用统一的发送函数SendByte(x:integer)其中X表示该命令需要发送的BUF的个数    *
//*属    性:                                                                  *
//*修改日期:                                                                  *
//******************************************************************************
unit TQueryThreadClass;

interface
uses
    Classes,Db, DBTables,StdCtrls, SysUtils, UnitDataModule,ADODB,
    ComObj, Messages,Dialogs,activeX,Windows
    ,Forms,QDialogs;
type
    TQueryThread = class(TThread)
    private
        query:TAdoquery;
    protected
        procedure Execute; override;
    public

    end;

implementation
uses  UnitMain, UnitPublic;
procedure TQueryThread.Execute;
var
    OpenCount:Integer;
    Cont_NO     :Integer;
    Terminal_NO :Integer;
    Uport_NO    :Integer;
    UportData   :Integer;
begin
    inherited;
    FreeOnTerminate:=True;
	try
	    CoInitialize(nil);
    	query:=TAdoquery.Create(nil);
        query.Connection:=frm_DataModule.ADO_Connection;
        while not terminated do
        begin
            with query do
            begin
                close;
                sql.Clear ;
                Sql.Add('Select Equipment_NO,Equipment_Name,Equipment_Address,Cont,Terminal,Uport from [Equipment]order by Equipment_NO ');
                open;
                if RecordCount>0 then
                begin
                    while Not Eof Do
                    begin
                        Cont_NO     :=FieldByName('Cont').AsInteger;
                        Terminal_NO :=FieldByName('Terminal').AsInteger;
                        Uport_NO    :=FieldByName('Uport').AsInteger;
                        try
                            MySpcomm.ReadUportReader(Cont_NO,Terminal_NO,Uport_NO);
                        except
                        end;
                        Sleep(MusicLength);
                        Next;
                    end;
                end;
            end;
        end;
    finally
	    CoUnInitialize;
    end;
    if terminated then
    exit;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -