精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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


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

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

2018年好项目,每月多挣好多钱收抖音火山王者引流:1513888885长期 包养全网交友粉大户┏ E3 E5 X58超强双路服务器 ┓找软件作者合作/收购引流软件出售长短效HTTP-S5私密IP-高质量
2018年好项目,每月多挣好多钱收抖音火山王者引流:1513888885长期 包养全网交友粉大户┃单进程单IP每个模拟器IP不同┃找软件作者合作/收购引流软件出售长短效HTTP-S5私密IP-高质量
全国PPTP秒换IP 动态IP仅35元/月诺宾混拨动态vps/PPTP多地区换IP长期 包养全网交友粉大户┗价格美丽。性能无敌 请咨询┛找软件作者合作/收购引流软件长期出QQ群QQ号微信精准粉网挣粉
大量租售各种qq小号 2892721932出兼职,网赚,交友粉,扫码进群长期 包养全网交友粉大户███大量全新活令牌处Q███找软件作者合作/收购引流软件出兼职粉大公司和量大的来
出微信qq交友粉网赚粉精准粉兼职█IP精灵█最强大的动态IP加速器各种【活粉变现点这里】客服①大量出网赚粉/各种粉/各类用户资源找软件作者合作/收购引流软件出高质量微信男粉QQ:644949998
┏集团收购:一手短信、邮箱群fa┓╔ 大量现金实力收真实粉 ╗各种【活粉变现点这里】客服①高价收购陌陌探探粉找软件作者合作/收购引流软件寻求实力团队
┃集团收购:一手短信、邮箱群fa┃ 日消耗X6一辆,无限收粉各种【活粉变现点这里】客服②高价收购陌陌探探粉找软件作者合作/收购引流软件高效率合作,
┃集团收购:,一手精准群发用户┃ 收粉丶卖粉丶大型①群各种【活粉变现点这里】客服②高价收购陌陌探探粉找软件作者合作/收购引流软件欢迎来扰!!
┃集团收购:,一手精准群发用户┃收粉丶卖粉丶大型①群各种【活粉变现点这里】客服③高价收购陌陌探探粉实力团队大量收粉入群找管理无限收任何量
┗集团收购:-爬取QQ达人会员号┛收粉丶卖粉丶大型①群各种【活粉变现点这里】客服③高价收购陌陌探探粉实力团队大量收粉入群找管理无限收任何量
█无限收各种精准网赚资源█收粉丶卖粉丶大型①群██大量收婚恋宝妈 快手 火山█████大量全新令牌QQ███实力团队大量收粉入群找管理无限收任何量
█无限收各种精准引流资源█收粉丶卖粉丶大型①群██ 稳定收交友粉,找我换钱 █████大量全新令牌QQ███实力团队大量收粉入群找管理无限收任何量
█无限收各种群fa指定话术█收粉丶卖粉丶大型①群██收婚恋粉宝妈粉,找我换钱██长期收交友粉,正规项目、稳定实力团队大量收粉入群找管理无限收任何量
█无限收各种小视频引流粉█收粉丶卖粉丶大型①群██收快手火山虎牙,找我换钱██长期收交友粉,正规项目、稳定实力团队大量收粉入群找管理拒绝骗子
█无限收各种精准网赚资源█收粉丶卖粉丶大型①群██长期大量收粉量大量小都吃██长期收交友粉,正规项目、稳定实力团队大量收粉入群找管理拒绝骗子
█有量支持引QQ/Q群/微信█收粉丶卖粉丶大型①群██ 婚恋/抖音/宝妈/空间/快手██长期收交友粉,正规项目、稳定实力团队大量收粉入群找管理无限收任何量
█欢迎实力来撩,点击进Q群█收粉丶卖粉丶大型①群███有量有质量,找我换钱███长期收交友粉,正规项目、稳定实力团队大量收粉入群找管理无限收任何量
█加星盟社群支持免费担保█收粉丶卖粉丶大型①群███实力大型公司收媒体量███长期收交友粉,正规项目、稳定实力团队大量收粉入群找管理无限收任何量
█无限收粉量真实长期合作█收粉丶卖粉丶大型①群███大量资金,来一手代理███长期收交友粉,正规项目、稳定实力团队大量收粉入群找管理无限收任何量
█星盟社Q群号码859857268█╚ 全网实力最高单价收粉 ╝ ███有量就有钱,速度来撩███长期收交友粉,正规项目、稳定实力团队大量收粉入群找管理无限收任何量
公司实力收引流软件渠道█长期大量收购各种活粉█┃  全网大量收  ┃长期收交友粉,正规项目、稳定实力团队大量收粉入群找管理收男粉微信扫码进群QQ1324888881
公司实力收引流软件渠道█ 长期收购各种引流软件 █┃ 各种App交友粉 ┃长期收交友粉,正规项目、稳定实力团队大量收粉入群找管理收男粉微信扫码进群QQ1324888881
公司实力收引流软件渠道██████QQ处号██████┃   网赚粉   ┃长期收交友粉,正规项目、稳定实力团队大量收粉入群找管理大量收男粉扫码进群QQ1324888881
公司实力收引流软件渠道██████QQ处号██████┃   游戏粉   ┃长期收交友粉,正规项目、稳定实力团队大量收粉入群找管理收男粉微信扫码进群QQ1324888881
公司实力收引流软件渠道定制网站找我┃   婚恋粉   ┃长期收交友粉,正规项目、稳定实力团队大量收粉入群找管理收男粉微信扫码进群QQ1324888881
公司实力收引流软件渠道定制软件找我┃  各种活人粉  ┃长期收交友粉,正规项目、稳定实力团队大量收粉入群找管理大量收各类精准粉加Q2835414471
公司实力收引流软件渠道出少量网赚粉+微信:qunfa000┃   短视频粉  ┃长期收交友粉,正规项目、稳定实力团队大量收粉入群找管理大量收各类精准粉加Q2835414471
公司实力收引流软件渠道出少量网赚粉+微信:qunfa000┃ 全网最高单价收购 ┃『实力收扫码进群量』实力团队大量收粉入群找管理大量收各类精准粉加Q2835414471
公司实力收引流软件渠道┃大量收粉.实力来撩 ┃寻求 媒体量合作 有资源的撩我『你量真,我需求大』寻引流高手合作/1万粉以下勿扰██别收粉了 最新引流技术███
公司实力收引流软件渠道┃   网赚粉   ┃ 寻求 媒体量合作 有资源的撩我『 你不乱,我不断 』寻引流高手合作/1万粉以下勿扰██别收粉了 最新引流技术███
收购跳转微信QQ加粉量Q88128851┃   精准粉   ┃寻求 媒体量合作 有资源的撩我
『 →qq:12587210←』
寻引流高手合作/1万粉以下勿扰██别收粉了 最新引流技术███
大量收微信扫码进群男粉2820301656大量出网赚各种精准粉+Q402345寻求 媒体量合作 有资源的撩我
『欢迎实力粉商来撩』
寻引流高手合作/1万粉以下勿扰出Q群粉联系QQ:492544249
███大公司实力收优质wz量███出高质量家庭量说说 价高 寻求 媒体量合作 有资源的撩我
█实力公司收网赚兼职粉█
寻引流高手合作/1万粉以下勿扰出网赚粉 兼职粉
———长期WZ户运营与邮件群fa出微信国内老号,引流稳定不封。大量出活令牌处号一个月号█拨号VPS服务器4元/天免费测试█寻引流高手合作/1万粉以下勿扰███大量全新令牌QQ███
收微信扫码进群男粉QQ:854122288出QQ群微信QQ号交友粉网赚粉兼职粉大量出活令牌处号一个月号百变IP-每日大量代理IP欢迎合作寻引流高手合作/1万粉以下勿扰收Q粉微信扫码进群qq:2591360085
短信群fa-三网爆卡-量足███QQ小号自动发货平台███大量出活令牌处号一个月号高价收网吧量联系QQ1908886662寻引流高手合作/1万粉以下勿扰我要租广告位
查看: 5429|回复: 65
收起左侧

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

  [复制链接]

签到天数:4 天

结帖率: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, 下载次数: 171)

评分

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

查看全部评分


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

本帖被以下淘专辑推荐:

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

使用道具 举报

签到天数: 12 天

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

使用道具 举报

签到天数: 15 天

结帖率:94% (65/69)
发表于 2018-5-5 23:31:14 | 显示全部楼层
是不是可以用这个做个动态界面了
回复

使用道具 举报

结帖率:67% (2/3)
发表于 2018-4-25 21:43:55 | 显示全部楼层
这个有点厉害了,支持
回复

使用道具 举报

签到天数: 14 天

发表于 2018-4-8 14:40:15 | 显示全部楼层
精易因你更精彩!
回复

使用道具 举报

结帖率:100% (1/1)
发表于 2018-3-11 14:59:32 | 显示全部楼层
【原创】【注释清晰】用超文本做一个程序网页交互(对象方法)!!简单实用!!!
回复

使用道具 举报

发表于 2018-3-7 21:09:59 | 显示全部楼层
支持支持看看
回复

使用道具 举报

签到天数: 4 天

发表于 2018-3-6 05:34:18 | 显示全部楼层
感谢楼主分享!~
回复

使用道具 举报

结帖率:50% (3/6)
发表于 2018-2-23 02:21:20 | 显示全部楼层
        支持开源~!感谢分享
回复

使用道具 举报

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

本版积分规则 致发广告者

关闭

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

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

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

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