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

📄 toffthreadclass.~pas

📁 delphi基于工业控制的串口通讯
💻 ~PAS
字号:
unit TOffThreadClass;

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

    end;

implementation
uses  UnitMain, UnitPublic;
procedure TOffThread.Execute;
var
    OpenCount:Integer;
    Group_NO    :String;
    Cont_NO     :Integer;
    Terminal_NO :Integer;
    Uport_NO    :Integer;
    Now_Week    :String;
    Now_Time    :String;
begin
    inherited;
    FreeOnTerminate:=True;
	try
	    CoInitialize(nil);
    	query:=TAdoquery.Create(nil);
        query1:=TAdoquery.Create(nil);
        query2:=TAdoquery.Create(nil);
        query.Connection:=frm_DataModule.ADO_Connection;
        query1.Connection:=frm_DataModule.ADO_Connection;
        query2.Connection:=frm_DataModule.ADO_Connection;
        while not terminated do
        begin
            Now_Week :=NowWeek(now);
            Now_Time :=ForMatdatetime('hh'':''mm',now);
            with query do
            begin
                close;
                sql.Clear ;
                Sql.Add('Select * from [TaskPlan] where TaskName='''+Now_Week+''' and EndTime='''+Now_Time+'''');
                open;
                if RecordCount>0 then
                begin
                    while not eof do
                    begin
                        Group_NO:=FieldByName('GroupNO').AsString;
                        with query1 do
                        begin
                            Close;
                            Sql.Clear;
                            Sql.Add('Select * from [Equipment] where GroupNo='''+Group_NO+'''and Light_States=''开''');
                            Open;
                            if query1.RecordCount> 0 then
                            begin
                                Cont_NO     :=FieldByName('Cont').AsInteger;
                                Terminal_NO :=FieldByName('Terminal').AsInteger;
                                Uport_NO    :=FieldByName('Uport').AsInteger;
                                try
                                    MySpcomm.WriteUportOpenClose(Cont_NO,Terminal_NO,Uport_NO,0);
                                    //try
                                        //EditStates(0,Group_NO);
                                    //except
                                    //end;
                                except
                                end;
                            end;
                        end;
                        Next;
                    end;
                end;
            end;
        end;
    finally
	    CoUnInitialize;
    end;
    if terminated then
    exit;
end;

end.

⌨️ 快捷键说明

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