Skip Navigation Links.
Collapse 电工与电子技术 代码阅读实践
Collapse 电工与电子技术 计算机文化基础
Collapse 电工与电子技术 Visual Foxpro数据库应用技术
Expand 实验室简介 实验课程简介
Expand 实验室简介 实验室简介
Expand 实验室简介 实验大纲
Expand 实验室简介 实验内容
Expand 实验室简介 实验课件
Expand 实验室简介 实验视频
Expand 实验室简介 常见问题及解答
Expand 实验室简介 在线测试
Expand 实验室简介 等级考试题集
Expand 实验室简介 相关知识点
Expand 实验室简介 学习推荐
Collapse 电工与电子技术 数字图像处理
Collapse 电工与电子技术 数据结构和VC编程
Collapse 电工与电子技术 数据库
Collapse 电工与电子技术 多媒体技术应用
Collapse 电工与电子技术 汇编语言程序设计
Collapse 电工与电子技术 VB程序设计
Expand 实验室简介 课程简介
Expand 实验室简介 实验室简介
Expand 实验室简介 理论教学
Expand 实验室简介 实验教学
Expand 实验室简介 创新型实验
Expand 实验室简介 教学视频
Expand 实验室简介 课程习题
Expand 实验室简介 在线测试
Expand 实验室简介 VB等级考试
Expand 实验室简介 软件下载
Expand 实验室简介 2012年秋“VB程序设计”考试题目
Collapse 电工与电子技术 计算机维护维修
首页 >   主页 > 课程 > 计算机类 > Visual Foxpro数据库应用技术 > 常见问题及解答
常见问题及解答 
 


问: 如何在应用程序中避免出现vfp的窗口标题?
答: 在config.fpw文件中,加"title=标题名称"行。另外也可以在主程序中加入:_screen.caption="标题名称".
问: 如何避免vfp的欢迎屏幕?
答: 在你的快捷方式或图标的程序行中,在vfp.exe后面加"-t"( 不要引号)。
问: 我怎样除掉表单标题条?
答: 把表单的caption属性设置为任意串把表单的maxbutton属性设置为.f.把表单的minbutton属性设置为.f.把表单的movable属性设置为.f.在表单的init中写入this.caption=''
问: 事件的触发顺序是怎样的?
答: 在帮助文件中查看 "vfp事件序列"。另外,在vfp\samples\controls\events目录中,有一个名为events.app的程序演示了不同对象的事件的触发顺序。
问: 如何检查变量是否存在?
答: 使用type()函数来检查一个变量是否存在。
if  type ("var") = .t.
messagebox ("it exists",0,"")
endif
或你可以检查是否type("var")="u",若是,则变量不存在。
问: VFP的表的最大容量是多少?
答: 目前是2GB,且在将来版本中该限制可能被取消。
问: 为什么运行exe文件时,系统菜单总是在自己的菜单前出现?
答: 把sysmenu=off放入config.fpw文件。
问: 为何不能从一个对象的valid事件中把焦点设置到另一个对象上。
答: setfocus()方法不能从valid事件中运行。试着用lostfocus事件作为替代。
问: 为什么要退出VFP时,得到一条信息 ’不能退出vfp’?
答: 检验on shutdown。
问: 运行一个表单时,怎样使它停下来?
答: 可以在表单的init()加入return .f.,该方法适用于所有的对象。
问: 什么时候,计时器触发?
答: 如果一个菜单弹出或messagebox()窗口激活时,计时器将不会触发,当用户调整控件尺寸,或者拖动表单时,以及用户拖动scrollbar时,计时器也不会触发。
问: 怎样从表中选择重复的记录?
答:
select * from table a  where exists ;
(select * from table b where b.key = a.key  group by key having count(*) > 1 ) ;
order by fieldlist
select *  from table  where key in ;
( select key from table group by key having count(*) > 1)  order by fieldlist
问: 怎样让属性和方法设置到它们的缺省值?
答: 可以在属性窗口中右击一个属性,将会返回该属性的缺省值。当你想设置一个对象的属性为其父类的属性时,该办法特别有用。例如,如果你使用标签类定义了一个标签,且设置该标签类的FontBold = .T,但该对象的FontBold = .F.可仅右击鼠标,并选的"恢复至默认值"来恢复该类的定义默认定义。该动作也适用于属性窗口中的方法。可以在方法列表上右击鼠标来除掉某方法中的全部方法代码。这是重置当前对象,让它运行类定义中的方法代码的简便方法。如果你不小心让你的方法编码被缺省值复位,不要保存修改,立即退出表单设计器,当系统提示是否保存修改时,选"否"取回它。
问: 如何能既执行默认的父类的事件/方法又运行一些补充的代码?
答: 可以在子类的方法中输入代码来忽略父类方法代码。FoxPro将方法代码中的所有字符串解释为可执行代码包括空格和注释,这样将可以忽略父类方法代码。如果想把注解加到方法代码中,同时又保持继承的父类方法编码,使用范围解析操作符(::)来明确调用父类代码。一个命令按钮的单击事件过程可能是这样的:
&&
Comments
MyExitButton::Click
&&
问: 怎样同时设置多个对象的同一属性?
答: 用SetAll方法。例如为全部网格中的标题设置9号宋体,可将以下代码放入网格的Init事件:
THIS.SETALL("FontName","Arial","Header")
问: 必须总是打入长长的对象层次列表吗?
答:不.可以使用变量替换以下两种方法的效果是相同的:
Thisform.pageframe.page1.container.object.caption="This"
Thisform.pageframe.page1.container.object.left=10
Thisform.pageframe.page1.container.object.top=50
temp = Thisform.pageframe.page1.container.object
temp.caption = "This "
temp.left = 10
temp.top = 50
另一种方法是使用WITH命令,
WITH Thisform.pageframe.page1.container.object
.caption = "This "
.left = 10
.top = 50;
ENDWITH
 
问: 怎样能更精确地移动表单中的对象?
答: 使用箭头键或拖动它时按下Ctrl键不放,可以一次移动一个对象一个象素。
问: 当修改页属性的时候,我得到一条错误信息 "属性***找不到"。
答: 也许你错误地引用了pageframe容器对象自身:
ThisForm.Page1.***=20
应该是:
ThisForm.Pageframe.Page1.***=20
问: 当启动应用程序的 .EXE 文件时,如何隐藏 Visual foxpro 桌面?
答: 在 CONFIG.FPW 配置文件中添加如下命令行:
SCREEN=OFF
注意:如果您无须将 CONFIG.FPW 作为单独的文件提供(也就是说,在连编 .EXE 文件之后不需要对它作任何改动) ,可向项目中添加 CONFIG.FPW 文件,并将之标记为可包含的,该文件就会连编为 .EXE 文件 的一部分。只有顶层表单活动时,Visual FoxPro 才可以隐藏桌面。使用如下命令,您可以用编程方式隐藏桌面(假设已有一个顶层表单处于活动状态中):
_VFP.Visible = .F.
问: 当从工具菜单中挑选向导时,应用程序向导不出现。怎样才能运行它?
答: 要运行应用程序向导, 从工具菜单选向导并从子菜单中选择全部。这将打开向导选择对话框,从中选择的应用程序向导。
问: 如何在组合框中隐藏指定的列,只显示其他的列?
答: 在组合框中,隐藏指定列的最简单方法是使用"组合框生成器"。在"组合框生成器"的"布局"选项卡上,将这些列拖到您所希望的宽度。如果要通过编程在组合框中隐藏指定的列,请将这些列的 ColumnWidth 属性设置为 0。在如下的程序代码中,列 1 和列 2 被隐藏,列 3 的宽度为 100 pixels:
THISFORM.ComboBox1.ColumnWidths = 0,0,100
问: 怎样能计算报表内的行数?
答: 可以使用报表变量来计数报表的行数。从报表菜单中选择"变量"来建立一个报表变量。给报表变量取一个名字并增加一个IIF()函数到变量。作为逻辑表达式的IIF()函数,为你要计数的字段指定条件:第一个IIF()函数返回值指定1。第二的IIF()函数返回值指定0。
例如,下列IIF()函数用于计数州名为华盛顿的记录(State = ’WA’)的记录数。
IIF(State = 'WA', 1, 0)
选择"求和" 按钮, 并保存报表变量.放入一个字段到报表的分组或页脚带,并为报表表达式指定报表变量。
问:怎样从表单返加一个值?
答:可以在模式表单的unload事件中用return来返回一个值。
问:怎样在表单设计器中把属性或方法添加到表单中?
答:用表单设计器窗口或属性/事件/激活的方法窗口,从菜单中选择表单。最初的两个选择是新属性和新方法。选择你想要加入的一个并填写属性或方法的名称,新建的属性将出现在属性窗口的最底部。
问:我把的工具条或设计窗口移出了屏幕,怎样把它移回来?
答:工具条或窗口的位置保存在vfp主目录下的foxuser。dbf表中。如果删除或修改该文件,你的工具条和窗口将恢复他们的默认位置或你指定的位置。或从系统菜单的窗口菜单中选择重新安排全部。
问:为什么编译后的程序运行时,屏幕一闪就退出了,为什么?
答:你需要在你的程序中建立’等待状态’。可以用readevents命令来建立等待状态。要清除等待状态,可使用clearevents命令。如果你只有一个屏幕,把表单的windowstate属性设置为modal。这也提供等待状态,但是不允许你使用菜单。当模式表单被释放时,等待状态结束并返回至操作系统。
问:运行表单时什么也不显示是什么原因 ? 表单本身是显示了,但其中的任何对象都不可见.
答:试着把lockscreen属性设置为.F.。