到底什么事VFP?如何去运行它?有没有什么软件方面的要求?
vfp就是Visual FoxPro 一种计算机语言,也是数据库设计软件 计算机等级考试二级VFP考试简介 公共基础知识部分30分 专业语言部分 70分 基本要求 1、 具有数据库系统的基础知识 2、 基本了解面向对象的概念 3、 掌握关系数据库的基本原理 4、 掌握数据库程序设计方法 5、 能够使用VISUAL FOXPRO建立一个小型数据库应用系统 考试内容 一、 VISUAL FOXPRO基础知识 1、 基本概念 数据库、数据模型、数据库管理系统、类和对象、事件、方法。
2、 关系数据库: (1) 关系数据库:关系模型、关系模式、关系、元组、属性、域、主关键字和外部关 键字。
(2) 关系运算:选择、投影、联接。
(3) 数据的一致性和完整性:实体完整性、域完整性、参照完整性。
3、 VISUAL FOXPRO系统特点与工作方式: (1) WINDOWS版本数据库的特点。
(2) 数据类型和主要文件类型。
(3) 各种设器和向导 (4) 工作方式:交互方式(命令方式、可视化操作)和程序运行方式。
4、 VISUAL FOXPRO的基本数据元素: (1) 常量、变量、表达式。
(2) 常用函数:字符处理函数、数值计算函数、日期时间函数、数据类型转换函数、 测试函数。
二、 VISUAL FOXPRO数据库的基本操作 1、 数据库和表的建立、修改与有效性检验: (1) 表结构的建立与修改。
(2) 表记录的浏览、增加、删除与修改。
(3) 创建数据库,向数据库添加或从数据库删除表。
(4) 设定字段级规则和记录规则。
(5) 表的索引:主索引、候选索引、普通索引、唯一索引。
2、 多表操作: (1) 选择工作区。
(2) 建立表之间的关联:一对一的关联;一对多的关联。
(3) 设置参照完整性。
(4) 表的联接JOIN:内部联接;外部联接:左联接、右联接、完全联接。
(5) 建立表间临时关联。
3、 建立视图与数据查询: (1) 查询文件的建立、执行与修改。
(2) 视图文件的建立、查看与修改。
(3) 建立多表查询。
三、 关系数据库标准语言SQL 1、 SQL的数据定义功能: (1) CREATE TABLE –SQL (2) ALTER TABLE –SQL 2、 SQL的数据修改功能: (1) DELETE –SQL (2) INSERT –SQL (3) UPDATE –SQL 3、 SQL的数据查询功能: (1) 简单查询。
(2) 嵌套查询。
(3) 联接查询。
(4) 分组与计算查询。
(5) 集合的并运算。
四、 项目管理器、设计器和向导的使用 1、 使用项目管理器: (1) 使用“数据”选项卡。
(2) 使用“文档”选项卡。
2、 使用表单设计器: (1) 在表单中加入和修改控件对象。
(2) 设定数据环境。
3、 使用菜单设计器: (1) 建立主选项。
(2) 设计子菜单。
(3) 设定菜单选项程序代码。
4、 使用报表设计器: (1) 生成快速报表。
(2) 修改报表布局。
(3) 设计分组报表。
(4) 设计多栏报表。
5、 使用应用程序向导。
五、 VISUAL FOXPRO程序设计 1、 命令文件的建立与运行: (1) 程序文件的建立。
(2) 简单的交互式输入输出命令。
(3) 应用程序的调试与执行。
2、 结构化程序设计: (1) 顺序结构程序设计。
(2) 选择结构程序设计。
(3) 循环结构程序设计。
3、 过程与过程调用。
(1) 子程序设计与调用。
(2) 过程与过程文件。
(3) 局部变量和全局变量、过程调用中的参数传递。
考试方式: 1、 笔试:90分钟。
2、 上机操作:90分钟。
上机操作包括: (1) 基本操作。
(2) 简单应用。
(3) 综合应用。
试形式 笔试部分:共60分,基础知识的单选题20分(所有语种相同,每题1分),VFP知识的单选题10分(每题1分),VFP知识的填空题30分(每空1分)。
答题要求:单选题的答案必须涂划在专用答题卡上;填空题的答案必须写在专用答题纸上(填空时注意:每个空要按标号顺序填,一空占一行,不是一题一行,因为有的题目一题包含多个空)。
上机部分:共40分,各场次的考试内容不同,但题型和知识点类似,都是考4道关于VFP的操作题,每题5—15分不等。
每场必考的四大项操作题是:1.项目、数据库的基本操作 2.设计查询 3. 设计菜单 4.设计表单。
值得注意的是:程序设计的含量越来越大,考试形式是放在表单或菜单设计的过程代码里考。
答题要求:先从资源管理器中运行A盘上的“上机考试”程序,输入自己的准考证号、姓名和试卷代号,确认并退出。
然后进入VFP应用程序界面,将系统默认路径设置为A盘,再开始直接在考试盘上按要求做题,中途不要随意抽出软盘,考试结束时要先退出VFP系统再取出软盘,贴上标签上交,标签上需要填写学校名称、自己的姓名和准考证号、考试的语种及场次 VFP xx。
合格标准 VFP二级考试最终的合格线以往是按全省平均分划定的,每次公布的成绩都是经过系数处理过的,并没有达到考试大纲中要求的60分的及格线,2000秋天的合格线为50分(其中上机成绩不得低于18分),2001年春天的合格线为56分(其中上机成绩不得低于24分),但对笔试的最低分一直没有要求。
值得注意的是,随着考试次数的增多,考试内容越来越广,难度也越来越大,但由于教师任课经验越来越丰富,使学生的考试成绩越来越高,可以预计,今秋的合格分数线有可能要高于以往。
值得一提的是,从今年暑假召开的省计算...
VFP如何将一个表单生成可单独运行的程序?
展开全部 VFP编写的表单要脱离VFP单独运行,必须新建一个“项目”,把表单添加到项目“文档”中,连编这个项目,选择连编为EXE文件,以后这个包含有该表单的项目就可单独运行了。
不过,还要设置好READ EVENTS( 建立运行等待),否则此EXE文件就会一闪而过。
另外,要使连编好的EXE文件在没有安装VFP的电脑上运行,还需要把表单用到的“可视类”加入项目一起连编,同时把VFP的运行库文件拷在同一目录中(或添加到没有安装VFP电脑的WINDOWS\system32中)。
...
我想要运行一个VFP编写EXE执行文件,如何在运行之前先运行我的这...
在我这测试成功,如果你那里不行可能是我们的系统日期输出格式不一样,建议你先运行date/t>date.txt看看你的日期格式.我的格式是2006-12-29 星期五复制以下代码保存为a.bat@echo offecho 2005-12-29 | datecall main.exeecho 2006-12-29 | dateexit以上代码运行时会有个dos窗口出现,若不想它出现可以再编一个批处理b.bat用来调用它,可以实现最小化运行,代码如下:start/min a.batexit这样运行b.bat就可以启动a.bat并且是最小化运行.
VFP连编后,在VFP的软件中能运行,但连编好后的VFP程序不能执...
VFP编译后的程序如果要在其他机器上运行,则需要在其他机器上安装对应版本VFP的类库文件。
如:你用VFP6编译了一个EXE文件,要拷贝在其他机器上运行。
如果其他机器上未安装VFP6,或者安装了其他版本的vfp,则在该机器运行vfp6编译的EXE文件时会出现你说的情况。
解决的办法是拷贝对应版本的vfp类库文件到编译的EXE目录下或拷贝到WINDOWS的SYSTEM32目录下即可正常运行。
vfp各版本类库文件在网上均可下载。
VFP 写的软件同步升级 EXE
当然可以,你把要升级的EXE放在局域网中的一台电脑上并共享,在客户机建个ini的文件,里面记录服务器名和升级的计算机名称给我的给你参考 *Set Step On Clear All Set Talk Off _Screen.Visible=.F. Local lcExecPath, lcFileName, lcSkeleton, lnFileCount,lcUpdatePath Local lcExe, ltLatest, lnI Local Array TargetFile(1), SourceFile(1) * Get the path to the executable directory lcExecPath = Justpath(Sys(16)) * Make that the default Set Default To (lcExecPath) fname='f:\Prg\public\progs\userfun.prg' Set Procedure To (fname) && AddI cFileName='Config.ini' If File(cFileName)=.F. If Adir(cIniFile,'*.ini')=0 Messagebox('没有 Ini 设置文件',48,'提示',4000) Return Endif cFileName=cIniFile(1,1) Endif lcUpdatePath=Alltrim(read_ini(cFileName,'updatepath')) lcEXE = read_ini(cFileName,'Excuteprog') nupdatefile=0 *SET STEP ON lok=.T. If Empty(lcUpdatePath) lok=.F. Messagebox('没有设置程序更新目录',48,'提示',4000) Else If Right(lcUpdatePath,1)'\' lcUpdatePath=lcUpdatePath+'\' Endif lok=.T. If Direct(lcUpdatePath)=.F. If getPlatform()>=2 &&win9x则不自动连接 lcpath = lcUpdatePath lcdrive = read_ini(cFileName,[Cdrive]) lcusername = read_ini(cFileName,[Cusername]) lcpassword = read_ini(cFileName,[Cpassword]) llogin=net_login(lcpath ,lcdrive ,lcusername ,lcpassword ) If llogin=.T. lok=.T. Else lok=.F. Endif Else lok=.F. Endif Endif If lok=.T. updatefile(lcUpdatePath) Else Wait Clear If Left(lcUpdatePath,2)='\\' N=At('\',Substr(lcUpdatePath,3)) cPc=Substr(lcUpdatePath,3,N-1) Messagebox('网络机器:'+cPc+'没有联上网络,不能更新程序!',48,'提示',3000) Return .F. Else Messagebox('程序更新目录:'+lcUpdatePath+'不存在,不能更新程序!',48,'提示',3000) Endif Endif Endif lcSelfFileName=Upper(Justfname(Sys(16))) &&程序本身的名字 If Empty(lcExe) * lcSelfFileName=Upper(Justfname(Sys(16))) &&程序本身的名字 N=Adir(exeFile,'*.exe') If N=1 Messagebox('没有执行程序!',48,'提示',3000) Return Endif For j=1 To N If lcSelfFileNameUpper(exeFile(j,1)) lcExe=exeFile(j,1) Exit Endif Endfor Endif If File(lcExe)=.F. Messagebox('没有执行程序!',48,'提示',3000) Else openfile(lcExe) Endif Quit RETURN Function updatefile Parameters lcUpdatePath lcSkeleton ="*.*" nTargetFileCount = Adir(TargetFile,lcSkeleton) lcSelfFileName=Upper(Justfname(Sys(16))) &&程序本身的名字 lcMsg = "正在检查更新程序与目录,请稍候!......." Wait Window lcMsg Noclear Nowait At Srow()/2, (Scols()-Len(lcMsg))/2 nSourceFileCount=Adir(SourceFile,lcUpdatePath+lcSkeleton) lcFileName = Upper(Juststem(Sys(16))) If nSourceFileCount>0 &&源程序目录有文件,则根据文件修改日期来更新 Wait Window lcMsg Noclear Nowait At Srow()/2, (Scols()-Len(lcMsg))/2 ltLatest = {} For lnI = 1 To nSourceFileCount cfilename=Alltrim(SourceFile(lnI ,1)) If cfilename=lcSelfFileName &&如果是程序本身,则跳过 Loop Endif dfiledate=SourceFile(lnI ,3) cfiletime=SourceFile(lnI ,4) N=Ascan(TargetFile,cfilename)&&检查目标目录处是否有与源程序相同的文件 If N>0 &&有 i=Mod(N,5)+Int(N/5) &&第几行 If dfiledate>TargetFile(i,3) Or (dfiledate=TargetFile(i,3) And cfiletime>TargetFile(i,4) ) &&如果源文件日期时间大于目标文件的,就更新 Try Copy File (lcUpdatePath+cfilename) To (cfilename) nupdatefile=nupdatefile+1 Catch If lcFileNamecfilename Messagebox('程序文件:'+cfilename+'正在使用,不能更新。
'+Chr(13)+'请关闭后重新启动更新程序!',48,'提示',3000) Else m=1 Endif Endtry Endif Else &&没有,直接复制过来 Try Copy File (lcUpdatePath+cfilename) To (cfilename) nupdatefile=nupdatefile+1 Catch If lcFileNamecfilename Messagebox('程序文件:'+cfilename+'正在使用,不能更新。
'+Chr(13)+'请关闭后重新启动更新程序!',48,'提示',3000) Else m=1 Endif Endtry Endif Endfor Endif Wait Clear If nupdatefile>0 Messagebox('本次更新了'+Str(nupdatefile,3)+'个程序文件!',64,'提示',1000) Endif Endfunc
怎样才能将编好的多用户VFP6.0数据库应用软件在网络上运行起来?
第一个问题: 最简单的办法是将数据库的电脑C:映射成本地盘符,这样就可以像本地数据库一样操作. 第二个问题: 如果是非独占状态,那么这样写 if rlock() repl ..... *写一个替代成功的提示 else *写一个无法替换的提示 endif不过这样也有很多的问题,毕竟多用户条件下,vfp的数据库不是太方便.建议你查看sql和vfp配合的资料,使用sql的数据库,那样会减少不少网络问题的.
转载请注明出处51数据库 » vfp编写软件的运行