📄 umain.~pas
字号:
if (doc.all.item(i).tagName = 'INPUT')and //短信
(doc.all.item(i).type='text')and
(doc.all.item(i).name='ls_content2')then
inc(cok);
if (doc.all.item(i).tagName = 'INPUT')and
(doc.all.item(i).type='image')and
(doc.all.item(i).value='发送')then
inc(cok);
end;
if cok=5 then
result:=true
else
result:=false;
except
result:=false;
end;
end;
procedure Tfmain.wbStatusTextChange(Sender: TObject;
const Text: WideString);
begin
//memo1.Lines.Add(Text);
if pos('完',text)=1 then
begin
if act='connect' then //第一次连接服务器 动作为 connect 连接之后 动作都为 send
begin
if check_connect then
begin
sb.Panels[0].Text:='连接服务器成功!';
connect_status:=true;
b_send.Enabled:=true;
Timer1.Enabled:=false;
dis_time:=0;
end;
end;
end;
end;
procedure Tfmain.FormCreate(Sender: TObject);
var
i:integer;
begin
try
dis_time:=0;
send_acc:=false;
sms_list:=Tstringlist.Create;
reg:=tregistry.create;
reg.rootkey:=HKEY_CURRENT_USER;
reg.openkey('Free_Sms',true);
for i:=1 to max_line do
if reg.valueexists('phone'+inttostr(i)) then
phone.items.add(reg.readstring('phone'+inttostr(i)) );
for i:=1 to max_line do
if reg.valueexists('name'+inttostr(i)) then
name.items.add(reg.readstring('name'+inttostr(i)));
for i:=1 to max_line do
if reg.valueexists('sms'+inttostr(i)) then
sms_list.add(reg.readstring('sms'+inttostr(i)));
sl:=sms_list.Count;
//if reg.readString('runr')<>formatDateTime('yyyymmdd',now) then
// runbat();
reg.closekey;
reg.free;
mstring:=Tstringlist.Create;
curfile:=0;
pages:=0;
TargetFrameName:=0;
PostData:=0;
Heads:=0;
Flags:=0;
url:='http://www.hnmcc.com/sms/index.jsp';
password:='1111111';
act:='connect';
connect_status:=false;
sb.Panels[0].Text:='正在连接服务器......';
Wb.Navigate(url,Flags,TargetFrameName,PostData,Heads);
except
end;
end;
procedure Tfmain.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
var
i:integer;
begin
try
reg:=tregistry.create;
reg.rootkey:=HKEY_CURRENT_USER;
reg.openkey('Free_Sms',true);
if phone.items.Count>max_line then
begin
for i:=phone.items.Count-max_line to phone.items.Count-1 do
if sms_list[i]<>'' then
reg.WriteString('phone'+inttostr(i+max_line-phone.items.Count+1),phone.items[i]);
end
else
begin
for i:=0 to phone.items.Count-1 do
if phone.items[i]<>'' then
reg.WriteString('phone'+inttostr(i+1),phone.items[i]);
end;
if name.items.Count>max_line then
begin
for i:=name.items.Count-max_line to name.items.Count-1 do
if name.items[i]<>'' then
reg.WriteString('name'+inttostr(i+max_line-name.items.Count+1),name.items[i]);
end
else
begin
for i:=0 to name.items.Count-1 do
if name.items[i]<>'' then
reg.WriteString('name'+inttostr(i+1),name.items[i]);
end;
if sms_list.Count>max_line then
begin
for i:=sms_list.Count-max_line to sms_list.Count-1 do
if sms_list[i]<>'' then
reg.WriteString('sms'+inttostr(i+max_line-sms_list.Count+1),sms_list[i]);
end
else
begin
for i:=0 to sms_list.Count-1 do
if sms_list[i]<>'' then
reg.WriteString('sms'+inttostr(i+1),sms_list[i]);
end;
reg.closekey;
reg.free;
sms_list.Free;
except
end;
end;
procedure Tfmain.Label4Click(Sender: TObject);
begin
fhelp:=Tfhelp.create(self);
fhelp.showmodal;
end;
procedure Tfmain.Label5Click(Sender: TObject);
begin
try
sl:=sl-1;
if (sl<=sms_list.Count) {and (sl-1>=0)} and (sms_list[sl-1]<>'') then
cont.Text:=sms_list[sl-1]
else
sl:=sl+1;
except
end;
end;
procedure Tfmain.Label6Click(Sender: TObject);
begin
try
sl:=sl+1;
if (sl<=sms_list.Count) and (sl-1>=0) and (sms_list[sl-1]<>'') then
cont.Text:=sms_list[sl-1]
else
sl:=sl-1;
except
end;
end;
procedure Tfmain.phoneKeyPress(Sender: TObject; var Key: Char);
begin
if ((key>='A') and (key<='Z')) or ((key>='a') and (key<='z')) then key:=#0;
end;
procedure Tfmain.wbDocumentComplete(Sender: TObject;
const pDisp: IDispatch; var URL: OleVariant);
var
i,ok:integer;
doc: OleVariant;
begin
try
if (act='send') then //连接服务器失败时
begin
send_cont;
end;
except
end;
end;
procedure Tfmain.wbNewWindow2(Sender: TObject; var ppDisp: IDispatch;
var Cancel: WordBool);
begin
ppDisp:=WebBrowser1.DefaultDispatch;
end;
procedure Tfmain.WebBrowser1NewWindow2(Sender: TObject;
var ppDisp: IDispatch; var Cancel: WordBool);
begin
ppDisp:=WebBrowser2.DefaultDispatch;
end;
procedure Tfmain.WebBrowser1DocumentComplete(Sender: TObject;
const pDisp: IDispatch; var URL: OleVariant);
var i:integer;
doc: OleVariant;
begin
end;
procedure Tfmain.WebBrowser2StatusTextChange(Sender: TObject;
const Text: WideString);
begin
if (pos('完',text)=1) and (send_acc=false) then
begin
mstring.Clear;
mstring.Add(IHtmlDocument2(WebBrowser2.Document).Body.OuterText);
if pos('成功',mstring.text)>0 then
begin
send_acc:=true;
b_send.Enabled:=true;
Timer1.Enabled:=false;
sb.Panels[0].Text:='发送短信成功!';
Timer1.Enabled:=false;
connect_status:=true;
dis_time:=0;
end;
if pos('密码',mstring.text)>0 then
begin
send_acc:=true;
b_send.Enabled:=true;
Timer1.Enabled:=false;
sb.Panels[0].Text:='版本过期,SORRY!';
Timer1.Enabled:=false;
connect_status:=true;
dis_time:=0;
end;
end;
end;
procedure Tfmain.FormResize(Sender: TObject);
begin
height:=306;
width:=207;
end;
procedure Tfmain.Timer1Timer(Sender: TObject);
begin
dis_time:=dis_time+1;
sb.Panels[1].Text:='等待:'+inttostr(dis_time)+'秒';
if (dis_time=25 ) and (b_send.Enabled=false) then
begin
b_send.Enabled:=true;
connect_status:=false;
wb.Stop;
//WebBrowser1.Stop;
WebBrowser2.Stop;
Timer1.Enabled:=false;
dis_time:=0;
//sleep(1000);
if act='connect' then
sb.Panels[0].Text:='连接服务器失败!';
if act='send' then
sb.Panels[0].Text:='发送短信失败!';
end;
if dis_time>30 then
begin
dis_time:=0;
Timer1.Enabled:=false;
if act='connect' then
sb.Panels[0].Text:='连接服务器失败!';
if act='send' then
sb.Panels[0].Text:='发送短信失败!';
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -