本站首页    管理页面    写新日志    退出


«October 2025»
1234
567891011
12131415161718
19202122232425
262728293031


公告
暂无公告...

我的分类(专题)

日志更新

最新评论

留言板

链接

我的博客

Blog信息
blog名称:fermos_blog
日志总数:73
评论数量:261
留言数量:30
访问次数:398836
建立时间:2005年3月27日




VFP经典问题集(下)
文章收藏

fermos的博客 发表于 2005/7/1 19:30:59

  VFP经典问题集(下)问题34: 为什么组合框只显示一行数据?我首先为该组合框定义了一个数组,然后,在表单的 Init 事件中执行了一个 SELECT - SQL 命令来激活数组。答案34: 在表单的 Init 事件中,您建立了一个没有行或者只有一行的数组。当表单建立后,组合框的 Init 事件发生在表单的 Init 事件之前,所以组合框只包含一列数据。要改正此错误,请在 SELECT - SQL 语句下面紧接着添加下面代码行,在表单的 Init 事件中建立数组:THISFORM.ComboBox1.RowSource = THISFORM.ComboBox1.RowSource*****************************************************************当我的游标用SELECT - SQL INTO CURSOR 更新后,网格内容没有刷新?由于SELECT - SQL 命令是重新建立网格RecordSource属性里的同名游标,当新的游标建立时,原有的游标被丢弃了。因此当SELECT - SQL执行时,网格RecordSource属性被清除复位,并且新网格被建立且未从游标中装入数据。要刷新网格,设置网格的RecordSource属性新的数据源上:THISFORM.Grid1.RecordSource=THISFORM.Grid1.RecordSource问题35: 如何隐藏标准的或定制的工具条?答案35: 用HIDE WINDOW命令来隐藏工具条。工具条也可用SHOW WINDOW来显示。问题36: 我怎样用VFP做小的图标(ImagEdit)?答案36: Windows 95能在资源管理器和启始菜单中显示小图标。你可以ImagEdit来为你的VFP应用运行在Windows 95下面制作小的图标(ImagEdit包括在VFP的专业版内。)。在ImagEdit中制作新图标的时候,小图标通过指定小的图标16-的彩色16x16选项制作。如果这选项不可用,制作新图标的时候把下列行加到坐落于你的WINDOWS目录的IMAGEDIT.INI文件中:[ImagEdit.Icon]Small Icon=16,16,16问题37: 如何在导航中添加记录到表的缓存中?答案37: 要把记录指示移动到表缓存中添加的记录上,用带负值的GO命令。RECNO()函数在表缓存中的记录上返回升序负数值。问题38: 怎样(以编程的方式)复制内容到剪切板?答案38: 在求助文件中看_ClipText。问题39: 调试时,怎样保持计时器处于激活状态?答案39: 把以下代码放入Timer()事件中:_Screen.ActiveForm.MyTimer.Enabled=.T. IF WVISIBLE("Trace") THIS.Enabled=.F.WVISIBLE("Trace"THIS.Enabled=.F。ENDIF问题40: 怎样播放声音文件(.WAV)?答案40: 除了使用第三方产品和API调用之外,播放.WAV的最简单的方法是:SET BELL TO "c:\sound.wav",1 ??CHR(7) SET BELL TO问题41: 怎样设置多个过程或类文件?答案41: 使用ADDITIVE 子句:SET PROCEDURE TO proc.prg ADDITIVESET LIBRARY TO class.vcx ADDITIVE问题42: 为什么当filter设置时,应该用locate代替seek?答案42: 当你的查找字段是建立了索引且当前索引是该索引时,SEEK 通常是查找单个记录的最快的方法。不过,当设置了filter时,SEEK 非常慢。理由是SEEK将查找符合你的搜索标准的第一个记录。FoxPro为了移动记录指针到相应的记录上,必须找到和你的标准相匹配且和filter条件相称的记录。和 SEEK不同, LOCATE 是可进行Rushmore优化的. 当一个可优化的filter 起作用时,LOCATE FOR CustId=m.CustId 通常比SEEK m.CustId 更快。在GO TOP 和 GO BOTTOM 中也存在相似的问题。用无子句的LOCATE来执行GO TOP,将会使记录指针移动到乎合filter 条件的第一个记录。要执行 GO BOTTOM, 设置当前索引标识的降序然后LOCATE, 在将索引设置为原来的升序。问题43: 我怎样让属性和方法设置到它们的缺省值?答案43: 你可以在属性窗口中右击一个属性,将会返回该属性的缺省值。当你想设置一个对象的属性为其父类的属性时,该办法特别有用。例如,如果你使用标签类定义了一个标签,且设置该标签类的FontBold = .T,但该对象的FontBold = .F.你可仅右击鼠标,并选的"恢复至默认值"来恢复该类的定义默认定义。该动作也适用于属性窗口中的方法。你可以在方法列表上右击鼠标来除掉某方法中的全部方法代码。这是重置当前对象,让它运行类定义中的方法代码的简便方法。如果你不小心让你的方法编码被缺省值复位,不要保存修改,立即退出表单设计器,当系统提示是否保存修改时,选"否"取回它。问题44: 如何能既执行默认的父类的事件/方法又运行一些补充的代码?答案44: 你可以在子类的方法中输入代码来忽略父类方法代码。FoxPro 将方法代码中的所有字符串解释为可执行代码包括空格和注释,这样将可以忽略父类方法代码。如果你想把注解加到方法代码中,同时又保持继承的父类方法编码,使用范围解析操作符(::)来明确调用父类代码。一个命令按钮的单击事件过程可能是这样的:&&CommentsMyExitButton::Click&&问题45: 怎样使 工具条按钮的 可用/不可用 和对应的菜单选择协调一致?答案45: 一个协调工具条按钮和菜单选择的简单的方法是:在菜单的 Skip子句中使用 Enabled属性。例如,你有一个名为oToolbar的工具条,其上有一个新建命令按钮叫cmdAdd同时你有一个记录菜单其中有一个新建选项。给新建选项的Skip子句加上"oToolBar.cmdAdd.Enabled = .F."或"!oToolBar.cmdAdd.Enabled"则新建菜单选项仅当oToolBar.cmdAdd可用时才是可用的。记住Set Skip当它的值为.T.时,废止菜单选项,所以在上例中的NOT 操作符 (!)或"= .F."是必不可少的。问题46: 怎样同时设置多个对象的同一属性?答案46: 用SetAll方法。例如,你决定为全部网格中的标题设置9号宋体。将以下代码放入网格的Init事件:THIS.SETALL("FontName","Arial","Header")问题47: 我必须总是打入长长的对象层次列表吗?答案47: 不.你可以使用变量替换以下两种方法的效果是相同的:Thisform.pageframe.page1.container.object.caption="This"Thisform.pageframe.page1.container.object.left=10Thisform.pageframe.page1.container.object.top=50temp = 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 问题48: 可以迅速地在属性窗口中定位吗?答案48: 热键Ctrl+Alt+key可使在属性窗口中定位变得快而简单。例如,当表单对象选中时,在属性窗口中按下Ctrl+Alt+C将快速移动到Caption属性。问题49: 当所有窗口打开时,怎样才能看到VFP桌面上的内容?答案49: 按ALT+CTRL+SHIFT将把全部打开的窗口隐藏起来,直到放开键。问题50: 我能创建文本报表吗?答案50: 可以。将报表表单的ASCII分句打上钩。问题51: 我怎样把事情的动作在"大小调整工具条"中颠倒过来?答案51: 当你单击它的时候,按住Ctrl键不放。问题52: 我怎样能更精确地移动表单中的对象?答案52: 可以一次移动一个对象一个象素。方法是:使用箭头键或拖动它时按下Ctrl键不放。问题53: 可以在多窗口中进行拖放操作吗?答案53: 是,可以在命令窗口中看看效果。你可以拖动在这里打入的代码到任何编程窗口中。问题54: 当修改页属性的时候,我得到一条错误信息 "属性xyz找不到"。答案54: 也许你错误地引用了pageframe容器对象自身:ThisForm.Page1.xyz=20应该是:ThisForm.Pageframe.Page1.xyz=20问题55: 如何添加文本到备注字段?答案55: lcMemo='Append this string'REPLACE Table.MemoField WITH lcMemo ADDITIVE问题56: VFP 5.0有那些新功能?答案56: 很多,很多的东西。新特征,更牢固的环境,更小存储器需求,错误校正,并且更好命名,开发环境.更多的细节的微软公司WWW网点。问题57: 当启动应用程序的 .EXE 文件时,如何隐藏 Visual FoxPro 桌面?答案57: 在 CONFIG.FPW 配置文件中添加如下命令行:SCREEN=OFF注意:如果您无须将 CONFIG.FPW 作为单独的文件提供(也就是说,在连编 .EXE 文件之后,您不需要对它作任何改动) 。您可向项目中添加 CONFIG.FPW 文件,并将之标记为可包含的,该文件就会连编为 .EXE 文件的一部分。只有顶层表单活动时,Visual FoxPro 才可以隐藏桌面。使用如下命令,您可以用编程方式隐藏桌面(假设已有一个顶层表单处于活动状态中):_VFP.Visible = .F.问题58: 如何建立一个带有顶层菜单的顶层表单?答案58: 要建立一个顶层表单,请将表单的 ShowWindow 属性设置为 2- 作为顶层表单。要建立一个顶层菜单,请打开"菜单设计器"。从"显示"菜单中,选择"常规选项",然后设置"顶层表单"选项。要想将顶层菜单放入顶层表单中,请在表单的 Init(或其他)事件中添加相关的代码。例如:DO with THIS,.T.如果要查看调用顶层菜单的不同选项,请参阅 generated .mpr 文件中的开始部分。问题59: 当我从工具菜单中挑选向导时,应用程序向导不出现。怎样才能运行它?答案59: 要运行应用程序向导, 从工具菜单选向导并从子菜单中选择全部。这将打开向导选择对话框,从中选择的应用程序向导。问题60: 如何在组合框中隐藏指定的列,只显示其他的列?答案60: 在组合框中,隐藏指定列的最简单方法是使用"组合框生成器"。在"组合框生成器"的"布局"选项卡上,将这些列拖到您所希望的宽度。如果要通过编程在组合框中隐藏指定的列,请将这些列的 ColumnWidth 属性设置为 0。在如下的程序代码中,列 1 和列 2 被隐藏,列 3 的宽度为 100 pixels:THISFORM.ComboBox1.ColumnWidths = 0,0,100问题61: 在一个编辑窗口中,能否对标注语法的颜色进行定制?答案61: 从"工具"菜单中选择"选项",很容易定制代码颜色。在"选项"对话框中选择"语法着色"选项卡,您会发现不同的方法可以定制代码颜色。如果要将语法颜色全部清除,从"编辑"菜单中选择"属性",显示出"属性"对话框。然后,清除"语法着色"复选框。问题62: 在我自己建立的类和表单的事件和方法过程中发生错误时,怎样排除?我怎样排除他们的缺陷?答案62: 要查看类和表单的方法或事件过程中程序编码,把SET STEP ON放在方法或事件过程的开始处(或任何其它你想每次一行的运行程序的代码段开始处). 然后用跟踪和调试窗口来排除你的编码的缺陷。问题63: 怎样把空白行加到网格上?答案63: 网格控件被设计来从表,游标或视图显示记录。你可以用APPEND BLANK 或 INSERT - SQL命令增加一个空行到网格。在设计时, 网格不能显示数组的元素.如果你不想为网格建立一个磁盘文件,可以考虑用CREATE CURSOR命令来建立一个游标(在内存中的临时表). 在游标建立后,用INSERT - SQL添加记录到游标中。问题64: 怎样能计算报表内的行数?答案64: 你可以使用报表变量来计数报表的行数。从报表菜单中选择"变量"来建立一个报表变量。给报表变量取一个名字并增加一个IIF()函数到变量。作为逻辑表达式的IIF()函数,为你要计数的字段指定条件:第一个IIF()函数返回值指定1。第二的IIF()函数返回值指定0。例如,下列IIF()函数用于计数州名为华盛顿的记录(State = 'WA')的记录数。IIF(State = 'WA', 1, 0)选择"求和" 按钮, 并保存报表变量.放入一个字段到报表的分组或页脚带,并为报表表达式指定报表变量。


阅读全文(5456) | 回复(5) | 编辑 | 精华
 


回复:VFP经典问题集(下)
文章收藏

坤(游客)发表评论于2005/10/11 16:15:28

在做一个学生管理系统时,如何进行边编呀!弄不好!请各位多多指教一下呀!多谢了!


个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除
 


报表格如何容纳长字符
文章收藏

亮(游客)发表评论于2005/9/23 17:28:15

报表设计,遇到有些单元格少量记录字数太多,无法容纳,又不可折行,如何实现自动缩小字号?请高手指点。非常感谢!

个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除
 


回复:VFP经典问题集(下)
文章收藏

HONGMING(游客)发表评论于2005/9/14 9:24:14

怎么样将查询结果存入一个表中啊  谢谢

个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除
 


在VFP中如何利用API函数修改WINXP用户密码
文章收藏

军(游客)发表评论于2005/8/31 10:12:32

同上

个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除
 


回复:VFP经典问题集(下)
文章收藏

徐涵(Han Xu)发表评论于2005/7/1 22:06:15

字看不清阿。能否改进一下呢?

个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除
 


» 1 »

发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)



站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.031 second(s), page refreshed 144798681 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号