找回密码
 加入
搜索
查看: 1687|回复: 0

[IE类操作] 关于利用google 生成二维码的代码,求优化

[复制链接]
发表于 2013-3-25 20:49:00 | 显示全部楼层 |阅读模式
关于利用google 生成二维码的代码,求优化

参考了论坛中某位的代码(sorry,忘了原作者是谁了……)
稍微修改了一下

求助:1. 增加超时限制,允许设置超过***秒后若无法生成,则返回-1
         2. %2B表示+是怎么转换的?
Func _QRcode($sPath, $sWH, $sString)
        If StringRegExp($sString, '[^\x00-\xff]') Then
                SetError(1)
                Return False
        EndIf;检测是否为全单字节
    $sString = StringReplace($sString,'+','%2B')
        $sString = StringReplace($sString,'%','%25')
        $sString = StringReplace($sString,@CR,'%0D')
        $sString = StringReplace($sString,@LF,'%0A')
                $sString = StringReplace($sString,'?','%3F')
                $sString = StringReplace($sString,'(','%28')
                $sString = StringReplace($sString,')','%29')
                $sString = StringReplace($sString,'!','%21')
                $sString = StringReplace($sString,'@','%40')
                $sString = StringReplace($sString,'+','%2B')
                $sString = StringReplace($sString,'=','%3D')
                $sString = StringReplace($sString,'#','%23')
                $sString = StringReplace($sString,','%24')
                $sString = StringReplace($sString,'&','%26')
        $sString = StringReplace($sString,' ','+')
        If StringLen($sString) +stringlen("http://chart.apis.google.com/chart?cht=qr&chs=" & $sWH & 'x' & $sWH & "&chl=" ) > 2048 Then
                SetError(2)
                Return False
        EndIf;字符超限
        FileDelete($sPath)
        ;开始发送数据,并获取二维码了
        InetGet("http://chart.apis.google.com/chart?cht=qr&chs=" & $sWH & 'x' & $sWH & "&chl=" & $sString, $sPath, 1, 0)
        If @error  Then
                SetError(3)
                Return False
        EndIf;网络故障
 
        Return True
EndFunc
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-4-29 20:54 , Processed in 0.077914 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表