我vfp程序连编的问题知道
vfp程序设计知识点总结
vfp程序设计知识点总结Visual FoxPro(简称VFP)是一种基于Windows的关系型数据库管理系统和编程语言。
它提供了丰富的功能和工具,用于开发数据库应用程序。
本文将总结VFP程序设计中的关键知识点,并探讨其应用。
一、VFP环境配置VFP程序设计之前,首先需要进行环境配置。
安装VFP软件后,可以通过设置和调整各种选项来满足具体需求,例如界面风格、编辑器设置、代码库配置等。
二、基本语法1. 变量和数据类型:VFP支持多种数据类型,包括字符型、整数型、逻辑型、日期型等。
声明变量时,需要指定数据类型,并赋予初始值。
2. 控制结构:VFP支持常见的控制结构,如条件语句(if-else)、循环语句(for-loop、while-loop)、选择语句(switch-case)等,用于根据不同情况执行相应的代码块。
3. 函数和过程:VFP提供了大量内置函数用于字符串处理、数学计算等操作。
同时,也可以通过自定义函数和过程来扩展VFP的功能,提高代码的复用性和可读性。
三、数据库操作1. 连接数据库:VFP可以连接各种类型的数据库,如Visual FoxPro数据库、SQL Server数据库等。
通过设定数据库连接字符串和使用相应的驱动程序,可以实现与数据库的交互。
2. 数据查询:使用SQL语句或者VFP内置的查询命令,可以实现数据的查询和分析。
通过指定查询条件和选择输出字段,可以灵活地获取所需的数据。
3. 数据处理:VFP提供了各种数据处理的功能,如数据排序、筛选、统计等。
可以通过内置函数和命令,快速实现对数据的操作。
四、用户界面设计1. 窗体设计:VFP提供了窗体设计器,可以通过拖拽和设置属性来创建用户界面。
可以添加各种控件,如按钮、文本框、列表框,以及设计和调整布局。
2. 报表设计:VFP内置了报表设计器,可以生成多种格式的报表,如表格、图表、交叉表等。
可以自定义报表的样式、布局和数据源,实现灵活的报表生成。
VFP编程技巧六则
《VFP编程技巧六则》一、在VFP 5.0中表格打印时没有响应以及不能对齐的原因在VFP5.0中处理表格打印时,在最后都需加一句set printer to,该语句的功能就是将打印缓冲器内容送到打印机。
至于表格不能对齐是因为字体原因,主要是数字、字母等,Windows中许多字体的不同字符的宽度是不同的(如I和W),因此您要选字符宽度相同的字体,如宋体等中文字体就行,?和@...say都可以跟font子句,如所有输出到打印机的语句都可以用如下语句:? ′name′font ′宋体′或@2,5 say ′name′font ′宋体′二、运行表单时出现name属性错误的处理一位朋友在前不久用do form frmcx.scx运行一个表单后,并将该表单的name属性设为frmcx,执行_SCREEN.frmcx.caption=“kkkkkk”,会出现“不能识别成员frmcx”的错误。
其实,产生这种情况的原因很简单,作为创建的最外层容器对象(一般是表单)不能直接用其名称调用,而应将其赋给一个变量,然后用这个变量名来调用,比如用如下语句:do form frmcx name frmcx这样就可以用frmcx来调用这个表单了,在这里frmcx是一个变量,随着程序的运行结束,该变量也会释放,这时再用该变量来调用此表单就不行了,为了使它不释放,可在上面的语句后面加linked子句,即:do form frmcx name frmcx linked三、用LostFocus事件处理组合框失去焦点有些朋友在处理这一动作时往往使用click事件,而不加以对lostfocus事件的使用,即当光标离开该文本框时对其它文本框作相应设置,而没离开之前,说明您的输入还没有最后确定,这时一般也不需要对其它文本框设置,如更进一步想在没离开之前就将结果反映到其它文本框中,那要使用keypree事件,即每键入一个字符,就对其它文本做出设置。
关于VFP连编后运行程序一闪而过的解决方法
关于VFP连编后运行程序一闪而过的解决方法[日期:2006-06-05] 来源:作者:[字体:大中小] 笔者在两年多的新闻组生活中,曾数十次遇到过初学者对VFP的表单窗口属性所提出的问题,特别是"为何系统编译后运行时一闪而过"的问题,更是被频繁地提出。
现根据我的经验进行一下总结,以帮助初学者打掉这只拦路虎。
其实,这个问题之所以被频繁地提出,并非是由于初学者的理解能力有问题,而实在是VFP的设计混乱所致,以至于造成初学者理解上的混乱。
笔者曾在"济南万千"的"软件、编程、数据库"新闻组就此问题发过"窗口问题到此为止"的帖子,反响很大,现根据该帖进行整理,修正补足该帖中的一些不准确之处及遗漏。
本文所提"表单窗口属性",是指那些不但影响表单本身的特征(例如长宽等),而且对表单之外、项目之中的其它"元件"有影响的表单属性,它们包括如下三个:[list=a] 属性意义可选值(黑体为默认值)DeskTop 指定表单是否包含在VFP主窗口中 F./.T.WindowType 指定表单对象运行时的动作 0-无模式/1-模式ShowWindow 指定在创建过程中表单窗口显示表单或工具栏0-在屏幕中/1-在顶层表单中/3-做为顶层表单[/list]下面针对上述表单属性以及VFP中"桌面(DeskTop)、屏幕(Screen)、表单(Form)"等概念谈一谈我的理解。
正因为VFP在此方面的设计混乱,也就决定了我不能系统地、有条理地分析这些问题,我做的只能是阐述一些事实。
1.表单是一个对象,外观表现上是一个窗口。
VFP的主窗口也可以说是一个"表单"对象,它有一个固定的名字叫"_Screen","_Screen"是一个特殊的表单对象;2."ShowWindow"是规定表单在"显示方面的从属关系"的属性ShowWindow属性实际上仅有两种选择:"作为顶层表单"与"在顶层表单中"。
有关VFP6.0项目连编技术的研究与实践
关 键 词 : sa F x r 程 序设 计语 言 ; 目连 编 Vi l o p o: u 项
Vsa F xr Mi oot 司推 出的可视化数据库管理 系统平 i l opo是 c sf公 u r
E主文件的文件名在项 目管理器 中用醒 目的粗 字体表示 。在项 目管 l
台, 它提供 了功能完备 的工具 、 极其友好 的用 户界 面 、 简单的数据存
取 方 式 。 Vsa F xr i l opo程序 设 计 语 言作 为 学 习软 件 编 程 的- /入 门 u -' 3
理器 中设置主文件的方法为 : 单击要设置为主文件 的程序 、 表单或菜
单 文 件 , ” 目” 单 或 快 捷 菜 单 中 选 择 ” 置 主 文 件 ” 令 。 常 在 从 项 菜 设 命 通
足菜 单或表单 。③建立事件循环 : 应用 程序 的 1 作环境建立之后, 显
示 出 初 始 的 用 户 界 面 。这 时 , 要 建 立 一 个 事 件 循 环 来 等 待 接 受 用 需
1项 目的建立
户的交互动作 通常通过命令 R A V N S来开始事件循环 , E DE E T 等待
项 目连 编 的步 骤 操 作 如 下 :
① 打开设计完成的项 目管理器 , 然后单击” 连编” 按钮。 ②在弹 出 的的对话框 中, 中” 选 连编应用程 序” 单选按 钮 , 生成. p文件 ; a p 若选 中” 连编可执行 文件 ” 单选按 钮 , 可建立一 个. e文件 ; e x 还可 以选 中”
现在 , 各级医院的 日常工 作通 常都采取信 息化的工作方式 , i a Vs l u
F xr 可用来设计 中小 型的医院信息系统。在 Vsa F xr 编程环 op u i l opo u
重要资料VFP表操作索引、统计、关联、连接等讲解
重要资料VFP表操作索引、统计、关联、连接等讲解查询、统计和多表操作表文件中记录的顺序通常是人们在输入数据时按输入的先后次序存储的,并以记录号表示,这个顺序只反映了存放数据的先后顺序。
但在数据处理实际应用中,由于数据库十分庞大,为了高效方便地处理数据,常常需要对记录位置进行重新整理,并按某种指定的顺序对表记录进行处理。
例如,对学生成绩表按学号为序显示输出记录,以便查找;或按总分高低为序输出记录,以便进行比较等等。
对记录位置进行重新整理通常有排序和索引两种方法。
排序是对表文件进行物理位置的整理;索引是对表文件进行逻辑位置的整理。
一、排序表文件的排序操作就是根据表的某个关键字或关键字表达式重新排列表记录的位置。
执行排序操作后将生成一个新的表文件(称为:排序文件)。
新文件的结构和数据可以与源文件完全相同,也可以只取源文件的部分字段。
新文件不改变源文件内容和记录顺序。
【命令】 SORT TO<新文件名>ON <字段名1>[/A] [/D] [/C] [,<字段名2> [/A] [/D] [/C]…] [ASCENDING|DESCENDING][<范围>][FOR<条件>|WHILE<条件>][FIELDS<字段名表>| FIELDS LIKE<通配符>|FIELDS EXCEPT<通配符>]【功能】对当前表中指定范围内、满足条件的记录按指定字段升序或降序重新排序,并将排序结果存入新文件名中。
【说明】①排序结果存入由TO <新文件名>指定的表文件中,系统默认文件扩展名为.DBF。
②在ON子句中的字段名表示排序的关键字段。
当使用一个关键字时,叫“单重排序”;使用多个关键字时,叫“多重排序”。
在多重排序中,关键字有主次之分。
主关键字是指能够唯一标识某个记录的关键字;次关键字是指标识具有某种相同属性的某些记录的关键字。
VFP答疑汇总(第一部分)
VFP答疑汇总【第一部分】1、如何用SQL语句直接新建表单(尤其是表单的属性设置代码)creat table 表名(字段1 c(8),字段2 c(8)) &&c为字符型browse last &&浏览表2、添加数据无法成功,如何将EXCEL表格导入到VFP?文件->导入->选择源表3、命令按钮“第一条、下一条、上一条、最后一条”代码*****command1为“第一条”command2为“下一条”command3为“上一条”command4为“最后一条”第一条:goto top &&移动到第一条mand1.enabled=.f. &&command1不可用mand3.enabled=.f. &&command3不可用if !eof() &&如果不是在最后一条记录上 mand2.enabled=.t. &&command2可用mand4.enabled=.t. &&command4可用endif &&注意不要忘记endifthisform.refresh &&刷新表单下一条: skip 1 &&移动到下一条mand1.enabled=.t. &&command1可用mand3.enabled=.t. &&command3 可用if eof() &&如果到达最后一条记录mand2.enabled=.f.mand4.enabled=.f.endifif !bof() &&如果不是在第一条记录上mand1.enabled=.t.mand3.enabled=.t.endifthisform.refresh上一条:skip -1 &&移动到上一条mand2.enabled=.t.mand4.enabled=.t.if bof() &&如果是第一条记录mand1.enabled=.f.mand3.enabled=.f.endifif !eof() &&如果不是最后一条记录mand2.enabled=.t.mand4.enabled=.t.endifthisform.refresh最后一条:goto bottom &&移动到最后一条mand4.enabled=.f.mand2.enabled=.f.if !bof() &&如果不是第一条记录mand1.enabled=.t.mand3.enabled=.t.endifthisform.refresh &&刷新表单4、用户登录界面代码的编写If alltrim(thisform.text1.value)=="" or alltrim(thisform.text2.value)==""=messagebox("用户名或密码不能为空!","查询系统") &&检测文本框内的输入值是否为空return.f. &&返回.F.endiflocate for alltrim(xm)==alltrim(thisform.text1.value);and alltrim(xh)==alltrim(thisform.text2.value) &&定位输入值与原表中的数据是否对应if !eof() &&如果没有超出表的范围,即数据符合表的内容 =messagebox('欢迎进入查询系统!','查询系统') &&弹出欢迎对话框do form 表格.scx &&打开新的表格thisform.release &&原登录界面自动退出else &&否则... 即输入值不在表的范围里=messagebox('用户名或密码错误!','查询系统') &&弹出错误对话框endif5、组合框中的代码如何编写?先将组合框的rowsourcetype设置为SQL语句,然后在rowsource里输入select distinct xbfrom 财务一班 into cursor temp1 &&意思就是将性别里的重复值去掉以后添加到该组合框中设置好组合框的数据源以后,再来编写组合框的interactivechange事件的代码,代码如下:public x &&定义全局变量x=this.value && x的值为该控件的当前值,this指的是当前该控件thisform.list1.rowsourcetype=3 &&定义数据源类型为SQL语句thisform.list1.rowsource='select xm from 财务一班where xb=x into cursor temp2'&&定义数据源,利用SQL语句将需要的数据插入到临时表temp2中thisform.refresh &&刷新表单6、组合框:运行表单后,组合框与列表框里出现了相同的内容检查一下数据源类型和数据源有没有问题,注意列表框的rowsource应该为“无”.7、选项按钮组的代码thisform.list1.rowsourcetype=3 &&定义数据源类型为SQL语句do case &&执行多条件语句case this.value=1 &&当选中第一个按钮时“男”thisform.list1.rowsource='select xm from 财务一班 where xb="男" into curs temp1'case this.value=2 &&当选中第二个按钮时“女”thisform.list1.rowsource='select xm from 财务一班 where xb="女" into curs temp2'endcasethisform.refresh8、复选框的代码thisform.list1.rowsourcetype=6 &&定义数据源类型为字段If this.value &&注意此处的value必须与初始值对应,如果value的属性初始值为0,即数值型时,就要将该条语句修改为ifthis.value==1,this指的是该复选框控件thisform.list1.columncount=1 &&该列表框list1的列数目为1.thisform.list1.rowsource='财务一班.xm' &&利用SQL语句添加xm到list1else &&否则... 此处指的是没有选中的时候thisform.list1.columncount=1thisform.list1.rowsource='财务一班.xh' &&该列表框的数据源为xh endifthisform.refresh &&刷新表单。
新编VFP程序设计教程课后答案
新编V F P程序设计教程课后答案(总9页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--思考题参考答案第1章数据库系统概述(1)数据库、数据库管理系统及数据库系统的概念分别是什么答:数据库是存储在计算机存储设备上的、结构化的相关数据集合;数据库管理系统是数据库系统中对数据进行管理的软件系统,是数据科系统的核心;数据库系统是指引入了数据库技术的计算机系统。
(2)在关系数据模型中,关系、元组、属性是什么概念答:一个关系就是一张二维表,由行和列构成;元组也称记录,是表中的一行;属性也称字段,是表中的一列。
(3)关系模型允许定义哪几类完整性约束答:实体完整性;参照完整性;用户定义完整性。
(4)关系的基本运算有哪几类答:传统的集合运算(并、交、差等);专门的关系运算(选择、投影、连接)。
(5)Visual FoxPro主要提供了哪几种设计工具答:略。
(6)如何设置当前工作目录答:界面方式:选择“工具|选项”菜单命令,打开“选项”对话框,在“文件位置”选项卡中选中“默认目录”列表项,单击“修改”命令按钮,打开“更改文件位置”对话框,选中“使用默认目录”复选框,单击“定位默认目录”文本框后的“…”命令按钮,选择一个目录后确定即可。
命令方式:SET DEFAULT TO <路径说明>。
(7)项目管理器的功能有哪些答:对项目中的表、数据库、查询、表单、报表、菜单等对象进行组织和管理;实现对项目中各个对象的创建、修改、删除等操作;将应用程序编译成可独立运行的可执行文件等。
第2章 Visual FoxPro的数据与数据运算(1)Visual FoxPro有哪几种常用的数据类型答:字符型、数值型、整型、浮点型、双精度型、货币型、日期型、日期时间型、逻辑型、备注型、通用型。
(2)字段变量与内存变量有何区别答:字段变量是数据表中的一个字段,变量名即字段名,针对不同的记录,同一字段可以有不同的字段值;内存变量是用户在程序中定义的,当程序运行时,在内存中临时创建内存变量,用于存放程序运行的中间结果和最终结果。
vfp常见20道编程题
vfp常见20道编程题VFP常见20道编程题1、求解AX^2 BX C=0的根、其中A、B、C三个参数由键盘输入。
一元二次方程的求根公式是:X=-b±√b2-4ac/2acleartext一元二次方程求解ax^2 +bx+ c=0endtextinput '请输入a的值:' to ainput '请输入b的值:' to binput '请输入c的值:' to cm=b*b-4*a*cif m>=0x1=(-b sqrt(m))/(2*a)x2=(-b-sqrt(m))/(2*a)'x1的值是:',x1'x2的值是:',x2else'此方程无实根!'endif2、编写程序将1-100之间所有能被7和3整除的整数输出clearfor i=1 to 100if i%3=0 and i%7=0iendifendfor3、编写程序计算e,e的近似值计算公式为:e=1 1/1! 1/2! 1/3! ... 1/n!,直到1/n!<0.000001为止e=1n=1do while .t.k=1for i=1 to nk=k*iendform=1/ke=e mif m<0.000001exitendifn=n 1enddo'e=1 1/1! 1/2! 1/3! … 1/n!=',e4、编写程序,计算1!2!3! .......N!=?clearinput '请输入n的值:' to ns=0t=1for i=1 to nt=t*is=s tendfor'1!2!3! .......N!=',s5、从键盘输入十个数,将它们进行降序排列。
clear dime a(10)for i=1 to 10input '请输入一个数:' to a(i)'降序排列为:'for i=1 to 9for j=i 1 to 10if a(i)<a(j)< p="">k=a(i)a(i)=a(j)a(j)=kendifendforalltrim(str(a(i))) ' 'endforalltrim(str(a(i)))6、(1)输出有*号组成的图形:*************************clearfor i=-3 to 3space(abs(i))for j=1 to 7-abs(i)*2 ??'*' endforendfor(2)********************clearfor i=1 to 5space(5-i)for j=1 to 2*i-1 ??'*'endforendfor7、编写一个程序产生一个有20项的Fibonacci数列并输出。
VisualFoxPro上机操作常见错误
VisualFoxPro上机操作常见错误Visual FoxPro上机操作常见错误在我们上机的过程中,难免会出现各种各样的错误,遇到各种各样的错误提示,那么如何根据这些错误提示找出我们的真正的错误根源呢?在这里我为大家整理了一些常见的错误的分析和解决方法。
一、输入命令时常见错误分析1、不能识别的命令谓词产生原因:(1)关键词拼写错误(2)命令动词与短语、短语中各单词之间没有用空格隔开(3)命令动词、短语中的英文单词、运算符号和标点符号等在全角状态下输入(4)在一行内输入多条命令(5)将一条命令多行输入时中途换行没有分号“;”2、找不到变量产生原因:(1)命令动词与短语、短语中各单词之间没有用空格隔开(2)命令动词、短语中的英文单词在全角状态下输入3、语法错误/命令中缺少必要的字句产生原因:(1)语句的结构不完整(2)运算符和标点符号是在全角状态下输入或为中文符号4、嵌套错误产生原因:(1)关键词缺少配对,如有if却没有end if,有for却没有end for(2)配对关键词的个数不相等5、操作符/操作数类型不匹配产生原因:运算符两边的变量或数据类型不一致6、缺少函数参数的值、类型或数目无效产生原因:函数参数的个数不对或传递的参数类型不对7、某某文件不存在产生原因:(1)没有设置默认路径(2)要打开的表文件或菜单文件没有存放在默认目录下(3)调用没有定义的函数或过程二、创建表文件时常见错误分析1、没有设置默认路径不少考生在事先没有用SET DEFAULT TO命令设置好当前盘当前目录的情况下进行考试,结果所创建的文件未能按要求存入指定盘指定目录中,由此常常导致上机操作考试失败。
2、创建表文件时忽略了小数点和小数位数也包含在字段宽度之内的事实。
导致输入数据时产生溢出。
3、在V isual FoxPro 中,A~Z单个英文字母已被专门用作工作区的别名,用户不能在用他们作为表文件名。
错误提示:“别名已被使用”。
vfp程序设计课后习题参考答案
第二章VFP语言元素一选择题1 C2 A3 D4 B5 D6 A7 D8 B9 B 10 C二填空题1、11.252、 13、XBASE4、FOXBASE5、职称=‟工程师‟ and (年龄>60 or 年龄<30)6、.f.7、.f.8、189、35610、2010第三章数据表与数据库一选择题1 A2 B3 A4 A5 B6 D7 C8 C9 C 10 C11 B 12 B 13 D 14 B 15 B 16B 17 D 18 C 19 A20 C二填空题1、自由表2、 33、LIST DISPLAY LIST DISPLAY4、EOF() RENO()5、表尾6、GO 2 DELETE NEXT 47、SET DA TABASE TO 数据库名8、表文件表文件9、升序降序不区分大小写字母10、永久关系第四章查询与视图一选择题1 D2 A3 A4 D5 D6 B7 C8 C9 D 10 B二填空题1、数据2、本地视图远程视图3、DELETE FROM <表名> [WHERE <条件>4、左外连接右外连接全连接5、不能6、77、A VG SUM8、条件9、DISTINCT10、修改第八章VFP程序设计一选择题1 C2 C3 A4 C5 C二填空题1、S=S*X X=X+12、S1=S1*I S2=S2+I3、S=S+X*X4、I<=15 I=I+1阶段性测试一一选择题1 A2 C3 B4 B5 D6 B7 D8 B9 B 10 A 11 D 12 B 13 D 14 A15 C 16 A17 A18 A19 D 20 B 21 C 22 A23 C 24 D 25 B二填空题1、112、.T.3、3 24、GO 3 LIST NEXT 35、.T.6、主关键字7、数据类型8、.T. .F.三书写命令1、SA VE TO ABC ALL LIKE XY*2、LIST FIELDS 姓名,联系电话FOR 姓名=‟王‟3、LIST FOR 少数民族=.T. YEAR(出生日期)>19904、INDEX ON 价格TAG JG DESCENDING5、REPLACE ALL …高教出版社‟ WITH …高等教育出版社‟6、REPLACE ALL 工资WITH 工资+1007、LIST MEMORY LIKE ?G*8、SORT TO TUSU ON 图书名/A9、LOCA TE FOR 专业=‟计算机‟10、CONTINUE阶段性测试二一选择题1 C2 D3 C4 D5 D6 D7 A8 C9 C 10 D11 C 12 B 13 C 14 C或D 15 B 16 C 17 A18 A19 D 20 B21 B 22 D 23 D 24 C 25 D二书写命令1、SORT TO BJJG 班级/D,籍贯/A FIELDS 姓名,性别,班级,籍贯FOR 性别=‟女‟2、INDEX ON 学号TO STU3、INDEX ON 性别TAG XB DESCENDING4、INDEX ON 出生日期TAG csrq OF CSRQ ASCENDING FOR 性别=‟男‟5、INDEX ON 出生日期TAG CSRQ ASCENDNG LIST NEXT 36、CALCULA TE MAX(考试成绩),MIN(考试成绩),A VG(考试成绩) FOR 课程代号=‟S1008‟7、COUNT FOR 课程代号=‟Y2003‟ TO A8、INDEX ON 课程代号TAG KCDH TOTAL TO KCDH ON 课程代号FIELDS 平时成;绩,考试成绩9、REPLACE ALL 平时成绩WITH 平时成绩+5 FOR 平时成绩>=75 AND 平时成绩<=8010、COPY TO abc FIELDS 学号,姓名,出生日期,籍贯三书写命令(使用SQL语句)1、CREA TE TABLE 学生表(学号C(11),姓名C(10),性别C(2),出生日期D(8))2、ALTER TABLE 学生表ALTER 学号C(10) ADD 籍贯C(20)3、INSERT INTO 学生表V ALUES(…2008010125‟,‟陈燕‟,‟女‟,{^1990/05/07},‟广西‟)4、ALTER TABLE 学生表RENAME 出身日期TO 出生年月5、DELETE FROM 学生表WHERE 姓名=‟张‟6、UPDA TE 学生表SET 籍贯=‟广东‟ WHERE 姓名=‟陈燕‟7、ALTER TABLE 学生表DROP 出生日期8、SELECT * FROM 学生表WHERE 性别=‟男‟ AND 籍贯!=湖南9、SELECT a.学号,a.姓名,b.课程代号FROM 学生基本情况表a INNER JOIN 学生成绩;表b ON a..学号=b.学号WHERE 课程代号IN(…1101‟,‟1102‟)10、SELECT * FROM 学生基本情况表WHERE 姓名=‟李‟ AND YEAR(出生日期)=1990下面红色字体是赠送的精美网络散文欣赏,不需要的朋友可以下载后编辑删除!!谢谢!!!一一条猎狗将兔子赶出了窝,一直追赶他,追了很久仍没有捉到。
vfp经典问答
vfp经典问答问题1: 怎样从表单返加一个值?答案1: 可以在模式表单的unload事件中用return来返回一个值。
问题2: 怎样在表单设计器中把属性或方法添加到表单中?答案2: 用表单设计器窗口或属性/事件/激活的方法窗口,从菜单中选择表单。
最初的两个选择是新属性和新方法。
选择你想要加入的一个并填写属性或方法的名称,新建的属性将出现在属性窗口的最底部。
问题3: 我把的工具条或设计窗口移出了屏幕,怎样把它移回来?答案3: 工具条或窗口的位置保存在vfp主目录下的foxuser.dbf表中。
如果删除或修改该文件,你的工具条和窗口将恢复他们的默认位置或你指定的位置。
或从系统菜单的窗口菜单中选择重新安排全部。
问题4: 当从valid事件返回.f.值时,如何避免'无效的的用户输入了'信息?答案4: 用 0来替换.f.当你从valid事件返回数值时,也就是在设置可取得焦点的控件的tab order。
问题5: 模式表单和非模式表单的区别是什么?答案5: 模式表单一般地被用来处理错误报告,或者请求用户确认操作等。
在模式表单中,菜单不能使用。
如果需要,模式表单也提供应用'等待状态'。
非模式表单提供更多的灵活性,它允许用户通过菜单操作,在表单中移动。
问题6: 为什么编译后的程序运行时,屏幕一闪就退出了,为什么?答案6: 你需要在你的程序中建立'等待状态'。
可以用read events 命令来建立等待状态。
要清除等待状态,可使用clear events命令。
如果你只有一个屏幕,把表单的windowstate属性设置为modal。
这也提供等待状态,但是不允许你使用菜单。
当模式表单被释放时,等待状态结束并返回至操作系统。
问题7: 为什么当我建立表单时,我用set命令设置的环境变量返回到了它们的默认值。
答案7: 这是由于你的表单的数据会话期设置为私有数据工作期。
很多"set"命令仅对当前数据工作期有效。
VFP基础:VFP项目文件的连编与运行
VFP基础:VFP项目文件的连编与运行连编是将项目中所有的文件连接编译在一起,这是大多数系统开发都要做的工作。
这里先介绍有关的两个重要概念。
主文件是“项目管理器”的主控程序,是整个应用程序的起点。
在Visual FoxPro中必须指定一个主文件,作为程序执行的起始点。
它应当是一个可执行的程序,这样的程序可以调用相应的程序,最后一般应回到主文件中。
“包含”是指应用程序的运行过程中不需要更新的项目,也就是一般不会再变动的项目。
它们主要有程序、图形、窗体、菜单、报表、查询等。
“排除”是指已添加在“项目管理器”中,但又在使用状态上被排除的项目。
通常,允许在程序运行过程中随意地更新它们,如数据库表。
对于在程序运行过程中可以更新和修改的文件,应将它们修改成“排除”状态。
指定项目的“包含”与“排除”状态的方法是:打开“项目管理器”,选择菜单栏的“项目”命令中的“包含/排除”命令项;或者通过单击鼠标右键,在弹出的快捷菜单中,选择“包含/排除”命令项。
在使用连编之前,要确定以下几个问题:(1)在“项目管理器”中加进所有参加连编的项目,如数据库、程序、表单、菜单、报表以及其他文本文件等。
(2)指定主文件。
(3)对有关数据文件设置“包含/排除”状态。
(4)确定程序(包括表单、菜单、程序、报表)之间的明确的调用关系。
(5)确定程序在连编完成之后的执行路径和文件名。
在上述问题确定后,即可对该项目文件进行编译。
通过设置“连编选项”对话框的“选项”,可以重新连编项目中的所有文件,并对每个源文件创建其对象文件。
同时在连编完成之后,可指定是否显示编译时的错误信息,也可指定连编应用程序之后,是否立即运行它。
foxpro表单建立连接的方式
FoxPro表单建立连接的方式在FoxPro中,表单的建立连接是非常重要的一部分。
通过建立连接,我们可以实现不同表单之间的数据传递和交互,提高应用程序的灵活性和功能性。
在本文中,我将为你详细介绍FoxPro表单建立连接的方式,并探讨其在实际应用中的作用和意义。
1. 数据源连接在FoxPro中,我们可以通过数据源连接来实现不同表单之间的数据传递。
数据源连接是通过指定数据源的路径和名称,将数据源与表单进行关联,从而实现数据的交互和共享。
通过数据源连接,我们可以实现在不同表单之间的数据查询、更新和删除操作,提高了应用程序的数据处理效率和灵活性。
2. 外部数据连接除了数据源连接,FoxPro还提供了外部数据连接的方式。
通过外部数据连接,我们可以将外部数据源(如Excel、Access等)与表单进行关联,实现数据的导入和导出。
这为应用程序的数据处理和交互提供了更多的可能性,扩展了应用程序的功能和适用范围。
3. 控件连接在FoxPro表单中,我们可以通过控件连接的方式实现不同表单之间的数据传递和交互。
通过在表单中添加控件,我们可以将控件与数据源进行关联,实现数据的展示和输入。
这种方式可以实现更加灵活和个性化的数据处理和显示,提高了用户体验和操作效率。
总结回顾通过以上方式,我们可以看到,FoxPro提供了多种方式来实现表单之间的连接。
数据源连接、外部数据连接和控件连接,为我们提供了丰富的选择,使我们可以根据实际需求和情景,灵活地进行表单连接的设计和实现。
在实际应用中,我们可以根据具体情况,选择合适的连接方式,提高应用程序的功能和效率。
个人观点和理解作为一名专业的文章写手,我对FoxPro表单建立连接的方式有着深入的理解和实践经验。
在我的工作中,我深入研究和应用了FoxPro的表单连接技术,通过数据源连接、外部数据连接和控件连接等方式,实现了多种复杂业务场景下的表单连接和数据交互。
我深信,通过合理的表单连接设计和实现,可以提高应用程序的性能和用户体验,满足不同场景下的需求。
vfp连编中的一些问题
VFP如何改变表单设计器大小我是个新手,哪位大侠能指点一下。
如何改变表单设计器白色的表单布局窗口的大小。
我做的表单比较大,在设计器里只能看见一部分。
打开vfp主菜单:工具>>选项,在选项窗口里选择“表单”页,找到最大设计区,选择需要的如:1280*1024.VFP程序连编中的常见问题及解决方案一、【问】vfp主程序执行重新连编项目时没有错误,可是要联编成exe文件时,会提示连编程序名.app文件时出错,这是为什么?还有我做了一个主界面的表单,可是执行完以后却不能执行以后的程序了,是不是缺少什么命令了?【答】本文所提"表单窗口属性",是指那些不但影响表单本身的特征(例如长宽等),而且对表单之外、项目之中的其它"元件"有影响的表单属性,它们包括如下三个:属性意义可选值(黑体为默认值)DeskTo p 指定表单是否包含在VF P主窗口中 F./.T.Window Type指定表单对象运行时的动作0-无模式/1-模式ShowWi ndow指定在创建过程中表单窗口显示表单或工具栏0-在屏幕中/1-在顶层表单中/3-做为顶层表单下面针对上述表单属性以及VFP中"桌面(DeskTo p)、屏幕(Screen)、表单(Form)"等概念谈一谈我的理解。
正因为VFP在此方面的设计混乱,也就决定了我不能系统地、有条理地分析这些问题,我做的只能是阐述一些事实。
1.表单是一个对象,外观表现上是一个窗口。
VFP的主窗口也可以说是一个"表单"对象,它有一个固定的名字叫"_Scree n","_Scree n"是一个特殊的表单对象;2."ShowWi ndow"是规定表单在"显示方面的从属关系"的属性ShowWi ndow属性实际上仅有两种选择:"作为顶层表单"与"在顶层表单中"。
VFP连编可执行文件
VFP 连编可执行文件VFP 连编可执行文件我用VFP 做了个程序,但非要有VFP 的地方才能运行,请问各位高手,要如何才能把它做成一个可以直接运行的程序呢????还有就是VFP 的主程序是什么东东?要怎么去写啊?新建一个项目,把你的表单、报表、程序之类反正你编的东西都加进去,如果你运行的是一个程序的话,直接把它设为主程序,否则新建一个主程序,格式参考如下:do form forms\kl * 你首先运行的表单,如果是其它的,自己改一下on shutdown quit read event如果您的程序全部都编好了就可以开始编译您的软件了,很简单,方法如下: 1.按下项目管理器中的连编,出现对话框;2.选择“连编可执行程序” ,确定;3.输入编译后的EXE 文件名,注意目录,然后保存;接着系统便进入编译过程,这一过程是电脑自动完成的。
在这一过程中系统会首先检查您的程序是否有错误,如有错误有时会给出提示,在提示中您一般可以选择“忽略”全部忽略” 、“取消”,这里的“忽略”就是不管出现的错误继续编译,当然一般不应该这样,一旦出现错误提示应选择取消,然后找出相应的错误,改正后再编译。
为了容易查找错误,系统还将错误记录下来,在菜单的“项目” -“错误”中可以看到,其中会讲明是什么错误,发生在哪个程序的哪条语句中。
对于有些错误会不给出提示而直接忽略,但它仍然会把错误记录下来。
如果系统编译时没有记录错误,那是因为在菜单上的工具” -“选项” -“常规” -“编程”中的“记录编译错误”没有打开。
VFP 编译生成的EXE 文件是不能直接在另一台电脑上运行的,除非该电脑中已经装有VFP 系统,因为EXE 文件的运行要依赖于安装在WINDOWS 系统中的运行时的库。
为此要为该软件制作一套安装盘,方法如下:在您开发的软件的目录下建一个子目录,比如叫exe,当然您也可以建在别什么地方或叫别的什么名字;将该软件所要用到的数据库(dbc)、数据库备注(det)、数据库索引(dcx )、表(dbf )、表索引(cdx 、idx )、表备注(fpt )、内 存变量文件(mem )等等,再就是编译后的 exe 文件通通复制到上面所建的目录中,然后将复制过去的数据表中试运行用 的记录清除,但要注意有些数据可能是软件预先应提供的, 那么就不应该删除,如与软件一起提供给用户的。
vfp连编中的一些问题
VFP程序连编中的常见问题及解决方案一、【问】vfp主程序执行重新连编项目时没有错误,可是要联编成exe文件时,会提示连编程序名.app文件时出错,这是为什么?还有我做了一个主界面的表单,可是执行完以后却不能执行以后的程序了,是不是缺少什么命令了?【答】本文所提"表单窗口属性",是指那些不但影响表单本身的特征(例如长宽等),而且对表单之外、项目之中的其它"元件"有影响的表单属性,它们包括如下三个:属性意义可选值(黑体为默认值) DeskTop 指定表单是否包含在VFP主窗口中 F./.T.WindowType 指定表单对象运行时的动作0-无模式/1-模式ShowWindow 指定在创建过程中表单窗口显示表单或工具栏0-在屏幕中/1-在顶层表单中/3-做为顶层表单下面针对上述表单属性以及VFP中"桌面(DeskTop)、屏幕(Screen)、表单(Form)"等概念谈一谈我的理解。
正因为VFP在此方面的设计混乱,也就决定了我不能系统地、有条理地分析这些问题,我做的只能是阐述一些事实。
1.表单是一个对象,外观表现上是一个窗口。
VFP的主窗口也可以说是一个"表单"对象,它有一个固定的名字叫"_Screen","_Screen"是一个特殊的表单对象;2."ShowWindow"是规定表单在"显示方面的从属关系"的属性ShowWindow属性实际上仅有两种选择:"作为顶层表单"与"在顶层表单中"。
为了表达方便,我们把具有前者属性值的表单称为"顶层表单",后者称为"从属表单"。
二者在显示方面的不同地位是:顶层表单在Windows任务栏上有一席之地,从属表单却没有这种待遇;顶层表单最小化时,从属表单随之被隐藏,当顶层表单关闭后,从属表单随之关闭。
vfp6.0连编后生成的EXE文件打开时只一闪
vfp6.0连编后生成的EXE文件打开时只一闪一、vfp6.0连编后生成的EXE文件打开时只一闪,然后就恢复了原状,打不开怎么办?在主程序中加入:read event 了吗!或者,—screen属性visible是否为.F.了在主程序中加入:read event ,在最后一个打开的表单结束后应加入:clear event请参考 <我这样做了,可是为什么还是一闪而过?>/read/78093.html二、我用VFP6.0做的一个系统,应用程序可以RUN,但是可执行文件连编之后用不了,打开它时一闪而过,什么东西看不到,但是在计算机的进程里面可以看到VFP6.0的程序已经运行了是不是用表单和菜单了如果是,在表单或菜单文件后加个循环就可以了:do 文件read events但要在结束菜单或释放表单处加循环结束语句:clear events如果不行的话,在表单的activate事件中加入代码:read event s可以的teacluy(kissy)的方法是完全正确的。
你一定是没有加循环语句。
你应该建立一个PRG文件,其内容大至为:---------------------------set ... off.....do form *.scx //运行表单//read event //为程序循环创建环境//---------------------------保存以上文件。
在你所有的表单文件中找出能够退出你的整个程序的那个表单,在退出按钮中的单击事件中加入这样一行:clear event新建一个项目文件在项目管理器中将所有程序要用到的表单和数据表/库等这些文件按它的分类添加进去。
用右键点击以上那个PRG文件,选择设置为主文件。
然后连编你的程序,应该就不会运行时一闪而过了。
祝你成功!谢谢各位,我的程序已经可以运行了,谢谢了一般定义时要先定义系统环境,再运行一个表单,下面要用readevents 激活所有事件,但在主菜单中或者某一个表单结束时不要忘记清除事件(clear events)。
vfp连编一闪解决办法
在VF中连编应用程序,程序不会一闪而过工具/原料电脑,vfp6.0步骤/方法1、第一个命名为main,内容如下:_screen.caption="成绩统计程序注册码生成器"*这里换成你想要在第一个表单上显示的标题_screen.icon=""_screen.visible=.f.on shutdown do quitdo form main*这里的main是你要最先运行的表单的名称read events2、第二个命名为quit,内容如下:clear eventsquit3、然后在main程序文件上点右键,选“设置主文件”4、下载附件中的文件,解压后复制到你开发的程序的目录下(几个DLL文件,vfp6chs.dll、vfp6enu.dll、vfp6r.dll、vfp6rchs.dll、vfp6renu.dll5、打开最先运行的表单(以下称首页,在属性里设置这样几个值AlwaysOnTop .t.AutoCenter .t.BorderStyle 2-固定对话框MaxButton .f.ShowWindow 2-作为顶层表单6、其它的分页表单属性,前面4个属性值相同,最后一个改为“1-在顶层表单中”。
7、首页的高(Height和宽(width在属性中设大一点,如800*600,分页的高和宽不要超过这个值就行。
8、选中首页表单的方法程序中的Unload Event这一项,双击,在里面输入quit 这句命令。
9、关闭所有表单,打开项目设计器,点右边的“连编”,然后勾选“选项”的前三项,“操作”为第三个“连编可执行文件”,最后点击“确定”。
注意事项这几个DLL文件,vfp6chs.dll、vfp6enu.dll、vfp6r.dll、vfp6rchs.dll、vfp6renu.dll,在vfp6.0的安装目录下就有,可直接复制。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
我vfp程序连编的问题_百度知道liutaoqq123 助理二级(171) | 我的提问 | 我的回答 | 知识掌门人 | 我的消息(0/0) | 百度首页| 退出新闻网页贴吧知道 MP3 图片百科帮助百度知道 > 电脑/网络 > 其他编程语言订阅该问题黑体炉-专业黑体辐射源生产商黑体炉.中科院上海福源光电技术有限公司从事黑体辐射源的研制开发已有二十多年历史,为...zox氧量分析仪显示表它是ZO型系列氧化锆氧气含量分析仪的二次显示仪表(俗称氧量显示仪). 安装方式有二种:...LCD/LED显示表全系列二线制LED/LCD智能显示表,全系列压力变送器及散件现货供应,价格优惠.欧利德电子...湖南维修软启动首选特洛伊专业维修变频器伺服系统 PLC 软启动技术雄厚,服务周到,信誉第一,质量第一鸡西市申通电抗器制造专业制造各种电抗器,启动电抗器,并联电抗器掉电再启动保护监控器-上海神引双...双华电器是一家集科研,生产,销售于一体的专业电动机保护器制造公司.在同行业率先通过I...找软启动就到西安启能高端电器公司提供的晶闸管软起动装置,是一种用于高压大型鼠笼式电机频繁起动的装置,利用先进的晶闸...您想在自己的网站上展示百度“知道”上的问答吗?来获取免费代码吧!如要投诉或提出意见建议,请到百度知道投诉吧反馈。
添加到搜藏已解决我vfp程序连编的问题悬赏分:5 - 解决时间:2007-3-20 09:30我的一个vfp主程序执行重新连编项目时没有错误,可是要联编成exe文件时,会提示连编程序名.app文件时出错,这是为什么?还有我做了一个主界面的表单,可是执行完以后却不能执行以后的程序了,是不是缺少什么命令了?提问者: lixuejiang16 - 试用期一级最佳答案其实,这个问题之所以被频繁地提出,并非是由于初学者的理解能力有问题,而实在是VFP 的设计混乱所致,以至于造成初学者理解上的混乱。
笔者曾在"济南万千"的"软件、编程、数据库"新闻组就此问题发过"窗口问题到此为止"的帖子,反响很大,现根据该帖进行整理,修正补足该帖中的一些不准确之处及遗漏。
本文所提"表单窗口属性",是指那些不但影响表单本身的特征(例如长宽等),而且对表单之外、项目之中的其它"元件"有影响的表单属性,它们包括如下三个:属性意义可选值(黑体为默认值)DeskTop 指定表单是否包含在VFP主窗口中 F./.T.WindowType 指定表单对象运行时的动作 0-无模式/1-模式ShowWindow 指定在创建过程中表单窗口显示表单或工具栏 0-在屏幕中/1-在顶层表单中/3-做为顶层表单下面针对上述表单属性以及VFP中"桌面(DeskTop)、屏幕(Screen)、表单(Form)"等概念谈一谈我的理解。
正因为VFP在此方面的设计混乱,也就决定了我不能系统地、有条理地分析这些问题,我做的只能是阐述一些事实。
1.表单是一个对象,外观表现上是一个窗口。
VFP的主窗口也可以说是一个"表单"对象,它有一个固定的名字叫"_Screen","_Screen"是一个特殊的表单对象;2."ShowWindow"是规定表单在"显示方面的从属关系"的属性ShowWindow属性实际上仅有两种选择:"作为顶层表单"与"在顶层表单中"。
为了表达方便,我们把具有前者属性值的表单称为"顶层表单",后者称为"从属表单"。
二者在显示方面的不同地位是:顶层表单在Windows任务栏上有一席之地,从属表单却没有这种待遇;顶层表单最小化时,从属表单随之被隐藏,当顶层表单关闭后,从属表单随之关闭。
ShowWindow的第三种选择"在屏幕中(默认)"仅是"在顶层表单中"的一个特例,即为"在_Screen这个特定的顶层表单中"之意,选择此种属性值时,它一定是个"从属表单"了。
_Screen具有"顶层表单"的一切显示特征。
从属表单不能独立地被显示,必须与他的"主表单"一起显示,这个"主表单"要么是一个顶层表单要么是VFP的窗口(_Screen)。
不需要为一个"从属表单"指定一个"主表单","从属表单"打开时,自动选择当前的活动顶层表单作为其"主表单",当然,如果选择了"在屏幕中",则这个从属表单自然就以_Screen为其主表单了。
3."DeskTop"是规定表单在"显示方面的活动范围"的属性。
DeskTop仅对"从属表单"有意义,当从属表单的DeskTop=.f.时,它只能显示在它的"顶层表单"的尺寸之内,当这个顶层表单的尺寸比它的尺寸还小时,它将会被部分地遮住;当从属表单的DeskTop=.t.时,它的活动范围将不受它的顶层表单尺寸的限制,它可以显示在电脑屏幕的任何地方甚至之外。
但不管它的位置离其顶层表单多远,一旦顶层表单最小化了,它会立即顺从地从电脑屏幕上消失。
4."ShowWindows"是规定表单被执行时的程序动作的属性分两种情况:(1)当表单的ShowWindow为"在屏幕中"和"在顶层表单中"时: a.当WindowType="模式"时,执行表单(DOFORM)后使得表单取得焦点,并且一直到它被关闭,在此期间,它的父窗口对象(可能是_Screen 或一个顶层表单)的菜单系统及其所属的子表单都不能用。
就是说,在表单存在期间,它将一直霸占着焦点.b.当WindowType="无模式"时,表单存在期间不会霸占焦点。
有一个例外,当DeskTop=.t.时,执行它时会使系统菜单失效,而DeskTop=.f.时则不会。
(2)当表单的ShowWindow为"做为顶层表单"时:表单的WindowType属性不管是有模式还是无模式,都不会霸占焦点。
5.一般情况,用户的应用系统需要一个主表单(主窗口),您可以将_Screen作为这个主窗口,也可以将项目中的某个"顶层表单"做为"主窗口",很难说那种更好。
但在此笔者建议使用VFP 主窗口做为用户系统的主窗口,这样可能会省去一些麻烦,因为VFP的很多工具条窗口被设计成只能开在_Screen中,例如在打印预览工具条等。
程序编译成EXE后,前者启动时先显示VFP主窗口,后者直接显示程序员自己设计的顶层表单。
对于后者,为屏蔽VFP主窗口,一定要在Config.fpw写入Screen=off(Config.fpw应加入到项目中,这样连编后它将被包含进EXE中,这一来可减少提供安装文件的数量,二来也可避免被用户更改)。
另一方面,很多应用系统程序都喜欢有一个漂亮的或曰自以为漂亮的启动封面,然后再进入主控界面。
如果一方面不希望在显示自己的启动封面前有VFP主窗口抢镜头,另一方面又想让VFP主窗口做为程序的主控界面时,解决办法是:设计一个"顶层表单"做为启动封面,config.fpw中仍须写Screen=off,然后在启动封面展示够了自己的魅力之后,用一句_Screen.Show将_Screen打回原形。
6.ShowWoindow与DeskTop属性仅规定了Form在显示方面的特征,而在"对象"这一更加高级的层面上,"顶层表单"与"从属表单"彼此是平级的,而_Screen虽然在显示方面与"顶层表单"具有相同的地位,但在对象层面却是高一级的家伙,所有表单,不管你是"顶层表单"还是"从属表单",都是它的子对象,这想起来就叫人糊涂,还是赶紧不想的好。
7."为什么我的程序编译后一闪而过?"这个问题有两种可能性,第一种是程序执行完成并退出,第二种是程序正在执行,但界面被隐藏。
对于第二种情况,可直接按"Ctrl-Alt-Del"键观察到。
造成这两种情况的原因如下:我们先看下面的一段示例程序,假如下面的示例程序是项目的主程序,并且应用项目以VFP 主窗口做为自己的主窗口。
*环境设置Do Form myScreen &&启动封面表单 _Screen.Show &&显示VFP主窗口Do myMenu.mpr &&安装菜单系统RETURN为达到在显示启动封面之前不显示VFP主窗口的目的,在Config.fpw中已写Screen=off,当程序执行到Do FormmyScreen这一句时,如果表单myScreen的ShowWindows属性被设为"在屏幕中",则不管是在开发环境还是在编译环境下,程序都将停下来,表单被显示在_Screen中,而_Screen被隐藏了,因此表单跟着也被隐藏了,所以在屏幕上什么也看不见。
这就是第二种情况的产生原因。
为了避免这种错误的出现,必须将myScreen表单的ShowWindow的属性设为"做为顶层表单",这样就可使在_Screen被隐藏的情况下,myScreen仍然可以被显示出来。
但请注意,在此情况下,DoFormmyScreen这句话执行后,程序并不能停下来,而是顺序地执行下去,一直到执行到RETURN 后程序退出,这也就是著名的"一闪而过"现象了。
为此必须在程序中包含事件处理命令Read Events使程序停下来,如下:*环境设置Do Form myScreen &&启动封面表单Read Events &&开始事件处理:使启动封面停下来_ Screen.Show &&显示VFP主窗口Do myMenu.mpr &&安装菜单系统Read Events &&开始事件处理RETURN程序执行Do Form myScreen后,将启动封面显示在屏幕上,然后向下执行到ReadEvents开始事件处理,此时启动封面表单必须由用户关闭或由表单事件关闭,否则程序将一直停在ReadEvents这一句上。