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

📄 unit8.~pas

📁 学校短信息系统 采用华域科技的SzgmtSms 通讯模块
💻 ~PAS
字号:
unit Unit8;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ADODB, DB, StdCtrls,ActiveX{必须要有};


type
  TForm8 = class(TForm)
    ADOConnection1: TADOConnection;
    ADOQuery1: TADOQuery;
    ADOQuery2: TADOQuery;
    ADOCommand1: TADOCommand;
    ComboBox1: TComboBox;
    Button1: TButton;
    Label1: TLabel;
    Label2: TLabel;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
     
  end;

var
  Form8: TForm8;
  msg_com:integer;
//function MyThreadFunc(P:pointer):Longint;stdcall;
implementation
uses unit7;
{$R *.dfm}

function MyThreadFunc(P:pointer):Longint;stdcall;
var
    mobile1:pchar;
    //p1:string;
   // p2:string;
    str1:pchar;
    str2:pchar;
    j:integer;
    k:integer;
    card_id1:string;
    id:integer;
    handle:hwnd;
    str3:pchar;
begin

messagebox(Handle,'循环开始0',nil,MB_OK);//showmessage('循环开始0');
str1:='您好!你的小孩于进校门';
str2:='家校通测试!';
str3:='';
mobile1:='';

//messagebox(Handle,'test',nil,MB_OK);
messagebox(Handle,'循环开始1',nil,MB_OK);//showmessage('循环开始1');
form8.ADOQuery1.Close;
messagebox(Handle,'循环开始1.01',nil,MB_OK);//showmessage('循环开始1.01');
form8.ADOQuery1.sql.clear;
messagebox(Handle,'循环开始1.02',nil,MB_OK);//showmessage('循环开始1.02');
form8.ADOQuery1.sql.text:='select * from message';
messagebox(Handle,'循环开始1.03',nil,MB_OK);//showmessage('循环开始1.03');
form8.ADOQuery1.open;
messagebox(Handle,'循环开始2',nil,MB_OK);//showmessage('循环开始2');

repeat
if not  form8.ADOQuery1.Eof then
begin
messagebox(Handle,'循环开始2.1',nil,MB_OK);//showmessage('循环开始2.1');
id:=form8.ADOQuery1.fieldbyname('id').AsInteger;
mobile1:=pchar(form8.ADOQuery1.fieldbyname('mobile').AsString);
card_id1:=form8.ADOQuery1.fieldbyname('card_id').AsString;
messagebox(Handle,'循环开始3',nil,MB_OK);//showmessage('循环开始3 '+inttostr(id));
form8.adocommand1.CommandType:=cmdtext;
messagebox(Handle,'循环开始3.000',nil,MB_OK);//showmessage('循环开始3.000');
form8.adocommand1.CommandText:='delete message where card_id='+quotedstr(card_id1);
//form8.ADOQuery1.Close;
//form8.ADOQuery1.sql.clear;
//form8.ADOQuery1.sql.text:='delete message where id='''+inttostr(id)+'''';
//showmessage('循环开始3.001');
//form8.adocommand1.Parameters.ParamByName('id').Value:=(id);
//form8.ADOQuery1.open;
messagebox(Handle,'循环开始3.01',nil,MB_OK);//showmessage('循环开始3.01');
//form8.adocommand1.Execute;
messagebox(Handle,'循环开始3.02',nil,MB_OK);//showmessage('循环开始3.02');
 with form8.ADOQuery2 do
    begin
  messagebox(Handle,'循环开始4',nil,MB_OK);//showmessage('循环开始4');
         close;
         sql.text:='select num from status where card_id='+quotedstr(card_id1)+'and day='+datetostr(date);
         open;
 messagebox(Handle,'循环开始5',nil,MB_OK);// showmessage('循环开始5');
         k:=fieldbyname('num').AsInteger;
         if (k mod 2) <> 0 then
         begin
         j:=SendSms(msg_com,mobile1,str1,length(str1));
 messagebox(Handle,'循环开始6',nil,MB_OK);// showmessage('循环开始6');
         if j<>0 then
         str3:= pchar(mobile1+' send error! with error code:'+inttostr(j));
 messagebox(Handle,str3,nil,MB_OK);//showmessage(mobile1+' send error! with error code:'+inttostr(j));
 messagebox(Handle,'循环开始7',nil,MB_OK);// showmessage('循环开始7');
         end
         else
         j:=SendSms(msg_com,mobile1,str2,length(str2));
 messagebox(Handle,'循环开始8',nil,MB_OK);//showmessage('循环开始8');
         if j<>0 then
          str3:= pchar(mobile1+' send error! with error code:'+inttostr(j));
 messagebox(Handle,str3,nil,MB_OK);
         close;
 messagebox(Handle,'循环开始8.1',nil,MB_OK);
         sql.clear;
         messagebox(Handle,'循环开始8.1',nil,MB_OK);
         sql.text:='delete status where mobile='+quotedstr(mobile1);
         messagebox(Handle,'循环开始8.3',nil,MB_OK);
         ExecSQL;
 messagebox(Handle,'循环开始9',nil,MB_OK);// showmessage('循环开始9');
      end;
end;
form8.ADOQuery1.Next;
sleep(1000);
until 0=1;
form8.Caption:='test thread!';
//result:= 1;
end;







procedure TForm8.Button1Click(Sender: TObject);
var
i:integer;
hThread:Thandle;//定义一个句柄
  ThreadID:DWord;
begin
msg_com:= strtoint(copy(combobox1.Text,4,4)) ;
i:=OpenCom(msg_com);
if i<>0 then
begin
label1.Caption:=label1.Caption+'  连接失败';
exit;
end
else
begin
label1.Caption:=label1.Caption+'  连接成功';
end;
showmessage('循环开始10');
try
hthread:=CreateThread(nil,0,@MyThreadfunc,nil,0,ThreadID);
except
showmessage('error0');
end;
if hThread=0 then
begin
messagebox(Handle,'Didn’tCreateaThread',nil,MB_OK);
end;
showmessage('循环开始11');
//form8.Hide;
end;

end.

⌨️ 快捷键说明

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