电脑爱好者,提供IT资讯信息及各类编程知识文章介绍,欢迎大家来本站学习电脑知识。 最近更新 | 联系我们 RSS订阅本站最新文章
电脑爱好者
站内搜索: 
当前位置:首页>> delphi技术>>“QQ在线状态查看器”源码:

“QQ在线状态查看器”源码

来源:远方网络 | 2005-12-29 14:45:09 | (有6522人读过)

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ScktComp, ExtCtrls, ComCtrls, WinSkinData;

type
TForm1 = class(TForm)
ClientSocket1: TClientSocket;
Button1: TButton;
Label1: TLabel;
Edit1: TEdit;
Label2: TLabel;
Edit2: TEdit;
Button2: TButton;
StatusBar1: TStatusBar;
SkinData1: TSkinData;
procedure Button1Click(Sender: TObject);
procedure ClientSocket1Connect(Sender: TObject;
Socket: TCustomWinSocket);
procedure ClientSocket1Read(Sender: TObject; Socket: TCustomWinSocket);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
data:string;
implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
qq:string;
begin
qq:=edit1.Text ;
edit2.Clear ;
if qq = '' then exit;
if (length(qq) < 5) or (length(qq)>11) then
begin
showmessage(' QQ号码位数错误!');
statusbar1.Panels[0].Text :='';
exit;
end;
data:='GET /pa?p=1:'+qq+':12 HTTP/1.1'+#13#10;
data:=data+'Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/msword, application/x-shockwave-flash, */*'+#13#10;
data:=data+'Accept-Language: zh-cn'+#13#10;
data:=data+'Accept-Encoding: gzip, deflate'+#13#10;
data:=data+'User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; Maxthon)'+#13#10;
data:=data+'Host: wpa.qq.com'+#13#10;
data:=data+'Connection: Keep-Alive'+#13#10;
data:=data+''+#13#10;
clientsocket1.Close ;
clientsocket1.Host :='wpa.qq.com';
clientsocket1.Port :=80;
clientsocket1.Open ;
statusbar1.Panels[0].Text :='查询中...';
end;

procedure TForm1.ClientSocket1Connect(Sender: TObject;
Socket: TCustomWinSocket);
begin
socket.SendText(data);
end;

procedure TForm1.ClientSocket1Read(Sender: TObject;
Socket: TCustomWinSocket);
var
s:string;
begin
s :=socket.ReceiveText ;
statusbar1.Panels[0].Text :='查询完毕!';
if pos('http://219.133.40.106/12_online.gif',s) <> 0 then
edit2.Text :='在线'
else
if pos('http://219.133.40.106/12_offline.gif',s) <> 0 then
edit2.Text :='隐身或离线';
end;

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in ['0'..'9',#8]) then
begin
key:=#0;
MessageBeep(0);
end;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
close;
end;

end.


学习了一下,不错.有的地方还得像他学习一下!

delphi技术热门文章排行
网站赞助商
购买此位置

 

关于我们 | 网站地图 | 文档一览 | 友情链接| 联系我们

Copyright © 2003-2024 电脑爱好者 版权所有 备案号:鲁ICP备09059398号