精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 资源出售

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

2019年好项目,每月多挣好多钱收抖音火山王者引流:1513888885长期 包养全网交友粉大户┏ E3 E5各种配置电脑出租 ┓找软件作者合作/收购引流软件★微鲤活动粉20元收★无预付日结★
2019年好项目,每月多挣好多钱收抖音火山王者引流:1513888885长期 包养全网交友粉大户┃单进程单IP,模拟器稳定24开┃找软件作者合作/收购引流软件★微鲤活动粉20元收★无预付日结★
全国PPTP秒换IP 动态IP仅35元/月诺宾混拨动态vps/PPTP多地区换IP长期 包养全网交友粉大户┗ E3/8元 E5/10元 双路12元 ┛找软件作者合作/收购引流软件★微鲤活动粉20元收★无预付日结★
出兼职,网赚,交友粉,扫码进群出微信qq交友粉网赚粉精准粉兼职长期 包养全网交友粉大户█IP精灵█最强大的动态IP加速器找软件作者合作/收购引流软件★微鲤活动粉20元收★无预付日结★
长期出QQ群QQ号微信精准粉网挣粉出网赚粉/精准粉/独家引流软件各种【活粉变现点这里】客服①———邮件群fa/WZ最新资源合作找软件作者合作/收购引流软件★微鲤活动粉20元收★无预付日结★
┏集团收购:一手短信、邮箱群fa┓███████████████各种【活粉变现点这里】客服①收购代加QQ单项好友找软件作者合作/收购引流软件★微鲤活动粉20元收★无预付日结★
┃集团收购:一手短信、邮箱群fa┃ █         高 分 成         █各种【活粉变现点这里】客服②收购代加QQ单项好友找软件作者合作/收购引流软件★微鲤活动粉20元收★无预付日结★
┃集团收购:,一手精准群发用户┃ █         高 转 化         █各种【活粉变现点这里】客服②收购代加QQ单项好友找软件作者合作/收购引流软件★微鲤活动粉20元收★无预付日结★
┃集团收购:,一手精准群发用户┃█         高 留 存         █各种【活粉变现点这里】客服③收购代加QQ单项好友实力团队大量收粉入群找管理★微鲤活动粉20元收★无预付日结★
┗集团收购:-爬取QQ达人会员号┛█ 独立后台  实时刷新 █各种【活粉变现点这里】客服③收购代加QQ单项好友实力团队大量收粉入群找管理★微鲤活动粉20元收★无预付日结★
长期大量收一手精准网赚粉█        C   游  戏        ███大量收婚恋宝妈 快手 火山██出高质量粉,日产多、实力来谈实力团队大量收粉入群找管理出售长短效HTTP-S5私密IP-高质量
长期收各种精准网赚资源█        P   分  成        ███ 稳定收交友粉,找我换钱 ██精准粉-产量高-时速快-质量好实力团队大量收粉入群找管理出售长短效HTTP-S5私密IP-高质量
长期收各种小视频网赚资源█        S   合  作        ███收婚恋粉宝妈粉,找我换钱██精准粉-产量高-时速快-质量好实力团队大量收粉入群找管理公司实力收粉进群滴滴管理
长期收各种引流精准网赚粉█   8 2 5 1 3 7 7 7 7  ███收快手火山虎牙,找我换钱██精准粉-产量高-时速快-质量好实力团队大量收粉入群找管理公司实力收粉进群滴滴管理
大量收粉真实粉商长期合作█████████████████长期大量收粉量大量小都吃██精准粉-产量高-时速快-质量好实力团队大量收粉入群找管理公司实力收粉进群滴滴管理
加华缘社群支持免费担保█长期大量收购各种活粉███ 婚恋/抖音/宝妈/空间/快手██精准粉-产量高-时速快-质量好实力团队大量收粉入群找管理公司实力收粉进群滴滴管理
欢迎粉商渠道客户进QQ群█ 长期收购各种引流软件 ████有量有质量,找我换钱███精准粉-产量高-时速快-质量好实力团队大量收粉入群找管理公司实力收粉进群滴滴管理
长期收各种粉真实长期合作大量收代加QQ各种单双向群███实力大型公司收媒体量███精准粉-产量高-时速快-质量好实力团队大量收粉入群找管理公司实力收粉进群滴滴管理
真实网赚量点击进华缘社群现加/拉群/现货单双向群通吃███大量资金,来一手代理███精准粉-产量高-时速快-质量好实力团队大量收粉入群找管理公司实力收粉进群滴滴管理
华缘社Q群号码364884407怕你没量,别怕我没钱███有量就有钱,速度来撩███精准粉-产量高-时速快-质量好实力团队大量收粉入群找管理公司实力收粉进群滴滴管理
公司实力收引流软件渠道收网赚粉 兼职粉 宝妈粉 9703796┃  全网大量收  ┃精准粉-产量高-时速快-质量好实力团队大量收粉入群找管理公司实力收粉进群滴滴管理
公司实力收引流软件渠道收网赚粉 兼职粉 宝妈粉 9703796┃ 各种App交友粉 ┃精准粉-产量高-时速快-质量好实力团队大量收粉入群找管理公司实力收粉进群滴滴管理
公司实力收引流软件渠道大量出各种粉联系QQ222561┃   网赚粉   ┃精准粉-产量高-时速快-质量好实力团队大量收粉入群找管理公司实力收粉进群滴滴管理
公司实力收引流软件渠道大量出各种粉联系QQ222561┃   游戏粉   ┃精准粉-产量高-时速快-质量好实力团队大量收粉入群找管理公司实力收粉进群滴滴管理
公司实力收引流软件渠道┃集团高价回收 WZ 兼职 精准粉┃┃   婚恋粉   ┃出高质量粉,日产多、实力来谈实力团队大量收粉入群找管理公司实力收粉进群滴滴管理
公司实力收引流软件渠道┃ 收一切可用资源QQ:293950 ┃┃  各种活人粉  ┃『实力收扫码进群量』实力团队大量收粉入群找管理公司实力收粉进群滴滴管理
公司实力收引流软件渠道┃集团高价回收 WZ 兼职 精准粉┃┃   短视频粉  ┃『你量真,我需求大』实力团队大量收粉入群找管理公司实力收粉进群滴滴管理
公司实力收引流软件渠道┃ 收一切可用资源QQ:293950 ┃┃ 全网最高单价收购 ┃『 你不乱,我不断 』实力团队大量收粉入群找管理收男粉微信扫码进群QQ584121900
公司实力收引流软件渠道┃集团高价回收 WZ 兼职 精准粉┃无限收学生粉,宝妈,女性粉,游戏粉
『 →qq:12587210←』
寻引流高手合作/1万粉以下勿扰收男粉微信扫码进群QQ584121900
公司实力收引流软件渠道┃ 收一切可用资源QQ:293950 ┃无限收学生粉,宝妈,女性粉,游戏粉
『欢迎实力粉商来撩』
寻引流高手合作/1万粉以下勿扰收男粉微信扫码进群QQ584121900
公司实力收引流软件渠道出QQ群微信QQ号交友粉网赚粉兼职粉无限收学生粉,宝妈,女性粉,游戏粉长期收网赚粉 QQ8904040寻引流高手合作/1万粉以下勿扰收男粉微信扫码进群QQ584121900
公司实力收引流软件渠道█实力招收朋友圈 QQ群 邮件 推广无限收学生粉,宝妈,女性粉,游戏粉实力团队收粉 QQ8904040寻引流高手合作/1万粉以下勿扰收男粉微信扫码进群QQ584121900
公司实力收引流软件渠道国内外长短效HTTP-Socks5高质量IP无限收学生粉,宝妈,女性粉,游戏粉长期收网赚粉 QQ8904040寻引流高手合作/1万粉以下勿扰██████五年推广█邮件代发█
公司实力收引流软件渠道█拨号VPS服务器4元/天免费测试█无限收学生粉,宝妈,女性粉,游戏粉实力团队收网赚粉入群找管理寻引流高手合作/1万粉以下勿扰大量收微信扫码进群男粉2820301656
公司实力收引流软件渠道███高价收购任何粉QQ84888591█无限收学生粉,宝妈,女性粉,游戏粉实力团队收网赚粉入群找管理寻引流高手合作/1万粉以下勿扰高价收网吧量联系QQ1908886662
〓〓〓收粉〓〓〓工作室出-交友粉-速度快-产量高无限收学生粉,宝妈,女性粉,游戏粉实力出粉,诚心来谈,眼子勿扰寻引流高手合作/1万粉以下勿扰高价收网吧量家庭量q2221333978
出精准网赚粉兼职粉
出售QQ群fa网赚精准粉 QQ13395509
无限收学生粉,宝妈,女性粉,游戏粉出抖音热门WZ精准粉Q159907寻引流高手合作/1万粉以下勿扰常年出精准粉 认证空间粉 加群量
出粉QQ克隆代开企业Q群fa短信 95达到率无限收学生粉,宝妈,女性粉,游戏粉寻引流高手合作/1万粉以下勿扰我要租广告位 
查看: 6113|回复: 72
收起左侧

[易源码分享] 【原创】【注释清晰】用超文本做一个程序网页交互(对象方法)!!简单实用!!!

  [复制链接]

签到天数:16 天

结帖率:100% (4/4)
发表于 2018-1-18 16:09:12 | 显示全部楼层 |阅读模式
分享源码
界面截图:
是否带模块: 纯源码
备注说明: -
本帖最后由 1185384801 于 2018-1-19 10:44 编辑

网页交互这个东东相信大家应该知道,可是,现在大部分都是通过WKE,CEF或者是Chrome来实现的,这些并不是属于IE内核的范畴了(是的没错是谷歌),由于这个东东并不是系统自带的,大小嘛就小不到哪儿去了(WKE都要3MB,谷歌的直接就是几十MB了),而且目录不能代中文(坑啊),所以我用了一个很简单的方法实现了用IE浏览框可以实现交互了!!!!(是不是很实用?节约空间又节约脑袋,还可以用网页写界面,不用易语言那个自绘了)
实现方法:
首先创建一个新窗口,画上超文本
  
常量名称常量值公 开备 注
网页数据<文本长度: 1527> 


写写网页部分(复制不了的话下载附件吧)
启动窗口创建完毕
  
子程序名返回值类型公开备 注
__启动窗口_创建完毕  
写到文件 (取运行目录 ()“\bootstrap.min.css”, #CSS )  ' 写出核心的CSS,这是网页自绘的关键
写到文件 (取运行目录 ()“\LOGEN.html”, 到字节集 ( #网页数据 ))  ' 写出网页
超文本浏览框1.跳转 (取运行目录 ()“\LOGEN.html”, , )  ' 加载网页



i支持库列表   支持库注释   
HtmlView超文本浏览框支持库

CSS太大了就不发布了


  <button class="btn btn-primary btn-block" type="submit">登 录</button>
        </div>
        
  <div class="form-group">

  </div>
</form>

<script>
        function login_submit() {
                var username = document.getElementById("user_name").value;
                var password = document.getElementById("user_pwd").value;
                var save = document.getElementById("user_save").checked;
                var auto = document.getElementById("user_auto").checked;
        window.open("OK");
        }
</script>
</body>
</hrml>

window.open("OK");
这个命令是打开一个新窗口的意思
然后你就在子程序“_超文本浏览框1_即将打开新窗口”这里“接盘吧”
  
子程序名返回值类型公开备 注
_超文本浏览框1_即将打开新窗口逻辑型 
如果真 (超文本浏览框1.状态条文本 = “javascript:login_submit();”)  ' javascript:login_submit();是什么意思呢,这是那个按钮的状态条文本的文本哦
超文本的文档对象 = 取网页对象 (取网页句柄 (超文本浏览框1.取窗口句柄 ()))
输出调试文本 (超文本的文档对象.对象型方法 (“getElementById”, “user_name”).读文本属性 (“value”, ))  ' 读取用户名,getElementById() 方法可返回对拥有指定 ID 的第一个对象的引用。
' 说明
' HTML DOM 定义了多种查找元素的方法,除了 getElementById() 之外,还有 getElementsByName() 和 getElementsByTagName()
' 不过,如果您需要查找文档中的一个特定的元素,最有效的方法是 getElementById()
' 在操作文档的一个特定的元素时,最好给该元素一个 id 属性,为它指定一个(在文档中)唯一的名称,然后就可以用该 ID 查找想要的元素。
' GET到ID(易语言GET到对象)后就可以进行取值了!value就是取值的意思。
输出调试文本 (超文本的文档对象.对象型方法 (“getElementById”, “user_pwd”).读文本属性 (“value”, ))
' 同理getElementById,用处一样,读取密码
输出调试文本 (超文本的文档对象.对象型方法 (“getElementById”, “user_save”).读逻辑属性 (“checked”, ))
' checked 属性规定在页面加载时应该被预先选定的 input 元素。
' checked 属性 与   配合使用。
' checked 属性也可以在页面加载后,通过 JavaScript 代码进行设置。
输出调试文本 (超文本的文档对象.对象型方法 (“getElementById”, “user_auto”).读逻辑属性 (“checked”, ))
信息框 (“用户名:” + 超文本的文档对象.对象型方法 (“getElementById”, “user_name”).读文本属性 (“value”, )#换行符“密码:” + 超文本的文档对象.对象型方法 (“getElementById”, “user_pwd”).读文本属性 (“value”, )#换行符“是否记住密码:”到文本 (超文本的文档对象.对象型方法 (“getElementById”, “user_save”).读逻辑属性 (“checked”, )) + #换行符“自动登录:”到文本 (超文本的文档对象.对象型方法 (“getElementById”, “user_auto”).读逻辑属性 (“checked”, )), 0, , )
' 读取命令
返回 ()  ' 为什么返回假?因为我是使用网页跳转的方式来触发读取命令的,返回(假)的目的是为了防止新窗口的打开



i支持库列表   支持库注释   
HtmlView超文本浏览框支持库

代码已写出,是不是注释特别全面呢
取得对象的方法:
  
子程序名返回值类型公开备 注
取网页对象对象 主要就是通过向浏览器发送一个消息,得到资源编号,然后以此为参数通过ObjectFromLresult函数返回一个文档对象,这个文档对象就是IHTMLDocument2 这个接口的指针,然后通过这个接口指针来获取IDispatch接口指针,来访问对象中的属性和方法。
参数名类 型参考可空数组备 注
网页句柄整数型   
变量名类 型静态数组备 注
资源编号整数型  
消息值整数型  
对象对象  
类名文本型  
类名 = 取空白文本 (256)
' 下为取空白文本 (256)的注释
' 取出指定数量的空格
' 有的时候是自己用来排版用的
' 有的是部分API,某些参数需要指定至少多少字节的存储,如果直接文本型不行,那么就声明个文本型变量,并且给字节一样数量的空格,再给API
GetClassName (网页句柄, 类名, 256)  ' 获取指定窗口的类名
如果真 (类名 ≠ “Internet Explorer_Server”)  ' 一般浏览器的类名都是Internet Explorer_Server
返回 (对象)
消息值 = RegisterWindowMessage (“WM_HTML_GETOBJECT”)  ' RegisterWindowMessage 获取分配给一个字串标识符的消息编号
SendMessageTimeout (网页句柄, 消息值, 0, 0, 2, 1000, 资源编号)
ObjectFromLresult (资源编号, { 32, 197, 111, 98, 30, 164, 207, 17, 167, 49, 0, 160, 201, 8, 38, 55 }, 0, 对象)
返回 (对象)
' 2.IE浏览器的体系结构
' IE浏览器的体系结构如图1所示。其中MSHTML是位于SHDOCVW和HTML页面之间的COM对象,SHDOCVW对象用于处理页面的显示,而MSHTML用于处理页面的语法分析,并且将页面中的标记转换为元素。MSHTML是一个COM服务器,允许COM客户Duan程序访问它对外提供的服务。
' 实现IE浏览器嵌入式编程的基本方法是建立COM对象,从而以COM客户Duan程序的形式和MSHTML COM服务器建立连接,然后通过接口回调实现需要的控制功能。也即首先建立COM对象,实现系统规定的若干接口,然后注册COM对象,并且将COM对象的有关信息写入到IE浏览器扩展功能指定的注册表位置。
' 3.易语言操作com原理
' 那问题就归结为操作MSHTML这个组件了,操作组件要通过组件提供的接口来实现。易语言的”对象“数据类型提供这样的操作,接着学习一下,这个数据类型的基本方法都是怎么回事儿。
' 1、对象.创建如对象.创建("APPLICATION.WORD"),应该就是通过以下函数实现。通过提供”APPLICATION.WORD“字符串,易语言函数自动到注册表中搜索组件的类ID,实例化一个组件对象并返回一个指定接口的指针。
' STDAPI CoCreateInstance(
' REFCLSID rclsid,              //创建的Com对象的类标识符(CLSID)
' LPUNKNOWN pUnkOuter, //指向接口IUnknown的指针
' DWORD dwClsContext,     //运行可执行代码的上下文
' REFIID riid,                        //创建的Com对象的接口标识符
' LPVOID * ppv                    //用来接收指向Com对象接口地址的指针变量
' );
' 2、对象.读属性和对象.方法等:是实现IDispatch接口间接调用组件的方法和属性。
' 3、对象.取接口:就是取com对象的其他接口
' 4.易语言操作MSHTML对象原理。
' 通过开源的精易模块-网页填表源码,找到以下核心代码
子程序名返回值类型公开备 注
取网页句柄整数型 
参数名类 型参考可空数组备 注
浏览框句柄整数型   
变量名类 型静态数组备 注
hwnd整数型  
类名文本型  
次数整数型 防止死循环
hwnd = 浏览框句柄
判断循环首 (类名 ≠ “Internet Explorer_Server”)
hwnd = GetWindow (hwnd, #GW_CHILD )
类名 = 取空白文本 (256)
GetClassName (hwnd, 类名, 256)
次数 = 次数 + 1
如果真 (次数 > 10)
返回 (-1)

判断循环尾 ()
返回 (hwnd)
常量名称常量值公 开备 注
GW_CHILD5 

DLL命令名返回值类型公开备 注
ObjectFromLresult整数型 
DLL库文件名:
OLEACC.DLL
在DLL库中对应命令名:
(未填写命令名)
参数名类 型传址数组备 注
lResult整数型  
riid字节集  
wParam整数型  
ppvObject对象  
DLL命令名返回值类型公开备 注
RegisterWindowMessage整数型 ,获取分配给一个字串标识符的消息编号 & C000 到 & FFFF之间的一个消息编号。零意味着出错
DLL库文件名:
(未填写库文件名)
在DLL库中对应命令名:
RegisterWindowMessageA
参数名类 型传址数组备 注
lpString文本型  注册消息的名字;
DLL命令名返回值类型公开备 注
SendMessageTimeout整数型 
DLL库文件名:
(未填写库文件名)
在DLL库中对应命令名:
SendMessageTimeoutA
参数名类 型传址数组备 注
MSG整数型  
hwnd整数型  
wParam整数型  
lParam整数型  
fuFlags整数型  
uTimeout整数型  
lpdwResult整数型 
DLL命令名返回值类型公开备 注
GetWindow整数型 ,获得一个窗口的句柄,该窗口与某源窗口有特定的关系
DLL库文件名:
(未填写库文件名)
在DLL库中对应命令名:
GetWindow
参数名类 型传址数组备 注
源窗口整数型  
关系整数型  
DLL命令名返回值类型公开备 注
GetClassName整数型 
DLL库文件名:
user32.dll
在DLL库中对应命令名:
GetClassNameA
参数名类 型传址数组备 注
句柄整数型  
类名文本型  
文本长度整数型  


再仔细讲讲:
.版本 2


    ' HTML DOM 定义了多种查找元素的方法,除了 getElementById() 之外,还有 getElementsByName() 和 getElementsByTagName()。
    ' 不过,如果您需要查找文档中的一个特定的元素,最有效的方法是 getElementById()。
    ' 在操作文档的一个特定的元素时,最好给该元素一个 id 属性,为它指定一个(在文档中)唯一的名称,然后就可以用该 ID 查找想要的元素。
    ' GET到ID(易语言GET到对象)后就可以进行取值了!value就是取值的意思。
所以你明白”超文本的文档对象.对象型方法 (“getElementById”, “user_name”).读文本属性 (“value”, )“
这个命令的作用了吧,其实就是一个取表的代码(就是填表)
原理很简单,但确实实用,注释也清楚明了,适合新手学习!!!
动动手指,回复下载,求好评
对象型方法网页交互.zip (25.05 KB, 下载次数: 183)

评分

参与人数 6好评 +5 精币 +21 收起 理由
longsui48 + 1 讲的很详细 很适合新手的东西
单身汪 + 1 + 2 还不错,就是得会一些简单的html和dom操作
烟斗 + 1 + 2 感谢发布原创作品,精易因你更精彩!
大飛 + 1 + 4 精易因你更精彩!
凌哥 + 1 + 2 挺好的技巧,只是css渲染方面IE貌似有点差
胆小的老虎 + 1 + 10 感谢发布原创作品,精易因你更精彩!

查看全部评分


您可以选择打赏方式支持楼主

本帖被以下淘专辑推荐:

签到天数: 15 天

发表于 2019-1-13 11:15:48 | 显示全部楼层
写的非常好,谢谢分享!
回复

使用道具 举报

结帖率:100% (11/11)
发表于 2019-1-12 02:27:49 | 显示全部楼层
kan  bu dong   hai de zhua  jin  en  bu
回复

使用道具 举报

签到天数: 1 天

结帖率:100% (5/5)
发表于 2019-1-11 09:16:46 | 显示全部楼层
終究還是走上了一條開源的不歸路!
回复

使用道具 举报

发表于 2019-1-10 10:06:00 | 显示全部楼层
終究還是走上了一條開源的不歸路!
回复

使用道具 举报

签到天数: 8 天

发表于 2019-1-8 16:42:00 | 显示全部楼层
支持开源~!感谢分享
回复

使用道具 举报

签到天数: 10 天

结帖率:25% (3/12)
发表于 2018-12-22 09:17:22 | 显示全部楼层
这个有什么用途呢。。
回复

使用道具 举报

签到天数: 2 天

结帖率:100% (2/2)
发表于 2018-12-16 21:26:56 | 显示全部楼层
666666666666666666
回复

使用道具 举报

发表于 2018-9-22 09:38:39 | 显示全部楼层
感谢楼主的分享,不错哦2222
回复

使用道具 举报

签到天数: 8 天

结帖率:77% (10/13)
发表于 2018-5-26 11:39:07 | 显示全部楼层
好厉害啊
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

关闭

精易论坛 - 有你更精彩上一条 /1 下一条

快速回复 收藏帖子 返回列表 按钮

sitemap|易语言源码|易语言教程|易语言论坛|诚聘英才|易语言模块|手机版|联系我们|精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
揭阳精易科技有限公司申明:我公司所有的培训课程版权归精易所有,任何人以任何方式翻录、盗版、破解本站培训课程,我们必将通过法律途径解决!
公司简介:揭阳市揭东区精易科技有限公司致力于易语言教学培训/易语言学习交流社区的建设与软件开发,多年来为中小企业编写过许许多多各式软件,并把多年积累的开发经验逐步录制成视频课程供学员学习,让学员全面系统化学习易语言编程,少走弯路,减少对相关技术的研究与摸索时间,从而加快了学习进度!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 800073686,邮箱:800073686@b.qq.com
Powered by Discuz! X3.2 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125

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