广告合作
  • 今日头条

    今日头条

  • 百度一下

    百度一下,你就知道

  • 新浪网

    新浪网 - 提供新闻线索,重大新闻爆料

  • 搜狐

    搜狐

  • 豆瓣

    豆瓣

  • 百度贴吧

    百度贴吧——全球领先的中文社区

  • 首页 尚未审核订阅工具 订阅

    易语言如何编写获取qq昵称程序?

    来源:网络收集  点击:  时间:2024-04-30
    【导读】:
    有时候我们写qq类的程序的时候,需要获取某qq用户的qq昵称,那么如何编写一个获取qq昵称的易语言程序呢?下面小编分享下代码写法及代码分析。ps:本人小菜,大牛看到请不要喷,只是分享思路让和我一样的菜鸟有个学习的过程。如有错误或者建议欢迎评论经验。工具/原料more易语言方法/步骤1/9分步阅读

    此经验因为腾讯的原因,可能已经失效.

    目前可以通过:图片框1.图片 = HTTP读文件 (“http://q2.qlogo.cn/headimg_dl?bs=” + qqNumber + “dst_uin=” + qqNumber + “src_uin=” + qqNumber + “fid=” + qqNumber + “spec=100url_enc=0referer=bu_interfaceterm_type=PC”)

    这种方式来获取, 把qqNumber换成QQ号即可!

    打开易语言,新建一个Windows窗口程序,如图所示,添加2个标签,2个编辑框和一个按钮。

    标签1命名为QQ,标签2命名为昵称,编辑框1用来输入QQ号码,编辑框2则用来接收获取到的QQ昵称。按钮命名为”获取昵称“。这里我编辑框1输入的qq为10001。

    2/9

    我们双击 按钮,进入代码编写,这时候自动为我们创建了“_按钮1_被单击”子程序。

    添加三个变量,一个文本型 两个整数型,这里文本型我写的是 name 两个整数型写的是m和n,具体大家自己命名。

    3/9

    我们先写上这行代码。

    name = 到文本 (HTTP读文件 (“http://r.qzone.qq.com/cgi-bin/user/cgi_personal_card?uin=” + 编辑框1.内容))

    ”http://r.qzone.qq.com/cgi-bin/user/cgi_personal_card?uin=10001“这个网址的uin=后面就是你要获取昵称的QQ号码。而这里我们用编辑框1来接收用户输入自定义的QQ

    http读文件就是读取网页的数据文件,可以理解为源码。我们访问

    ”http://r.qzone.qq.com/cgi-bin/user/cgi_personal_card?uin=10001“ 可以看到

    _Callback(

    {uin:10001,

    qzone:0,

    intimacyScore:0,

    nickname:pony,

    realname:,

    smartname:,

    friendship:0,

    isFriend:0,

    bitmap:1a51d5c4082ed301,

    avatarUrl:http://qlogo2.store.qq.com/qzone/10001/10001/100});

    4/9

    上面的内容,其中nickname:pony,这一行中的pony就是QQ昵称。

    可是我们要怎么取出其中的qq昵称呢?

    我们可以用 取文本中间这条命令来获取。

    再写上下面的代码。

    m = 寻找文本 (name, “nickname”, , 真)

    我们寻找nickname 看他首先出现的位置,把位置赋给m

    再用如果命令来判断 寻找文本的返回结果 如果等于-1说明没有找到 我们也就没有继续的必要。

    如果 (m = -1)

    如果不等于=-1就是说明存在

    5/9

    再在如果命令的另一分支(否则的条件时)下写上代码

    n = 寻找文本 (name, “,”, m, 真)

    这条代码的意思就是从m所在位置开始寻找最先出来的“,”

    也就是nickname:pony,最后面的“,”符号

    找到位置后再赋值给n

    然后再用 取文本中间 (name, m + 10, n - m - 10

    取文本中间命令来取出 n和m之间的内容(这个内容就是网名所在的位置并占的字符数)从m加10的地方也就是 网名所在那一行,要取的长度就是写为n-m-10。为什么m要加10呢? 我们来看 nickname:pony, 和取文本中间的命令用法。

    调用格式: 〈文本型〉 取文本中间 (文本型 欲取其部分的文本,整数型 起始取出位置,整数型 欲取出字符的数目) - 系统核心支持库-文本操作

    英文名称:mid

    返回一个文本,其中包含指定文本中从指定位置算起指定数量的字符。本命令为初级命令。

    参数1的名称为“欲取其部分的文本”,类型为“文本型(text)”。

    参数2的名称为“起始取出位置”,类型为“整数型(int)”。1为首位置,2为第2个位置,如此类推。

    参数3的名称为“欲取出字符的数目”,类型为“整数型(int)”。

    ”起始取出位置“就是 m变量 最先出现的位置,最新出现的位置什么意思?就是nickanme的首字母n的位置而不要误解为最后字母e的位置,加上10就是定位的网名所在位置前面的那个引号那里。

    后面的n-m-10 就是要取出的字符数目了,由于之前m加了10所以这里再减去 不然取出的字符数会多10个。

    6/9

    由于涉及到网页编码问题,所以我们这里还需要转换下编码。

    编码转换 (到字节集 (取文本中间 (name, m + 10, n - m - 10)), #编码_UTF_8, #编码_GB18030, )

    再把转换过后的结果转换文本 以便用于后面的子文本替换

    到文本 (编码转换 (到字节集 (取文本中间 (name, m + 10, n - m - 10)), #编码_UTF_8, #编码_GB18030, ))

    这时候的文本是pony

    7/9

    再用子文本替换命令 把左右两边的引号替换为空白即可。

    子文本替换 (到文本 (编码转换 (到字节集 (取文本中间 (name, m + 10, n - m - 10)), #编码_UTF_8, #编码_GB18030, )), #引号, 取空白文本 (0), , , 真)

    8/9

    再赋值给编辑框2.内容即可

    编辑框2.内容 = 子文本替换 (到文本 (编码转换 (到字节集 (取文本中间 (name, m + 10, n - m - 10), #编码_UTF_8, #编码_GB18030, )), #引号, 取空白文本 (0), , , 真)

    9/9

    最终结果

    .版本 2

    .程序集 窗口程序集1

    .子程序 _按钮1_被单击

    .局部变量 name, 文本型

    .局部变量 m, 整数型

    .局部变量 n, 整数型

    name = 到文本 (HTTP读文件 (“http://r.qzone.qq.com/cgi-bin/user/cgi_personal_card?uin=” + 编辑框1.内容))

    m = 寻找文本 (name, “nickname”, , 真)

    .如果 (m = -1)

    编辑框2.内容 = “无法获取qq昵称”

    .否则

    n = 寻找文本 (name, “,”, m, 真)

    编辑框2.内容 = 子文本替换 (到文本 (编码转换 (到字节集 (取文本中间 (name, m + 10, n - m - 10)), #编码_UTF_8, #编码_GB18030, )), #引号, 取空白文本 (0), , , 真)

    .如果结束

    注意事项

    编码转换那里和取文本中间 (name, m + 10, n - m - 10) 这里注意m和n的位置和要取网名的字符数

    我觉得学习就是这样,把每一步都搞懂,不像有的人发经验很多细节不写清楚,造成很多新手看不懂。如有错误或建议欢迎指出。

    如果觉得写的不错,可以点击下面的投票和五角星或者右边的分享哦。你的肯定就是我们最大的动力。

    QQ
    本文关键词:

    版权声明:

    1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。

    2、本站仅提供信息发布平台,不承担相关法律责任。

    3、若侵犯您的版权或隐私,请联系本站管理员删除。

    4、文章链接:http://www.1haoku.cn/art_638108.html

    相关资讯

    ©2019-2020 http://www.1haoku.cn/ 国ICP备20009186号05-05 22:05:16  耗时:0.025
    0.0255s