网络编程
位置:首页>> 网络编程>> Asp编程>> asp如何做一个自己的QQ?

asp如何做一个自己的QQ?

  发布时间:2010-07-14 19:11:00 

标签:qq,asp

如何做一个自己的QQ?

这不是什么新鲜的东西,看看代码:

refresh.htm

<HTML>
<HEAD>
<title>精彩春风之自己QQ</title>
<link rel="stylesheet" type="text/css" href="forum.css">
</HEAD>
<BODY onload=online() scroll=no topmargin="0" leftmargin="0" style="background-color: #8482C6; color: #FFFFFF; border: 2 solid #FFFFFF; padding: 0">
<marquee><font color=black>海内存知己,天涯若比邻</font></marquee>
<script language="vbscript">
Function bytes2BSTR(vIn)
    strReturn=""
    For i=1 To LenB(vIn)
        ThisCharCode=AscB(MidB(vIn,i,1))
        If ThisCharCode<&H80 Then
            strReturn=strReturn&Chr(ThisCharCode)
        Else
            NextCharCode=AscB(MidB(vIn,i+1,1))
            strReturn=strReturn&Chr(CLng(ThisCharCode)*&H100+CInt(NextCharCode))
            i=i+1
        End If
    Next
    bytes2BSTR=strReturn
End Function
</script>
' 以上转换代码用于解决无法显示汉字
<script language="javascript">
var lengt=0;
' 消除右键功能
function no(){
    alert("噢,不支持右键!");
    self.event.returnValue=false;
}
' 弹出QQ对话框
function sqq(uid,id){
    window.open("sqq.asp?id="+id+"&uid="+uid,"_blank","width=400,height=180");
    }
' 此函数用于显示在线人员
function online(){
        var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        xmlhttp.open("post","online.asp",false);
        xmlhttp.send();
      var xmldom=new ActiveXObject("Microsoft.XMLDOM");
        xmldom.async=false;
        body=bytes2BSTR(xmlhttp.responseBody);
        xmldom.loadXML(body);
        if(xmldom.parseError.errorCode!=0){
            window.open("refresh2.asp","_self");
' 防止有些用户不支持xml
            return
            }
        else{
        var uid=xmldom.documentElement.selectNodes("uid");
        var id=xmldom.documentElement.selectNodes("id");
        var sex=xmldom.documentElement.selectNodes("sex");
        var xx="";
        lengt=uid.length;
        for(var i=0;i<lengt;i++){
            var im="";
            if(id(0).text!="k") im="<img src=../jy/face/1.gif width=12 height=12>";
            xx=xx+im+"<font color=red onclick=sqq('"+uid(i).text+"','"+id(i).text+"') style='cursor:hand' 
title='"+sex(i).text+"'>"+uid(i).text+"</font><br>";
            }
        disonline.innerHTML=xx;
        window.setTimeout("online()",3000);
    }
    }
</script>

resfresh4.asp

' 用于弹出自己的消息时的对话框
<iframe src="refresh4.asp" width=0 height=2 marginwidth=0 marginheight=0 frameborder=0>  
</iframe>
<input type=button value="在线好友:" class=ddyinput2>
<div id=disonline style="height:230;overflow: auto"></div><br>
' 用到scriptlet技术
<OBJECT data=i11.htm height=14 style="HEIGHT: 93px; WIDTH: 770px" 
      type=text/x-scriptlet width=14 VIEWASTEXT></OBJECT>

</BODY>
</HTML>

xmlhttp.asp

' 处理xmlhttp请求
<%on error resume next
Response.ContentType="text/xml"
    if Request.ServerVariables("REQUEST_METHOD")="POST" then
set req=Server.CreateObject("Microsoft.XMLDOM")
        req.async=false
        req.load(Request)
        set conn=server.CreateObject("adodb.connection")
        conn.Open "odbc","uid","password"
        sql="select uid,id,sex from uidinfo order by id desc" 
        set rs=server.CreateObject("adodb.recordset")
        rs.Open sql,conn
        Response.Write "<?xml version=""1.0"" ?>"
        Response.Write "<mess>"
        if not rs.EOF then
            do while not rs.EOF
    Response.Write "<id>"&trim(rs("id"))&"</id><uid>"&trim(rs("uid"))&"</uid><sex>"&trim(rs
("sex"))&"</sex>"
                rs.MoveNext
            loop
        else
            Response.Write "<id>k</id><uid></uid><sex></sex>"
        end if
            Response.Write "</mess>"
        if rs.State=1 then rs.Close
        set rs=nothing
        conn.Close
        set conn=nothing
set req=nothing
end if
%>

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com