📄 unit8.~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 + -