vfp 自动填写网页

http://topic.csdn.net/u/20100818/10/02013645-7e0a-426c-a5b3-0b298a8a9a47.html

回4楼:

运行结果,提示出错,出错内容为: 

"document不是一个对象"
 
 
回复次数: 19

 

#1楼 得分:0回复于:2010-08-20 15:50:55
我的步骤是:

1 工具-选项-控件-找到microsoft web 浏览器--勾上--确定

2 新建一个表单,新建ActiveX控件,更名为 OleWebBrowse

3 双击此控件,在init处写入代码 This.Navigate("http://www.lzk.hl.cn/ptgk/default.asp")

4 新建一个command按钮,在此按钮的Click里写上代码:

Thisform.OleWebBrowse.Document.Forms("form1").zkzh.Value="1234567890"
Thisform.OleWebBrowse.Document.Forms("form1").ksxm.Value="张三"
Thisform.OleWebBrowse.Document.Forms("form1").Submit

5 结果提示出错 "document不是一个对象"

我如何操作的,已经详细描述,请老师帮看看我哪里出错了?

我用的是vfp 9.0
 
#2楼 得分:0回复于:2010-08-20 16:21:50
楼主你这样问真不是办法,有什么问题先GOOGLE了再说,不要走一步就问一下,是人看到你这样问法都怕了
 
#3楼 得分:0回复于:2010-08-20 16:29:08
看一下你添加到表单上的 ActiveX 控件的 OleClass 是什么?

上面代码我是好用的。
 
#4楼 得分:0回复于:2010-08-20 16:32:51
表单上的 ActiveX 控件的 OleClass 是空,什么内容也没有.

而且是灰色的,不可以写入东西
 
#5楼 得分:0回复于:2010-08-20 16:50:30
灰色是对的,不过应该有内容,应该是:Shell.Explorer.2
 
#6楼 得分:0回复于:2010-08-20 16:52:38
那我这里面没有东西在里面,该怎么办呢?
 
#7楼 得分:0回复于:2010-08-20 16:58:04
换个计算机试一下。
如果没有其他计算机,试着重装系统或安装个IE8试试。
 
#8楼 得分:0回复于:2010-08-20 17:01:22
好的. 我来试一下

今天试不成了,到点下班了.

明天哦.

明天告诉你结果.

谢谢你了,老师.
 
  • dkfdtf用户头像
  • dkfdtf
  • (都市夜猫)
  • 等 级:
#9楼 得分:0回复于:2010-08-20 23:08:03
只有等网页下载完成后,解析器才会构造出需要的对象,而下载完整个网页是需要时间的,特别是在网页内容较多或网速较慢的情况下。

这样试试:
1. 按钮的 Enabled 初始值设为 .F. 
2. WebBrowse 控件的 DocumentComplete 事件中写入:
  Thisform.Command1.Enabled = .T.

这样你可以看到,网页是在什么时候下载完成并启用按钮的。
 
#10楼 得分:0回复于:2010-08-21 08:24:23
回十豆三老师:

已经换了二台计算机试了。 && 还是老问题(OleClass 是空)
已经重装系统(我的电脑有一键还原功能). && 还是老问题(OleClass 是空)
安装IE8试试。 && 还是老问题(OleClass 是空)

回都市夜猫老师:
没有找到 OleWebBrowse 控件的 DocumentComplete 属性,我是不是要增加一下属性?
 
#11楼 得分:0回复于:2010-08-21 08:26:55
同时,我在VFP 6.0和VFP 9.0环境下都测试过了, OleClass 始终是灰色,且为空.
 
#12楼 得分:0回复于:2010-08-21 08:27:43
当然,我用VFP 6.0,只是想测试一下.

正常情况下,我都用VFP 9.0最新版本.
 
#13楼 得分:0回复于:2010-08-21 09:37:01
DocumentComplete 属性 是此控件自带的属性,网页加载完成后发生此事件。
 
#14楼 得分:0回复于:2010-08-21 09:48:25
确实没有找着 DocumentComplete 属性.

恕在下愚钝. 我是严格按照1楼的操作步骤做的,就是没有找着此控件.
 
#15楼 得分:80回复于:2010-08-21 10:24:39
VFP9.0
你新一下PRG程序,将以下代码粘到此PRG程序中,运行这个PRG程序试试:

SQL code
            
            
Public oform1 oform1 = Newobject("form1") oform1.Show Return Define Class form1 As Form Top = 0 Left = 0 Height = 571 Width = 933 ShowWindow = 1 DoCreate = .T. Caption = "Form1" WindowType = 1 Name = "form1" Add Object olewebbrowse As OleControl With ; Top = 12 , ; Left = 12 , ; Height = 540 , ; Width = 804 , ; Name = "OleWebBrowse", ; OleClass = "Shell.Explorer. 2 ", ; OleLCID = 1033 Add Object command1 As CommandButton With ; Top = 107 , ; Left = 835 , ; Height = 28 , ; Width = 79 , ; Caption = "查询测试", ; Enabled = .F., ; Name = "Command1" Procedure olewebbrowse.DocumentComplete *** ActiveX Control Event *** Lparameters pdisp, url Thisform.Command1.Enabled = .T. Endproc Procedure olewebbrowse.Init This.Navigate("http: // www.lzk.hl.cn / ptgk / default .asp") Endproc Procedure command1.Click Thisform.OleWebBrowse.Document.Forms("form1").zkzh.Value = " 1234567890 " Thisform.OleWebBrowse.Document.Forms("form1").ksxm.Value = "张三" Thisform.OleWebBrowse.Document.Forms("form1").Submit Endproc Enddefine


 
 
#16楼 得分:0回复于:2010-08-21 10:30:26
OK了

谢谢老师
 
#17楼 得分:0回复于:2010-08-21 10:30:53
15楼的代码,会有许多人采用,绝对的.
 
#18楼 得分:0回复于:2010-08-21 10:32:55
真是太好了,越看越欢喜.
第一节 Xbase系列数据库产品概述   数据库理论的研究在七十年代后期进入较为成熟的阶段,随着八十年代初 IBM/PC及其兼容机的广泛使用,数据库产品的代表作之一,Ashton-Tate公司开发的dBASE很快进入微机世界,成为一个相当普遍而且受欢迎的数据库管理系统。用户只需键入简单的命令,即可轻易完成数据库的建立,增添、修改、查询、索引以及产生报表或标签,或者利用其程序语言开发应用系统程序。由于它易于使用,功能较强,很快成为八十年代中期的主导数据库系统(极盛时期曾在个人计算机的数据库管理系统市场上的占有率高达80-85%)。继dBASE II 之后,dBASE III,dBASE III Plus 以及dBASE IV相继诞生,其功能逐渐增强。   但是,dBASE存在的一些缺陷使其应用受到越来越大的限制。首先,它运行速度慢,这在建立大型数据库时显得尤为突出。其次,早期的dBASE不带编译器,仅是解释执行,后来虽然增加了编译器,但编译与解释执行时存在许多差异。再就是它的设计标准,随着dBASE增强版本的出现,由于各版本之间不相兼容,其标准变得越来越模糊,Ashton-Tate公司不再定义dBASE标准,就连dBASE IV本身也未按标准设计。后来,人们常用Xbase来表示各种数据库管理系统的程序设计语言。 致力于改进dBASE语言软件公司的着眼点则放在兼顾挂靠速度与友好性。其做法是:继续保有如dBASE般以交互式与用户双向通信的用户界面,以维持其友好性;对于程序,将其转成非常接近机器码的中间码,以节省汇编时间增快其执行速度。 从事该项工作之一的Fox Software 正是看到了dBASE在性能与速度上存在的问题,也预见到了PC平台上DBMS的巨大潜力,在成立后的第二年(1984年)便推出了与dBASE全兼容的FoxBASE,其速度大大快于dBASE,并且在FoxBASE中第一次引入了编译器。 1986年,与dBASE III Plus兼容的FoxBASE+推出后不久,FoxPro/LAN也投入市场,一时间引起轰动。 1987年之后相继推出了FoxBASE+ 2.0和2.10,这两个产品不仅速度上超越其前期产品,而且还扩充了对开发者极其有用的语言,并提供了良好的界面和较为丰富的工具。 人们预测,随着软件技术的快速发展,PC DBMS(数据库管理系统)必将发生巨大的变化。它将越来越易于使用,为各个层次的用户完成底层复杂的工作;它将提供更完整、更标准的Xbase语言和丰富的工具,并且具有面向对象的特点;多媒体技术将引入,人们可以建立其上的分布式数据库来存取各种数据而无需考虑这些数据的物理位置。为了顺应这一发展趋势,FoxPro 诞生了,它旨在创建Xbase语言的标准,它的每一个版本都向这一方向努力,其功能越来越完善和丰富。 1989年下半年,FoxPro 1.0 正式推出,它首次引入了基于 DOS 环境的窗口技术 COM (面向字符的窗口),用户使用的界面再也不是圆点,而是能产生圆点提示下等效命令的菜单系统。它支持鼠标,操作方便,是一个与dBASE、FoxBASE全兼容的编译型集成环境式的数据库系统。 1991年,FoxPro 2.0推出。由于使用了Rushmore 查询优化技术、先进的关系查询与报表技术以及整套第四代语言工具,FoxPro 2.0在性能上大幅度地提高了。它面向对象与事件,其扩展版充分使用全部现存的扩展内存,是一个真正的32位产品。它除了支持 FoxPro先前版本的全部功能外,还增加了100多条全新的命令与函数,从而使得FoxPro 的程序设计语言逐步成为Xbase 语言的标准。在与dBASE IV、Paradox、Clipper等同时期其他竞争产品一起参加基准测试中,FoxPro 能以百倍快的速度大大超越其它竞争者。因此,该公司常用的广告用语为“Nothing Runs Like The Fox”(没有东西跑得像狐狸那么快)。 FoxPro2.0 第一次引入SQL结构化设计语言以及和直观的按例关系查询;它采用存入备注数据字段的方式,不产生独立存在的 .obj 文件;其目标程序若再配合 Fox Distribution Kit 链接后即变成可直接在DOS下执行的.exe文件;同时,它支持鼠标操作,不需额外处理即允许用户在程序中加入鼠标功能;它的应用程序生成器(application buikder)、特有的项目管理程序(project manager),在寻找文件、记录文件所在位置以及处理编译后的目标程序的方式,是同一时期,其他同类产品所不能比拟的。这使得FoxPro荣获当年度美国诸多杂志所评选取的多项优秀成果奖。 1992年微软收购了Fox 公司,把FoxPro纳入自己的产品中。它利用自身的技术优势和巨大的资源,在不长的时间里开发出FoxPro2.5、FoxPro2.6等大约20个软件产品及其相关产品,包括DOS、Windows、Mac和UNIX四个平台的软件产品。1995年6月,微软推出了Visual FoxPro 3.0版。接着又很快推出Visual FoxPro 5.0及其中文版。1998年发布了可视化编程语言集成包Visual Stadio 6.0 ,本课程介绍的Visual FoxPro 6.0(中文版)就是其中的一员。它是可运行于Windows95/98,Windows NT 平台的32位数据库开发系统。它是能充分发挥32位微处理器的强大功能,直观易用的编程工具。其强大的功能将在下一节中加以介绍。 注:1、在本课程中,如不说明,Visual FoxPro及VFP6.0 都指的是(中文版)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值