vfp9.0 中的ca的使用方法

君,已阅读到文档的结尾了呢~~
CA19-9中文说明书
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
CA19-9中文说明书
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer--144.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口CA19-9中文说明书_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
CA19-9中文说明书
上传于||文档简介
&&罗​氏​E7试​剂​说​明​书
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
定制HR最喜欢的简历
你可能喜欢共有 1006 人关注过本帖
标题:请教:下面是张洪举VFP9中的用类定义写的代码为什么不能运行?
等 级:论坛游侠
帖 子:1314
专家分:101
结帖率:77.63%
&&已结贴√
&&问题点数:20&&回复次数:12&&&
请教:下面是张洪举VFP9中的用类定义写的代码为什么不能运行?
PUBLIC oform1
oform1=NEWOBJECT(&form1&)
oform1.Show
&&& **************************************************
*-- Form:&&&&&&&&&form1 (d:\vfp8jc\基础篇\10\software\10.3.15\form6.scx)
*-- ParentClass:&&form
*-- BaseClass:&&& form
*-- Time Stamp:&&&01/29/04 05:14:10 PM
DEFINE CLASS form1 AS form
&&& Top = 0
&&& Left = 0
&&& Height = 231
&&& Width = 406
&&& DoCreate = .T.
&&& Caption = &单击列标头排序示例&
&&& Name = &form1&
&&& ADD OBJECT form1.grid1 AS grid WITH ;
&&&&&&&&ColumnCount = 7, ;
&&&&&&&&ChildOrder = &语文成绩&, ;
&&&&&&&&DeleteMark = .F., ;
&&&&&&&&Height = 189, ;
&&&&&&&&Left = 6, ;
&&&&&&&&Panel = 1, ;
&&&&&&&&RecordMark = .F., ;
&&&&&&&&RecordSource = &tblstudent&, ;
&&&&&&&&SplitBar = .F., ;
&&&&&&&&Top = 6, ;
&&&&&&&&Width = 390, ;
&&&&&&&&GridLineColor = RGB(128,128,128), ;
&&&&&&&&LockColumns = 2, ;
&&&&&&&&Name = &Grid1&, ;
&&&&&&&&Column1.ControlSource = &tblstudent.学号&, ;
&&&&&&&&Column1.Width = 59, ;
&&&&&&&&Column1.Name = &Column1&, ;
&&&&&&&&Column2.ControlSource = &tblstudent.姓名&, ;
&&&&&&&&Column2.Width = 62, ;
&&&&&&&&Column2.Name = &Column2&, ;
&&&&&&&&Column3.ControlSource = &tblstudent.学期&, ;
&&&&&&&&Column3.Width = 54, ;
&&&&&&&&Column3.Name = &Column3&, ;
&&&&&&&&Column4.ControlSource = &tblstudent.语文成绩&, ;
&&&&&&&&Column4.Width = 71, ;
&&&&&&&&Column4.Name = &Column4&, ;
&&&&&&&&Column5.ControlSource = &tblstudent.数学成绩&, ;
&&&&&&&&Column5.Width = 67, ;
&&&&&&&&Column5.Name = &Column5&, ;
&&&&&&&&Column6.ControlSource = &tblstudent.英语成绩&, ;
&&&&&&&&Column6.Width = 90, ;
&&&&&&&&Column6.Name = &Column6&, ;
&&&&&&&&Column7.ControlSource = &tblstudent.总成绩&, ;
&&&&&&&&Column7.Width = 90, ;
&&&&&&&&Column7.Name = &Column7&
&&& ADD OBJECT form1.grid1.column1.header1 AS header WITH ;&&&**提示语法错误,以下只要是add object from1.grid1.column..... with 都提示语法错误
&&&&&&&&Caption = &学号&, ;
&&&&&&&&Name = &Header1&
&&& ADD OBJECT form1.grid1.column1.text1 AS textbox WITH ;
&&&&&&&&BorderStyle = 0, ;
&&&&&&&&Margin = 0, ;
&&&&&&&&ForeColor = RGB(0,0,0), ;
&&&&&&&&BackColor = RGB(255,255,255), ;
&&&&&&&&Name = &Text1&
&&& ADD OBJECT form1.grid1.column2.header1 AS header WITH ;
&&&&&&&&Caption = &姓名&, ;
&&&&&&&&Name = &Header1&
&&& ADD OBJECT form1.grid1.column2.text1 AS textbox WITH ;
&&&&&&&&BorderStyle = 0, ;
&&&&&&&&Margin = 0, ;
&&&&&&&&ForeColor = RGB(0,0,0), ;
&&&&&&&&BackColor = RGB(255,255,255), ;
&&&&&&&&Name = &Text1&
&&& ADD OBJECT form1.grid1.column3.header1 AS header WITH ;
&&&&&&&&Caption = &学期&, ;
&&&&&&&&Name = &Header1&
&&& ADD OBJECT form1.grid1.column3.text1 AS textbox WITH ;
&&&&&&&&BorderStyle = 0, ;
&&&&&&&&Margin = 0, ;
&&&&&&&&ForeColor = RGB(0,0,0), ;
&&&&&&&&BackColor = RGB(255,255,255), ;
&&&&&&&&Name = &Text1&
&&& ADD OBJECT form1.grid1.column4.header1 AS header WITH ;
&&&&&&&&Caption = &语文成绩&, ;
&&&&&&&&Picture = &up.bmp&, ;
&&&&&&&&Name = &Header1&
&&& ADD OBJECT form1.grid1.column4.text1 AS textbox WITH ;
&&&&&&&&BorderStyle = 0, ;
&&&&&&&&Margin = 0, ;
&&&&&&&&ForeColor = RGB(0,0,0), ;
&&&&&&&&BackColor = RGB(255,255,255), ;
&&&&&&&&Name = &Text1&
&&& ADD OBJECT form1.grid1.column5.header1 AS header WITH ;
&&&&&&&&Caption = &数学成绩&, ;
&&&&&&&&Name = &Header1&
&&& ADD OBJECT form1.grid1.column5.text1 AS textbox WITH ;
&&&&&&&&BorderStyle = 0, ;
&&&&&&&&Margin = 0, ;
&&&&&&&&ForeColor = RGB(0,0,0), ;
&&&&&&&&BackColor = RGB(255,255,255), ;
&&&&&&&&Name = &Text1&
&&& ADD OBJECT form1.grid1.column6.header1 AS header WITH ;
&&&&&&&&Caption = &英语成绩&, ;
&&&&&&&&Name = &Header1&
&&& ADD OBJECT form1.grid1.column6.text1 AS textbox WITH ;
&&&&&&&&BorderStyle = 0, ;
&&&&&&&&Margin = 0, ;
&&&&&&&&ForeColor = RGB(0,0,0), ;
&&&&&&&&BackColor = RGB(255,255,255), ;
&&&&&&&&Name = &Text1&
&&& ADD OBJECT form1.grid1.column7.header1 AS header WITH ;
&&&&&&&&Caption = &总成绩&, ;
&&&&&&&&Name = &Header1&
&&& ADD OBJECT form1.grid1.column7.text1 AS textbox WITH ;
&&&&&&&&BorderStyle = 0, ;
&&&&&&&&Margin = 0, ;
&&&&&&&&ForeColor = RGB(0,0,0), ;
&&&&&&&&BackColor = RGB(255,255,255), ;
&&&&&&&&Name = &Text1&
&&& ADD OBJECT command1 AS commandbutton WITH ;
&&&&&&&&Top = 201, ;
&&&&&&&&Left = 285, ;
&&&&&&&&Height = 25, ;
&&&&&&&&Width = 94, ;
&&&&&&&&Caption = &关闭(\&C)&, ;
&&&&&&&&Name = &Command1&
&&& PROCEDURE header1.Click
&&&&&&&&LOCAL lnRecno
&&&&&&&&lnRecno=IIF(EOF() OR BOF(),1,RECNO())&&&&保存当前记录号
&&&&&&&&IF UPPER(JUSTSTEM(This.Picture))=&UP&
&&&&&&&&&&&&This.Picture=&Down.bmp&
&&&&&&&&&&&&SET ORDER TO 语文成绩 DESCENDING&&&&&降序排列
&&&&&&&&ELSE
&&&&&&&&&&&&This.Picture=&Up.bmp&
&&&&&&&&&&&&SET ORDER TO 语文成绩 ASCENDING&&& &&升序排列
&&&&&&&&ENDIF
&&&&&&&&Thisform.Refresh&&
&&&&&&&&GO lnRecno
&&& ENDPROC
&&& PROCEDURE command1.Click
&&&&&&&&RELEASE Thisform
&&& ENDPROC
*-- EndDefine: form1
**************************************************
[ 本帖最后由 sylknb 于
12:41 编辑 ]
附件: 您没有浏览附件的权限,请
搜索更多相关主题的帖子:
等 级:贵宾
威 望:304
帖 子:25793
专家分:48814
不需要form1.,把这6个字符删掉!
授人以渔,不授人以鱼。
等 级:版主
威 望:131
帖 子:6194
专家分:13659
看下帮助文件中VFP语法的应用
等 级:论坛游侠
帖 子:1314
专家分:101
我把下面14处的form1删除后,还是提示语法错误
ADD OBJECT grid1.column1.header1 AS header WITH ;&&
&&&&&&&&Caption = &学号&, ;
&&&&&&&&Name = &Header1&
&&& ADD OBJECT grid1.column1.text1 AS textbox WITH ;
&&&&&&&&BorderStyle = 0, ;
&&&&&&&&Margin = 0, ;
&&&&&&&&ForeColor = RGB(0,0,0), ;
&&&&&&&&BackColor = RGB(255,255,255), ;
&&&&&&&&Name = &Text1&
&&& ADD OBJECT grid1.column2.header1 AS header WITH ;
&&&&&&&&Caption = &姓名&, ;
&&&&&&&&Name = &Header1&
&&& ADD OBJECT grid1.column2.text1 AS textbox WITH ;
&&&&&&&&BorderStyle = 0, ;
&&&&&&&&Margin = 0, ;
&&&&&&&&ForeColor = RGB(0,0,0), ;
&&&&&&&&BackColor = RGB(255,255,255), ;
&&&&&&&&Name = &Text1&
&&& ADD OBJECT grid1.column3.header1 AS header WITH ;
&&&&&&&&Caption = &学期&, ;
&&&&&&&&Name = &Header1&
&&& ADD OBJECT grid1.column3.text1 AS textbox WITH ;
&&&&&&&&BorderStyle = 0, ;
&&&&&&&&Margin = 0, ;
&&&&&&&&ForeColor = RGB(0,0,0), ;
&&&&&&&&BackColor = RGB(255,255,255), ;
&&&&&&&&Name = &Text1&
&&& ADD OBJECT grid1.column4.header1 AS header WITH ;
&&&&&&&&Caption = &语文成绩&, ;
&&&&&&&&Picture = &up.bmp&, ;
&&&&&&&&Name = &Header1&
&&& ADD OBJECT grid1.column4.text1 AS textbox WITH ;
&&&&&&&&BorderStyle = 0, ;
&&&&&&&&Margin = 0, ;
&&&&&&&&ForeColor = RGB(0,0,0), ;
&&&&&&&&BackColor = RGB(255,255,255), ;
&&&&&&&&Name = &Text1&
&&& ADD OBJECT grid1.column5.header1 AS header WITH ;
&&&&&&&&Caption = &数学成绩&, ;
&&&&&&&&Name = &Header1&
&&& ADD OBJECT grid1.column5.text1 AS textbox WITH ;
&&&&&&&&BorderStyle = 0, ;
&&&&&&&&Margin = 0, ;
&&&&&&&&ForeColor = RGB(0,0,0), ;
&&&&&&&&BackColor = RGB(255,255,255), ;
&&&&&&&&Name = &Text1&
&&& ADD OBJECT grid1.column6.header1 AS header WITH ;
&&&&&&&&Caption = &英语成绩&, ;
&&&&&&&&Name = &Header1&
&&& ADD OBJECT grid1.column6.text1 AS textbox WITH ;
&&&&&&&&BorderStyle = 0, ;
&&&&&&&&Margin = 0, ;
&&&&&&&&ForeColor = RGB(0,0,0), ;
&&&&&&&&BackColor = RGB(255,255,255), ;
&&&&&&&&Name = &Text1&
&&& ADD OBJECT grid1.column7.header1 AS header WITH ;
&&&&&&&&Caption = &总成绩&, ;
&&&&&&&&Name = &Header1&
&&& ADD OBJECT grid1.column7.text1 AS textbox WITH ;
&&&&&&&&BorderStyle = 0, ;
&&&&&&&&Margin = 0, ;
&&&&&&&&ForeColor = RGB(0,0,0), ;
&&&&&&&&BackColor = RGB(255,255,255), ;
&&&&&&&&Name = &Text1&
等 级:贵宾
威 望:304
帖 子:25793
专家分:48814
grid1下面的控件不是这样用add object加上去的,我都不知道张当初写这段代码怎么能通得过(可能是旧版VFP的语法),整个就不是那样写。在form表单类代码中,最多就只能add object到一层grid,grid下面的控件,不可以在form层add object进去,而是在某段运行代码中addobject()进去的——也可以创建一个继承自grid的子类自己组装控件,然后整个add object到form中。
授人以渔,不授人以鱼。
等 级:论坛游侠
帖 子:1314
专家分:101
附上原form6等内容
能不能用类游览器从已知的表单中提示代码并转为prg
我从form6表单中提取了代码
**************************************************
*-- Form:&&&&&&&&&form1 (d:\10.3.15\form6.scx)
*-- ParentClass:&&form
*-- BaseClass:&&& form
*-- 时间戳:&&&05/26/04 03:42:09 PM
PUBLIC oform1
oform1=NEWOBJECT(&form1&)
oform1.Show
*---- 以上4句本人加上去的,下面都是从类游览器中提取form6.scx中的代码。ADD OBJECT form1.grid1.column1.header1 AS header WITH 为什么提示语法错误
DEFINE CLASS form1 AS form
&&& Top = 10
&&& Left = 6
&&& Height = 231
&&& Width = 406
&&& DoCreate = .T.
&&& Caption = &单击列标头进行数据排序示例&
&&& Name = &Form1&
&&& ADD OBJECT grid1 AS grid WITH ;
&&&&&&&&ColumnCount = 7, ;
&&&&&&&&ChildOrder = &语文成绩&, ;
&&&&&&&&DeleteMark = .F., ;
&&&&&&&&GridLines = 3, ;
&&&&&&&&HeaderHeight = 19, ;
&&&&&&&&Height = 189, ;
&&&&&&&&Left = 6, ;
&&&&&&&&Panel = 1, ;
&&&&&&&&RecordMark = .F., ;
&&&&&&&&RecordSource = &tblstudent&, ;
&&&&&&&&ScrollBars = 3, ;
&&&&&&&&SplitBar = .F., ;
&&&&&&&&Top = 6, ;
&&&&&&&&Width = 390, ;
&&&&&&&&GridLineColor = RGB(128,128,128), ;
&&&&&&&&LockColumns = 0, ;
&&&&&&&&AllowCellSelection = .T., ;
&&&&&&&&Name = &Grid1&, ;
&&&&&&&&Column1.ControlSource = &tblstudent.学号&, ;
&&&&&&&&Column1.Width = 59, ;
&&&&&&&&Column1.Name = &Column1&, ;
&&&&&&&&Column2.ControlSource = &tblstudent.姓名&, ;
&&&&&&&&Column2.Width = 62, ;
&&&&&&&&Column2.Name = &Column2&, ;
&&&&&&&&Column3.ControlSource = &tblstudent.学期&, ;
&&&&&&&&Column3.Width = 54, ;
&&&&&&&&Column3.Name = &Column3&, ;
&&&&&&&&Column4.ControlSource = &tblstudent.语文成绩&, ;
&&&&&&&&Column4.Width = 71, ;
&&&&&&&&Column4.Name = &Column4&, ;
&&&&&&&&Column5.ControlSource = &tblstudent.数学成绩&, ;
&&&&&&&&Column5.Width = 67, ;
&&&&&&&&Column5.Name = &Column5&, ;
&&&&&&&&Column6.ControlSource = &tblstudent.英语成绩&, ;
&&&&&&&&Column6.Width = 90, ;
&&&&&&&&Column6.Name = &Column6&, ;
&&&&&&&&Column7.ControlSource = &tblstudent.总成绩&, ;
&&&&&&&&Column7.Width = 90, ;
&&&&&&&&Column7.Name = &Column7&
&&& ADD OBJECT form1.grid1.column1.header1 AS header WITH ;
&&&&&&&&Caption = &学号&, ;
&&&&&&&&Name = &Header1&
&&& ADD OBJECT form1.grid1.column1.text1 AS textbox WITH ;
&&&&&&&&BorderStyle = 0, ;
&&&&&&&&Margin = 0, ;
&&&&&&&&ForeColor = RGB(0,0,0), ;
&&&&&&&&BackColor = RGB(255,255,255), ;
&&&&&&&&Name = &Text1&
&&& ADD OBJECT form1.grid1.column2.header1 AS header WITH ;
&&&&&&&&Caption = &姓名&, ;
&&&&&&&&Name = &Header1&
&&& ADD OBJECT form1.grid1.column2.text1 AS textbox WITH ;
&&&&&&&&BorderStyle = 0, ;
&&&&&&&&Margin = 0, ;
&&&&&&&&ForeColor = RGB(0,0,0), ;
&&&&&&&&BackColor = RGB(255,255,255), ;
&&&&&&&&Name = &Text1&
&&& ADD OBJECT form1.grid1.column3.header1 AS header WITH ;
&&&&&&&&Caption = &学期&, ;
&&&&&&&&Name = &Header1&
&&& ADD OBJECT form1.grid1.column3.text1 AS textbox WITH ;
&&&&&&&&BorderStyle = 0, ;
&&&&&&&&Margin = 0, ;
&&&&&&&&ForeColor = RGB(0,0,0), ;
&&&&&&&&BackColor = RGB(255,255,255), ;
&&&&&&&&Name = &Text1&
&&& ADD OBJECT form1.grid1.column4.header1 AS header WITH ;
&&&&&&&&Caption = &语文成绩&, ;
&&&&&&&&Picture = &up.bmp&, ;
&&&&&&&&Name = &Header1&
&&& ADD OBJECT form1.grid1.column4.text1 AS textbox WITH ;
&&&&&&&&BorderStyle = 0, ;
&&&&&&&&Margin = 0, ;
&&&&&&&&ForeColor = RGB(0,0,0), ;
&&&&&&&&BackColor = RGB(255,255,255), ;
&&&&&&&&Name = &Text1&
&&& ADD OBJECT form1.grid1.column5.header1 AS header WITH ;
&&&&&&&&Caption = &数学成绩&, ;
&&&&&&&&Name = &Header1&
&&& ADD OBJECT form1.grid1.column5.text1 AS textbox WITH ;
&&&&&&&&BorderStyle = 0, ;
&&&&&&&&Margin = 0, ;
&&&&&&&&ForeColor = RGB(0,0,0), ;
&&&&&&&&BackColor = RGB(255,255,255), ;
&&&&&&&&Name = &Text1&
&&& ADD OBJECT form1.grid1.column6.header1 AS header WITH ;
&&&&&&&&Caption = &英语成绩&, ;
&&&&&&&&Name = &Header1&
&&& ADD OBJECT form1.grid1.column6.text1 AS textbox WITH ;
&&&&&&&&BorderStyle = 0, ;
&&&&&&&&Margin = 0, ;
&&&&&&&&ForeColor = RGB(0,0,0), ;
&&&&&&&&BackColor = RGB(255,255,255), ;
&&&&&&&&Name = &Text1&
&&& ADD OBJECT form1.grid1.column7.header1 AS header WITH ;
&&&&&&&&Caption = &总成绩&, ;
&&&&&&&&Name = &Header1&
&&& ADD OBJECT form1.grid1.column7.text1 AS textbox WITH ;
&&&&&&&&BorderStyle = 0, ;
&&&&&&&&Margin = 0, ;
&&&&&&&&ForeColor = RGB(0,0,0), ;
&&&&&&&&BackColor = RGB(255,255,255), ;
&&&&&&&&Name = &Text1&
&&& ADD OBJECT command1 AS commandbutton WITH ;
&&&&&&&&Top = 201, ;
&&&&&&&&Left = 285, ;
&&&&&&&&Height = 25, ;
&&&&&&&&Width = 94, ;
&&&&&&&&Caption = &关闭(\&C)&, ;
&&&&&&&&Name = &Command1&
&&& PROCEDURE header1.Click
&&&&&&&&LOCAL lnRecno
&&&&&&&&lnRecno=IIF(EOF() OR BOF(),1,RECNO())&&&&保存当前记录号
&&&&&&&&IF UPPER(JUSTSTEM(This.Picture))=&UP&
&&&&&&&&&&&&This.Picture=&Down.bmp&
&&&&&&&&&&&&SET ORDER TO 语文成绩 DESCENDING&&&&&降序排列
&&&&&&&&ELSE
&&&&&&&&&&&&This.Picture=&Up.bmp&
&&&&&&&&&&&&SET ORDER TO 语文成绩 ASCENDING&&& &&升序排列
&&&&&&&&ENDIF
&&&&&&&&Thisform.Refresh&&
&&&&&&&&GO lnRecno
&&& ENDPROC
&&& PROCEDURE command1.Click
&&&&&&&&RELEASE Thisform
&&& ENDPROC
*-- EndDefine: form1
**************************************************
附件: 您没有浏览附件的权限,请
等 级:贵宾
威 望:304
帖 子:25793
专家分:48814
类设计器是VFP语言之外另外编制的一个实用软件,不是语言内置的,它所生成的代码,归它自己解释,编译后再提交给VFP内核执行。我从来不使用这种设计器,如果它生成的代码是这种形式,要改编为正宗的语法,不如自己重新写一个还省力。编译不通过,就是证据。
授人以渔,不授人以鱼。
等 级:贵宾
威 望:304
帖 子:25793
专家分:48814
&&得分:20&
这种代码不可取的道理其实很简单,看看这段:
程序代码:
ADD OBJECT grid1 AS grid WITH ;
&&&&&&&&ColumnCount = 7, ;
&&&&&&&&ChildOrder = &语文成绩&, ;
&&&&&&&&DeleteMark = .F., ;
&&&&&&&&GridLines = 3, ;
&&&&&&&&HeaderHeight = 19, ;
&&&&&&&&Height = 189, ;
&&&&&&&&Left = 6, ;
&&&&&&&&Panel = 1, ;
&&&&&&&&RecordMark = .F., ;
&&&&&&&&RecordSource = &tblstudent&, ;
&&&&&&&&ScrollBars = 3, ;
&&&&&&&&SplitBar = .F., ;
&&&&&&&&Top = 6, ;
&&&&&&&&Width = 390, ;
&&&&&&&&GridLineColor = RGB(128,128,128), ;
&&&&&&&&LockColumns = 0, ;
&&&&&&&&AllowCellSelection = .T., ;
&&&&&&&&Name = &Grid1&, ;
&&&&&&&&Column1.ControlSource = &tblstudent.学号&, ;
&&&&&&&&Column1.Width = 59, ;
&&&&&&&&Column1.Name = &Column1&, ;
&&&&&&&&Column2.ControlSource = &tblstudent.姓名&, ;
&&&&&&&&Column2.Width = 62, ;
&&&&&&&&Column2.Name = &Column2&, ;
&&&&&&&&Column3.ControlSource = &tblstudent.学期&, ;
&&&&&&&&Column3.Width = 54, ;
&&&&&&&&Column3.Name = &Column3&, ;
&&&&&&&&Column4.ControlSource = &tblstudent.语文成绩&, ;
&&&&&&&&Column4.Width = 71, ;
&&&&&&&&Column4.Name = &Column4&, ;
&&&&&&&&Column5.ControlSource = &tblstudent.数学成绩&, ;
&&&&&&&&Column5.Width = 67, ;
&&&&&&&&Column5.Name = &Column5&, ;
&&&&&&&&Column6.ControlSource = &tblstudent.英语成绩&, ;
&&&&&&&&Column6.Width = 90, ;
&&&&&&&&Column6.Name = &Column6&, ;
&&&&&&&&Column7.ControlSource = &tblstudent.总成绩&, ;
&&&&&&&&Column7.Width = 90, ;
&&&&&&&&Column7.Name = &Column7&
每个字段都是重复写出的,而不是使用节省劳动力的循环(想想你有几十个字段的情景),而且每栏的宽度Width居然是硬编码数值,正犯程序代码的大忌。这样的代码不是好榜样,也不好重用,如果要改它,需要做的功夫太多,不如重新写一个,这就是我说的理由。这种代码,明显是电脑程序自生成的,它可以重复劳动,但人不可以这样做,拿这种代码来改,是不现实的。
授人以渔,不授人以鱼。
来 自:红土地
等 级:版主
威 望:311
帖 子:10655
专家分:39490
我不理解为何弃“可视化”而不用。
活到老,学到老!
E-mail:hu-
等 级:贵宾
威 望:204
帖 子:15042
专家分:63565
以下是引用hu9jj在 14:11:51的发言:
我不理解为何弃“可视化”而不用。同感
版权所有,并保留所有权利。
Powered by , Processed in 0.027080 second(s), 6 queries.
Copyright&, BCCN.NET, All Rights ReservedVfp中Grid的使用技巧
Vfp中Grid的使用技巧
Vfp中Grid的使用技巧
1.如何在GRID里控制回车事件&
在VFP里,GRID的默认控件都是TEXTBOX,形成了一个表格,但是在这个二维表里进行操作时,每次按回车都是往后一个单元格跳转,当到最后一列时,则继续跳到第一列,进而循环,操作很不方便。&&& 下面说明如何在GRID里的一个列里按回车使记录连续往下跳转(或可以执行其他的操作),当跳转到最后一行时执行另一个操作。1、对GRID所在的表单新增属性:cur_recn 记录当前记录号cur_recc 记录最大记录号2、在表单初始化,或给GRID以数据源时,就先计算出该表的最大的记录数,如下:thisform.cur_recc=recc()为了一次得到当前GRID里的表的记录总数3、在GRID的AfterRowColChange事件里写:thisform.cur_recn=recn()为了得到当前的GRID里的表的记录号4、在GRID里的某列的TEXT1的KEYPRESS事件里:if nKeyCode = 13 && 当按键为回车时 if thisform.cur_recn&=thisform.cur_recc  **-- 当当前记录大于等于最大记录时,即记录已到最后一个时  mand1.setfocus  **-- 使表单上的一个命令按纽聚焦,也即可以跳出该GRID, **-- 而正常的操作很难从GRID里跳出,在这里就可以使在记录到最后时焦点跳出来 else  thisform.cur_recn=recn() && 当记录还没到尾时,则...  nodefault && 不做任何响应  keyboard "{dnarrow}" && 模拟键盘下箭头,使记录指针下移一个 endifendif以上所说的,只要按键盘上的上下箭头即可轻易做到在GRID中移动指针,没有太大的意义。
2.如何实现输完数据后按回车键,使表格中的焦点自动跳到下一行
在你要判断转换的GRID的最后一列的TEXT1的keypress:IF&&nKeyCode=13&&&&&&&&&&&&SELECT&&你绑定表名&&&&&&&&&nRec=RECNO()&&&&&&&&&&&SKIP&&&&&&&&&IF EOF()&&&&&&&&&&&&APPEND BLANK&&&&在表尾加一空记录&&&&&&&&&&&&SKIP& &&记录指针到EOF()&&&&&&&&&&&&Thisform.grid1.refresh&&&&&&&&&&&&Thisform.grid1.column1.text1.SetFocus &&到最前面&&&&&&&&&ELSE&&&&&&&&&&&&&GO nRec&&&&同一行,不要此就跳下一格&&&&&&&&&&&&&Thisform.grid1.refresh&&&&&&&&&&&&&Thisform.grid1.column1.text1.SetFocus&&&&&&&&&&&&&&&ENDIF&&&&&&ENDIF
以上代码未经过试验,等待ing
Thisform.grid1.recordsuore=Null是什么意思?
Thisform.grid1.recordsuore=Null 与Thisform.grid1.recordsuore=''是不是一样的?
null是不等于'',但在上面例子中的结果是一样的。
NULL值不是空值,也不是零值,而是未知的、不可预测的值。在数据库中,一旦将某字段设为Not Null 则用户必须录入数据,否则不允许数据库更新。
3.我怎样才能把网格中的文本控件替换为其它控件?(可参照收费管理系统)
首先,先把原来的文本框控件删除。
<font color=#)在您要修改的网格上按下鼠标右键,选择弹出菜单中的&#8220;属性....&#8221;
<font color=#)在弹出的属性对话框顶端的列举框中选择要替换文本框的column下的text1。
<font color=#)在网格上按一下鼠标左键。
<font color=#)按下键盘上的DELETE按键,删除Text1控件(网格上的ab1将会消失)。
其次,在网格上添置控件。
<font color=#)在您要修改的网格上按下鼠标右键,选择弹出菜单中的&#8220;编辑....&#8221;
<font color=#)按一下表单控件工具栏上您要加到网格上的控件。
<font color=#)在您要添置控件的column上按下鼠标左键,并放置控件。
用Grid模拟Browse窗口
可以将Grid结合在Form对象中,模拟成一个Browse命令窗口,当自由调整Form大小时,Grid对象也会自动调整大小。实现方法如下:
<font color=#.首先设定一个Form对象,该对象必须保留其BorderStyle属性为&#8220;3-可调边框&#8221;,即设为可自由调整大小的边线属性;同时设定Resize事件如下:
Thisform.Grid1.Width=this.Width
Thisform.Grid1.Height=this.Height
<font color=#.设计一个Grid对象于Form对象中,并设定其属性如下:
RecordSource为目前&#8220;数据环境&#8221;中所设定的工作区别名;
Top与Left均设为0,表示该对象左上端坐标为(0,0);
Width的值设为Thisform.Width;
Height的值设为Thisform.Height。
这样,已经设定好的Grid对象便可以和Browse窗口相关联,当对Form对象进行大小调整时,Grid对象的高度与宽度就可以随之调整了。
4.表格GIRD的数据源表删除数据或变动后,表格会显示空白?
thisform.grid1.RecordSource = nullSELECT yea,mon,jcgz1,gwgz1,ren1,jcgz2,gwgz2,ren2,dqgz,dqren,ntgz,ntren,txgz,&FROM gzhz WHERE danwei = this.value AND yea = thisform.cboyea.V&INTO dbf dwgz ORDER BY monthisform.grid1.RecordSource = 'dwgz'其实就是:
先hsiform.grid1.recordsource = null
经过表操作(删除、变动等)
后hisform.grid1.recordsource ='dbfname'
5.关于Grid的绑定数据源问题(用临时表绑定)
thisform.grid1.recordsource=""SELECT 学号,姓名 FROM tblStudent INTO CURSOR temporary&&&&&&&&&&&thisform.grid1.recordsource="temporary"&&&&&&&&&&&thisform.grid1.refresh()
具体解释如下:
thisform.grid1.recordsource=""这一行的目的是让grid1在整个SELECT 学号,姓名 FROM tblStudent INTO CURSOR temporary期间不随temporary表的变化而变化,INTO CURSOR temporary实际上有多个动作,先清除原临时表temporary,再生成新的temporary表,thisform.grid1.recordsource=""这行的目的是让GRID1在全过程中和临时表temporary断开,不受它的影响.当全部操作完后再用thisform.grid1.recordsource="temporary"连接上去,最好在这句前加上一句,select temporarygo top这样如果temporary有多条记录的话不会出现指针在末尾而看不到第一条记录的情况(不好看),thisform.grid1.refresh()这句基本上可以不要的,在大多数情况下不会出错,只有在查询后紧跟其它对grid1数据集调用指令的会出错.
6.grid控件的使用技巧(应用setall()方法统一设置)
(1)禁止用户用鼠标去调整各个column的位置顺序在grid的init事件程序中输入以下代码:this.setall("movable",.f.,"column")(2)禁止用户用鼠标去调整各个column的宽度在grid的init事件程序中输入以下代码:this.setall("rsizable",.f.,"column")(3)使grid中各个column的标题文字自动居中在grid的init事件程序中输入以下代码:this.setall("alignment",2,"header")(4)建立求平均栏  假设一个存放了成绩数据表(包括:姓名、语文、数学、政治字段),欲在grid中增加一个&#8220;平均分&#8221;直栏,只需将grid的columncount属性加1,然后将&#8220;平均分&#8221;栏的controlsource属性设为如下:controlsource=(语文+数学+政治)/3(5)根据用户选定的column进行排序有时希望单击column的标题,就以此column的字段进行排序显示记录。我们可以在各个column的header对象的click事件中,将数据环境中的cursor对象的order属性设定成根据这个column的字段建立的索引名称,然后再调用grid的refresh方法即可。例如:
thisform.dataenvironmnet.cursor1.order="姓名"thisform.grid1.refresh(6) Grid对象中焦点行的动态显示&&&
Grid对象中当数据记录移动时,用颜色动态变化显示相对光标所在记录的位置,可以在Grid对象的afterRowColChange事件过程中加入如下内容:this.setall(&#8220;dynamicbackcolor&#8221;,&#8220;iif(this.activerow=recno(),rgb(0,0,255),rgb(255,255,255))&#8221;,&#8220;column&#8221;)。
(7)在网格中交替显示颜色
  记录号有序排列时,可以在网格的列中交替显示白色和灰色的记录,代码如下:
thisform.Grid1.SetAll("DynamicBackColor","IIF(MOD(RECNO(),2)=0,RGB(255,255,255),RGB(192,192,192))","Column")&&交替显示白色和绿色的记录
(8) 符合条件的记录显示颜色
进行查询时,想在网格中动态地显示符合条件的记录的颜色,可以充分利用DynamicBackColor和DynamicForeColor特性。下例将符合条件的记录的字体变为红色Thisform.Grid1.Column1.DynamicForeColor="IIf(Database.Category_ID='A02',RGB(225,0,0),RGB(0,0,124))"
例如:在《宅基地管理系统》中,使被注、撤销的记录呈现红色,可在grid1的init事件和afterrowcolchange中添加下列代码:(注意:经过实验,加不加"column"都可以)
thisform.Grid1.SetAll("DynamicforeColor","IIF(是否被注(撤)销='是',rgb(255,0,0),rgb(0,0,0))") &&使被注撤销的记录显红色
(9)设置多种颜色(无规律性)
主要是针对一个表GRID里,当记录很多时,而且某些记录具有特定的属性时,我们需要设置颜色来区分这些数据,如下代码可以在刷新或初始化表单时,设置其属性。(注意:经过实验,加不加,"column"都可以)
thisform.Grid1.SetAll("DynamicBackColor","IIF(type&=1,iif(type&=2,iif(type&=3,rgb(0,128,0),rgb(192,192,192)),rgb(255,0,0)),rgb(255,255,255))")
如上代码可以说明,如果某记录中有一个字段type,那么根据这个字段的数据值,可以显示不同颜色,可以转换成如下公式:
iif(条件1,iif(条件2,iif(条件3,iif(条件4,iif(条件5,[...iif(条件N,颜色N,颜色n-1)...,]颜色5,颜色4),颜色3),颜色2),颜色1),其他颜色)
(10)用SetAll方法。例如,你决定为全部网格中的标题设置9号宋体。将以下代码放入网格的Init事件: THIS.SETALL("FontName","Arial","Header")
7..怎么才能让grid的光标自动移动到要编辑记录上?
如grid显示的表为aa
aa记录有:
学号&&&&&&&& 姓名
<font color=#&&&&&&&& 王一
<font color=#&&&&&&&& 王二
<font color=#&&&&&&&& 王三
。。。。。。
<font color=#&&&&&&&& 王动
。。。。。。&
在表单textbox中输入"240"后,让光标自动到学号为&#21;的记录(且grid能够自动滚动到此记录显示-------)
在cmdGo的click事件中,用以下代码:
loca 学号=thisform.textbox.value
thisform.grid.setfocus
8、我怎样才能把网格中的文本控件替换为其它控件?
  答:首先,先把原来的文本框控件删除。
  1:在您要修改的网格上按下鼠标右键,选择弹出菜单中的&#8220;属性....&#8221;
  2:在弹出的属性对话框顶端的列举框中选择要替换文本框的column下的text1。
  3:在网格上按一下鼠标左键。
  4:按下键盘上的DELETE按键,删除Text1控件(网格上的ab1将会消失)。
  其次,在网格上添置控件。
  1:在您要修改的网格上按下鼠标右键,选择弹出菜单中的&#8220;编辑....&#8221;
  2:按一下表单控件工具栏上您要加到网格上的控件。
  3:在您要添置控件的column上按下鼠标左键,并放置控件。
发表评论:
TA的最新馆藏[转]&[转]&[转]&[转]&[转]&[转]&

我要回帖

更多关于 vfp9.0 的文章

 

随机推荐