精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

新人指南 邀请好友注册 - 论坛浏览速度太慢? 教你赚取精币 - 每日签到

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

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

搜索
订阅<精易模块>源码若快打码 快速★准确★稳定★便宜2017年好项目,每月多挣好多钱██【免费网络验证】无需服务器█收购所有量,所有粉,有量的速度来██打码兔秒杀一切验证码██
全国PPTP秒换IP 动态IP仅35元/月
若快打码 快速★准确★稳定★便宜
2017年好项目,每月多挣好多钱
██【易卡发卡平台】无需服务器█
收购所有量,所有粉,有量的速度来█打码兔答题 速度快 极稳定█
★滴滴答题★8元万码★分成任加★火眼答题-韩文日文-高质量答题集团重金收量
██免费网络验证 收款即时到帐█
收购所有量,所有粉,有量的速度来云速打码全天50%分成★稳定★快速
┏高价收各种量,运营商,分光等┓
收购一切流量☞QQ:503830000☜集团重金收量Thewolf语音验证码接收平台可API收购所有量,所有粉,有量的速度来大量收购一切流量  995799457
┆       高价sp短信用户量       ┆
┏--长期收购各类成品引流软件--┓
集团重金收量
收网吧转发空间QQ:1513888885
收购所有量,所有粉,有量的速度来┏ °短信群发内容成功率百分百°┓
┆      收购各种游戏注册量     ┆
║ 长期收购针对性精准QQ人群 ║
集团重金收量
收网吧转发空间QQ:1513888885
收购所有量,所有粉,有量的速度来┃ °手机短信群发广告量找老板°┃
┆     联系qq:985013583    ┆
║    合作QQ:2665555557    ║
集团重金收量
┏██人傻钱多 QQ:753310██┓
收购所有量,所有粉,有量的速度来
┃ °短信内容不限制实力接单中°┃
┗------高价sp短信用户量-------┛
║ 长期诚聘各大引擎SEO合作  ║
集团重金收量
█ 收成品群/成品号/成品微信  █
收购所有量,所有粉,有量的速度来
┃  °一手卡发机房100%不扣量°┃
长期收购微信各种推广渠道
┗-收针对性人群引流加Q群流量┛
集团重金收量
█    收男粉/精准粉/网赚粉     █
收购所有量,所有粉,有量的速度来
┗低价出各类广告QQ:5690990┛
长期收购微信各种推广渠道
█Q群活人进群  适合炒群█
集团重金收量
█反正就是人傻钱多收各种活粉█
收购所有量,所有粉,有量的速度来
┏x58双路租机,模拟器24开  ┓
长期收购微信各种推广渠道
█出 网赚 精准粉 日出3000人█
集团重金收量
┗██  菲律宾集团诚招合作 ██┛
收购所有量,所有粉,有量的速度来
┗单进程单IP,最低15元一天 ┛
长期收购微信各种推广渠道
█q1360360520 欢迎骚扰█
集团重金收量
★熊猫人气★24小时自助平台★收购所有量,所有粉,有量的速度来┏实力收各种推广引流渠道和资源┓
长期收购微信各种推广渠道实力收微信引流各类推广渠道集团重金收量█NOW直播人气代挂Qq:5919620█收购所有量,所有粉,有量的速度来┃实力收各种推广引流渠道和资源┃
长期收购微信各种推广渠道
实力收微信引流各类推广渠道集团重金收量
网吧加群空间转发逆向等qq;771112
收购所有量,所有粉,有量的速度来┃实力收各种推广引流渠道和资源┃
长期收购微信各种推广渠道
实力收微信引流各类推广渠道集团重金收量
大量出售微信老号QQ907637
收购所有量,所有粉,有量的速度来┃实力收各种推广引流渠道和资源┃
长期收购微信各种推广渠道
实力收微信引流各类推广渠道
集团重金收量
常年收网吧/家庭量/人气号/独家项目
收购所有量,所有粉,有量的速度来
┃实力收各种推广引流渠道和资源┃
长期收购微信各种推广渠道
明年扩大规模
集团重金收量
常年收网吧/家庭量/人气号/独家项目收购所有量,所有粉,有量的速度来┃实力收各种推广引流渠道和资源┃
长期收购微信各种推广渠道
长期收各种引流资源
集团重金收量常年收网吧/家庭量/人气号/独家项目收购所有量,所有粉,有量的速度来┃实力收各种推广引流渠道和资源┃
长期收购微信各种推广渠道
急需作者一名
集团重金收量
常年收网吧/家庭量/人气号/独家项目收购所有量,所有粉,有量的速度来┃高价寻原生态APP开发上架高手┃
长期收购微信各种推广渠道
收各种引流思路
集团重金收量
常年收网吧/家庭量/人气号/独家项目收购所有量,所有粉,有量的速度来┃高价寻SEO优化高手介绍有红包┃
长期收购微信各种推广渠道
求贤若渴礼贤下士
集团重金收量收购所有量,所有粉,有量的速度来收购所有量,所有粉,有量的速度来┃实力收各种推广引流渠道和资源┃
长期收购微信各种推广渠道
国外财团诚邀引流技术大神合作集团重金收量收购所有量,所有粉,有量的速度来收购所有量,所有粉,有量的速度来┃实力收各种推广引流渠道和资源┃
长期收购微信各种推广渠道
国外实力财团
集团重金收量
收购所有量,所有粉,有量的速度来收购所有量,所有粉,有量的速度来┃实力收各种推广引流渠道和资源┃
长期收购微信各种推广渠道
长期收网赚/男粉/精准粉集团重金收量收购所有量,所有粉,有量的速度来收购所有量,所有粉,有量的速度来┃实力收各种推广引流渠道和资源┃
长期收购微信各种推广渠道
收各种引流思路集团重金收量收购所有量,所有粉,有量的速度来收购所有量,所有粉,有量的速度来┃实力收各种推广引流渠道和资源┃
长期收购微信各种推广渠道
招募各路引流大神集团重金收量收微信粉 QQ联系:2286852884收购所有量,所有粉,有量的速度来┃实力收各种推广引流渠道和资源┃
长期收购微信各种推广渠道
 ▇QQ实用软件技术▇不定时更新▇ 
集团重金收量大量租售各种qq小号 2892721932收购所有量,所有粉,有量的速度来┗实力收各种推广引流渠道和资源┛
长期收购微信各种推广渠道
长期出网吧量QQ:526661集团重金收量【蚂蚁收发验证平台可专属对接】收购所有量,所有粉,有量的速度来
无限收网吧量Q:345671
长期收购微信各种推广渠道
█IP精灵█最强大的动态IP加速器
集团重金收量
独家手机号转wxid,代加通讯录粉
收购所有量,所有粉,有量的速度来
收购手机充值卡·卡密Q75939058
长期收购微信各种推广渠道
☆收微信公众号粉丝.日结
集团重金收量
出微信老号加Q19551346
收购所有量,所有粉,有量的速度来
☆收微信公众号粉丝.日结
长期收购微信各种推广渠道
OCR专业识别/通用文字/名片/手写
集团重金收量长期无限收购女性Q好友微信好友收购所有量,所有粉,有量的速度来王者转盘量+Q3006306
集团重金收量收购所有量,所有粉,有量的速度来 我要租广告位   
查看: 2538|回复: 57
收起左侧

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

  [复制链接]

签到天数:25 天

结帖率: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, 下载次数: 100, 售价: 1 枚 精币)

评分

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

查看全部评分


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

本帖被以下淘专辑推荐:

签到天数: 10 天

结帖率:100% (3/3)
发表于 前天 02:21 | 显示全部楼层
        支持开源~!感谢分享
回复

使用道具 举报

发表于 2018-2-16 21:48:21 | 显示全部楼层
研究下怎么个玩法
回复

使用道具 举报

结帖率:100% (2/2)
发表于 2018-2-5 21:02:27 | 显示全部楼层
交互就可以随时更新细节了。
回复

使用道具 举报

发表于 2018-2-4 19:26:00 | 显示全部楼层
支持一下!!!!!!!!!!!!!支持支持
回复

使用道具 举报

发表于 2018-2-4 19:25:41 | 显示全部楼层
支持一下!!!!!!!!!!!!!支持支持
回复

使用道具 举报

签到天数: 24 天

发表于 2018-2-4 14:37:36 | 显示全部楼层
感谢发布原创作品,精易因你更精彩!
回复

使用道具 举报

发表于 2018-2-1 08:56:57 | 显示全部楼层
在这里默默的支持楼主一下
回复

使用道具 举报

签到天数: 6 天

结帖率:100% (1/1)
发表于 2018-1-29 14:06:37 | 显示全部楼层
不用下附件挺好~
回复

使用道具 举报

结帖率:0% (0/1)
发表于 2018-1-29 08:34:49 | 显示全部楼层
感谢感谢,下载学习!
回复

使用道具 举报

结帖率:100% (2/2)
发表于 2018-1-28 10:49:36 | 显示全部楼层
都是人才。
回复

使用道具 举报

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

本版积分规则 致发广告者

关闭

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

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

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

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