做VF系统常用到的代码

合集下载

VFP程序设计各种代码

VFP程序设计各种代码

系统首页点击进入系统:doform用户登录.scxreleasethisform用户登录登陆:usepasswordLocateFor用户密码=and用户名=IfEof()?Messagebox("密码错误,请重新输入!!",0+48+0+0,"确定")Thisform.RefreshCloseDatabaseElseThisform.releaseDoform主表单.scxEndIf退出:thisform.release影碟登记首页:gototopthisform.refresh上一页:skip-1ifbof()messagebox("不好意思,已是第一个记录",48,"信息窗口")endifthisform.refresh下一页:skipifeof()messagebox("不好意思,已是最后一条记录",48,"信息窗口")skip-1endifthisform.refresh末页:gotobottomthisform.refresh添加:iflen(thisform.影片编号.value)=0gobottomdelepackwaitwindow"影片编号不能为空"timeout1endifappendthisform.refresh删除ifmessagebox("确实要删除本记录么?",1+64+256,"提示")=1deletepackskip-1thisform.refreshendif退出a=messagebox("你真的要退出吗?",4+16+0,"对话")ifa=6releasethisformendif影碟信息查询用户信息查询(用户名用户信息表)租借信息查询()查询locafor影片编号=aiffound()sele*from影碟信息表videoinfwhere影片编号=aintocursor"ling"elsemessagebox("未找到该影片编号的记录!",48,"提示")endif退出thisform.refresh主程序settalkoffsetsafetyoffsetstatbaroffsetsysmenuoffsetsysmenutosetcenturyon_screen.visible=.f.doform系统首页readevents退出程序:是closeall否releasethisformQuit。

vf常用编辑命令及函数

vf常用编辑命令及函数

常用编程命令及常用函数注:在语法中如用方括号“[ ]”括起来的词句,表示可以不用。

常用命令假设(if...endif)循环(do while...enddo)分支(d 赋值(store...to)调用表单(do form)调用子返回调用程序(return)启动事件处理(read events)清除事开关命令执行状态(set talk on/off)结束程序(cancel)常用函数数值转换字符(str())字符转换数值(val())取系统日取年份(year())取月份(month())取天日(取整(int())四舍五入(round())删除标记记录号(recno())记录数(reccount())找到记录表结尾(eof())表开头(bof())消除后续消除前导空格(ltrim())假设语句根据一逻辑表达式的值,有条件的执行一组命令。

语法:IF 逻辑表达式 [THEN]程序组1[ELSE程序组2]ENDIF参数:逻辑表达式代表一逻辑值,如果这逻辑值为真,系统执行程序组1,否则不执行程序组1,如果有else及程序组2的话,则执行程序组2,如没有则什么也不执行,直接执行endif后面的语句。

备注:在if...endif之间还可以有if...endif,即该命令是可以嵌套的。

then可以有也可以没有,对程序没有影响。

else及程序组2可以有也可以没有,但如果有的话,在逻辑表达式的值为假时,程序组2将被执行。

if 与 endif 必须配对使用,即有一个 if 必须有一个 endif,否则程序会出错。

举例:例1:假如分数字段的值大于等于90,则让等级字段的值为“优”,并显示该记录。

程序如下:if 分数>=90replace 等级 with '优'displayendif例2:在数据库中可以把性别字段设为逻辑型,“真”代表“男”,“假”代表“女”,但显示时不能显示真、假,否则别人看不懂,而应显示男、女,因此我们设一变量xb,根据性别字段的具体值,将xb的值设为男或女,然后在需要的时候显示xb的值即可。

VF万能代码

VF万能代码

所谓万能代码就是当你不清楚表单题目中的代码该怎么写了,那么就把这些代码写进去,忽悠电脑,让电脑给你一些分。

如果你能写出正确的代码,还是自己写最好!VF上机题做完后,是机器评分。

它不会再去运行,只是看你的结果和过程是否符合要求。

所以,当你不会的时候可以把以下的代码全部写上。

if else endifdo case case otherwise endcasedo while exit loop enddofor endforscan exit loop endscan val() ctod() str() year() month()select from where order by desc group by having into tableinto array凡是题目当中出现的控件,必须在程序代码中出现thisform.text1.valuethisform.edit1.valuethisform.check1.valuebo1.valuethisform.List1.Valuethisform.spinner1.valuethisform.grid1.recordsource=" "题目要求中的表名,也全部写出来。

原则是:答案可以通过手工做出来。

过程电脑没办法评测,只能看代码中是否有关键语句,所以能写出多少,就写多少,不要管对错。

【重要提示】上机考试是由机器自动评分,在评分中大体上可以分为两种评分方法。

一是,检查命令是否正确,即检查题目正确答案所要求的关键字是否存在,如存在,则可以得分。

二是,检查所要求的结果是否正确,例如,考试要求建立一个查询,文件名为myquery.qpr,并设置查询去向为表results.dbf,则系统在评分是即要检查myquery.qpr 是否正确,又要检查results.dbf文件是否正确。

根据系统评分的特点,我们就可以对上机考试投机取巧。

如果评分系统是检查命令是否正确,就可以采用万能代码法。

VF代码

VF代码

1到100之间所有偶数之和set talk offclearsum=0for i=0 to 100 step 2sum=sum+iendfor?'2+4+6+......+100=',sum set talk onreturn1到100之间所有奇数之和set talk offclearsum=0for i=1 to 99 step 2sum=sum+iendfor?'1+3+5+......+99=',sumset talk onreturn1到100之间所有数之和set talk offclearsum=0for i=1 to 100sum=sum+iendfor?'1+2+3+......+100=' ,sum set talk onreturn1到49之间奇数之积clears=1for i=1 to 49 step 2s=s*iendfor?"s=",s1到50之间所有数之积set talk offclears=1for i=1 to 50s=s*iendfor?'1*2*......*50=',sset talk onreturn2到50的偶数之积.clears=1for i=2 to 50 step 2s=s*iendfor?"s=",s做金字塔图形s="△"j=14for i=1 to 7?space(j)??ss=s+"△"j=j-1next i求好中差set talk offclearaccept "请输入学号:" to xhhuse cjlocate for xh=xhhif !eof()cjj=cjdo casecase cjj>=89?"成绩为:?"??cjj??"等级为:优case cjj>=85 and cjj<89?"成绩为:"??cjj??"等级为:良"case cjj<85?"成绩为:"??cjj??"等级为:差"endcaseendifuseset talk onreturn求一元二次方程ax2+bx+c=0 的根SET TALK OFFCLEARINPUT "请输入a 的值:" TO aINPUT "请输入b 的值:" TO bINPUT "请输入c 的值:" TO cIF a<>0 &&有两个根delta=b^2-4*a*cre=-b/(2*a)IF delta>0 &&有两个不同实根sb=SQRT(delta)/2*a? "方程有两个实根:"pl="Xl="+STR(re+sb, 9, 4)p2="X2="+STR(re-sb, 9, 4)? Pl? P2ELSEIF delta=0 &&有两个相同实根? "方程有两个相同的实根:"? "x1=x2="+STR(re,9, 4)ELSExb=SQRT(-delta)/(2*a) &&仅有两个虚报? "方程有两个虚根"p1="xl="+STR(re,7,3)+"+"+IIF(xb=1,"", STR((xb),7, 3))+"i" p2="x2="+STR(re,7,3)+"+"+IIF(xb=1,"", STR((xb),7, 3))+"i" ? p1? p2ENDIFENDIFENDIFIF a=0 &&仅有一个根ygz=-b/C? "方程仅有一个根:"? "X="+STR(ygZ)ENDIF显示金字大宝塔文字clearc="金字大宝塔"n=len(c)/2for i=1 to n?space(7-i)for j=1 to i??subs(c,2*i-1,2)=inkey(0.5)endforendfor用★做倒立金字塔s="★★★★★★★★★★★" j=18for i=1 to 6?ss=substr(s,1,j)j=j-4next i用★做金字塔图形clearfor i=1 to 6? space(7-7)for j=1 to 2*i-1 ??"★"endforendfor。

vf常用命令(全)

vf常用命令(全)

命令结构FoxPro的命令结构一般由命令动词、语句体和注释几部分构成。

如:LIST [范围] [[FIELDS 字段名列表] [FOR 条件][WHILE 条件] [OFF] [TO PRINT]常用子句范围:表示记录的执行范围,可以是下面几项其中之一:ALL 表示全部记录;NEXT n 表示从当前记录开始的以下n条记录;RECORD n 表示第n号记录;REST 表示从当前记录到最后一条记录。

FIELDS 字段名表:用于指定操作的字段,多个字段时用逗号分隔。

FOR条件:对满足条件的记录进行操作。

WHILE 条件:当遇到第一个不满足条件的记录时,停止命令执行。

以下命令中,大写的英文词为关键词,必须原样照写。

“常用子句”指以下几个可选子句:[范围] [FIELDS 字段名表] [FOR 条件] [WHILE 条件]命令中的“列表”,指用“,”分隔的各项。

如“字段名列表”就是将各个字段名用逗号分隔。

部分英文词的意义:Databasename 数据名tablename 数据表名filename 文件名Viewname 视图名arrayname 数组名提示:加下划线的为本课程要求掌握的命令。

一、数据库的建立、打开、关闭和删除建立数据库:CREATE DATABASE [databasename|?]从磁盘中删除数据库:DELETE DATABASE databasename|?打开数据库:OPEN DATABASE [EXCLUSIVE|SHARED][NOUPDATE]打开数据库设计器(允许用户按交互方式编辑当前数据库):MODIFY DATABASE [databasename|?]指定的数据库databasename为当前数据库。

指定当前的数据库:SET DATABASE TO [databasename]Databasename必须为已经打开的数据库。

如果省略数据库名称databasename,则不指定当前数据库(没有当前数据库)。

2、VF基本命令及SQL语句

2、VF基本命令及SQL语句

视图的定义
Create view <视图名> as <查询语句>
视图的删除 Drop view <视图名>
SQL的数据查询功能 嵌套查询
格式:Select 目标列1,目标列2,…… from 表名1 where 字段名; In(select 字段名 from 表名2 where 筛选条件……) 等价于格式: Select 目标列1,目标列2,…… from 表名1 where exists; (select * from 表名2 where 联接条件) SQL的数据查询功能 分组与计算查询 格式:Select <目标列>… from <表名或视图名>… ; [where <筛选条件>] [ order by <排序列> [ASC | DESC] ; [group by <分组列> [having <分组条件>] ]
3.设置当前索引: Set order to [<数值表达式>] 注:0关闭索引,1第一个索引 Set order to [<单索引文件名>] 选择表所在工作区: select <工作区号>|<别名> 功能:从工作区中选择一个作为当前工作区。 说明:Select 0为 选择编号最小且没有使用的工作区为当前工 作区。 (即空闲的最小号工作区)
数据库操作相关命令 表结构的操作相关命令 表记录的操作相关命令基 本 命ຫໍສະໝຸດ 令表记录指针移动的相关命令
索引文件操作相关命令
物理排序 关联的建立: (临时联系)
数据库操作相关命令
建立数据库:create database [Database Name|?] 打开数据库:open database [Filename|?] [exclusive | shared] 修改数据库:modify database [DatabaseName |?] 删除数据库:delete database DatabaseName |? [DeleteTables][Recycle] 关闭数据库:close database

VF常用命令和程序命令.

VF常用命令和程序命令.

VF常用命令和程序命令一、主要命令: 1、CREATE 作用:建立一个新的表。

格式:CREATE [<文件>|?](注意,命令字符可取前面四个字符,后面可省略不写,即CREA,下同;中括号表示其中的参数是可选的;|管道符号表示两个参数只能选择一个,不能同时选择,下同。

)说明:文件指建立以.dbf为扩展名的VFP数据库文件,在命令后面加上一个问号表示系统会弹出对话框,要求用户输入想要建立的表名。

在命令中不加文件名或问号系统也会弹出对话框,要求用户输入想要建立的表名。

2、MODIFY STRUCTURE 作用:显示表文件结构,并允许修改此表的结构。

格式:MODIFY STRUCTURE 说明:只有在用USE命令打开表文件以后,才能显示或修改表文件的结构。

3、APPEND 作用:在当前表的尾部(无论表中有无记录)追加记录(在当前表指当前正使用的表)。

格式:APPEND [BLANK] 说明:在APPEND命令后面加上BLANK参数表示在当前表的尾部添加一条空白记录。

无BLANK参数时,表示在当前表的尾部添加一条记录并要求用户输入相应的字段内容。

4、INSERT 作用:在表文件中间插入一个新记录。

格式:INSERT [BEFORE] [BLANK] 说明:INSERT 在当前记录后插入一记录; INSERT BEFORE 在当前记录前插入一记录; INSERT BEFORE BLANK 在当前记录前插入一空记录。

5、BROWSE 作用:主要用于打开浏览窗口,查阅表文件并同时进行修改。

格式:BROWSE 6、USE 作用:打开和关闭表文件。

格式:USE [<文件名>] 说明:前一个命令用来打开<文件名>指定的表文件,该表如有备注型字段,则同时打开相应的备注文件(.fpt文件);后一个命令关闭当前打开的表文件。

7、LIST和DISPLAY 作用:显示表(.dbf的内容、结构或状态。

vf登陆界面代码

vf登陆界面代码

do casecase alltrim (thisform.text1.value)="000001".and.alltrim (thisform.text2.value)="abc"=messagebox("登录成功",32,"提示信息")stnumber="000001"do form 学生信息系统.scxcase alltrim (thisform.text1.value)="000002".and.alltrim (thisform.text2.value)="def"=messagebox("登录成功",32,"提示信息")stnumber="000002"do form 学生信息系统.scxotherwise=messagebox("登录失败,请重新输入",48,"提示信息")endcasedo casecase alltrim (thisform.text1.value)="20102326".and.alltrim (thisform.text2.value)="12"=messagebox("登录成功",32,"提示信息")stnumber="20102326"do form 学生信息查询.scxcase alltrim (thisform.text1.value)="20102312".and.alltrim (thisform.text2.value)="23"=messagebox("登录成功",32,"提示信息")stnumber="20102312"case alltrim (thisform.text1.value)="20102340".and.alltrim (thisform.text2.value)="34"=messagebox("登录成功",32,"提示信息")stnumber="20102340"case alltrim (thisform.text1.value)="20102314".and.alltrim (thisform.text2.value)="45"=messagebox("登录成功",32,"提示信息")stnumber="20102314"case alltrim (thisform.text1.value)="20102341".and.alltrim (thisform.text2.value)="56"=messagebox("登录成功",32,"提示信息")stnumber="20102341"case alltrim (thisform.text1.value)="20102302".and.alltrim (thisform.text2.value)="78"=messagebox("登录成功",32,"提示信息")stnumber="20102302"do form 学生信息查询.scxotherwise=messagebox("登录失败,请重新输入",64,"提示信息")Endcaseuse 用户表a=Thisform.text1.valueb=Thisform.text2.valueif a==""n=messagebox("请输入用户名",4+32,"学生管理系统登陆")do casecase n=6thisform.text1.value=""thisform.text1.setfocuscase n=7thisform.releaseendcaseelseif b==""n=messagebox("请输入密码",4+32,"学生管理系统登陆")do casecase n=6thisform.text2.value=""thisform.text2.setfocuscase n=7thisform.releaseendcaseendifendiflocate for alltrim(用户表.Id)==alltrim(a)if found()if alltrim(用户表.Ps)==alltrim(b)do form 学生信息查询.mprthisform.releaseelsemessagebox("密码错误,请重新输入",64,"学生管理系统登陆") errornumber=errornumber+1endifelsemessagebox("用户"+a+"不存在!",64,"学生管理系统登陆")errornumber=errornumber+1endifif errornumber=3MESSAGEBOX("您已经输入3次错误,请按确定退出",64,"学生管理系统") ask=messagebox("确定要退出吗?",4+32+256,"学生管理系统")if ask=6close allquitdo form 学生信息查询elseendifendifuse 用户表store allt(thisform.text1.value) to 用户名store allt(thisform.text2.value) to 密码if thisform.text1.value = thisform.text2.value and ;thisform.text3.value = thisform.text4.valueupdate 用户表set mm=密码=messagebox('用户名和密码修改成功!',0+64+0,'信息')else=messagebox('用户名和密码不统一,请重新输入!',0+64+0,'错误') Endifsele 用户表if allt(thisform.text1.value)==""thisform.text1.setfocuselselocate for allt(用户名)=allt(thisform.text1.value)if eof()messagebox("此用户不存在,请重新输入!",64,"提示") thisform.text1.value=""thisform.text1.setfocus()elseif !allt(密码)==allt(thisform.text2.value)messagebox("密码错误,请重新输入!",64,"提示")thisform.text2.value=""thisform.text2.setfocus()elseif allt(thisform.text3.value)==""messagebox("请输入新密码!",64,"提示")thisform.text3.setfocuselseif !allt(thisform.text3.value)==allt(thisform.text4.value) messagebox("确认密码错误,请重新输入!",64,"提示") thisform.text4.value=""thisform.text4.setfocuselserepl 密码with allt(thisform.text4.value)thisform.releaseendifendifendifendifendifdo casecase alltrim (thisform.text1.value)="20102326".and.alltrim (thisform.text2.value)="12"=messagebox("登录成功",32,"提示信息")stnumber="20102326"do form 学生信息查询.scxcase alltrim (thisform.text1.value)="20102312".and.alltrim (thisform.text2.value)="23"=messagebox("登录成功",32,"提示信息")stnumber="20102312"do form 学生信息查询.scxcase alltrim (thisform.text1.value)="20102340".and.alltrim (thisform.text2.value)="34"=messagebox("登录成功",32,"提示信息")stnumber="20102340"do form 学生信息查询.scxcase alltrim (thisform.text1.value)="20102314".and.alltrim (thisform.text2.value)="45"=messagebox("登录成功",32,"提示信息")stnumber="20102314"do form 学生信息查询.scxcase alltrim (thisform.text1.value)="20102341".and.alltrim (thisform.text2.value)="56"=messagebox("登录成功",32,"提示信息")stnumber="20102341"case alltrim (thisform.text1.value)="20102302".and.alltrim (thisform.text2.value)="78"=messagebox("登录成功",32,"提示信息")stnumber="20102302"do form 学生信息查询.scxotherwise=messagebox("登录失败,请重新输入",64,"提示信息")Endcaseselect 用户表locate for(alltrim(用户表.用户名));=upper(alltrim(.text1.value))if found()and upper(alltrim(密码));==upper(alltrim(thisform.pass.value))=messagebox("登录成功!欢迎进入学生信息查询")insert into 日志信息表(用户名,时间);values(thisform.text1.value,datetime())*do form start*do mainmenu.mprthisform.releaseelse#define mismatch_loc timeout 1.5thisform.text1.value=""thisform.pass.value=""thisform.text1.setfocusnumcount=numcount+1if numcount=3=messagebox("三次输入口令错误,即将退出程序") thisform.releaseendifendifs=substr(time(),1,2)f=substr(time(),4,2)m=substr(time(),7,2)mn=val(m)if int(mn/2)=mn/2thisform.text2.fxrecolor=rgb(255,0,0)elsethisform.text2.fxrecolor=rgb(0,0,255)endifthisform.text2.value=s+'时'+f+'分'+m+'秒'aa=alltrim(thisform.text1.value)use 用户表select intolocate for 用户名=aaif found() thenusemessagebox("dddddd")elseusemessagebox("xxxxxxxxxxxxxx")wait window mismatch_loc timeout 1.5thisform.text1.value=""thisform.text2.value=""thisform.text1.setfocusnumcount=numcount+1if numcount=3=messagebox("三次输入口令错误,即将退出程序")endif。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、时钟代码。

1.添加计时器控件time1
time1的interva为1000,enabled为T form1的load事件
public ss,mm,hh,x,y,x2,y2,x3,y3,x4,y4 store 0 to ss,mm,hh
form1的init事件
x=thisform.Width/2
y=thisform.Height/2
thisform.fillcolor=rgb(128,128,255) thisform.Circle(100,x,y)
for i=1 to 12
x1=x+100*cos(i*3.14159/6)
y1=y+100*sin(i*3.14159/6)
thisform.fillcolor=rgb(255,188,255)
thisform.Circle(5,x1,y1)
next
time1的time事件
thisform.forecolor=rgb(128,128,255)
x2=x+90*cos((ss-15)*3.14159/30)
y2=y+90*sin((ss-15)*3.14159/30) thisform.line(x,y,x2,y2)
ss=mod(ss+1,60)
x2=x+90*cos((ss-15)*3.14159/30)
y2=y+90*sin((ss-15)*3.14159/30) thisform.forecolor=rgb(255,0,0) thisform.line(x,y,x2,y2)
if ss=0
thisform.forecolor=rgb(128,128,255)
y3=y+70*sin((mm-15)*3.14159/30)
thisform.line(x,y,x3,y3)
mm=mod(mm+1,60)
thisform.forecolor=rgb(128,128,255)
x4=x+60*cos((hh-3)*3.14159/6)
y4=y+60*sin((hh-3)*3.14159/6)
thisform.line(x,y,x4,y4)
hh=hh+1/60
x3=x+70*cos((mm-15)*3.14159/30)
if hh>=12
hh=0
endif
endif
x3=x+70*cos((mm-15)*3.14159/30)
y3=y+70*sin((mm-15)*3.14159/30)
thisform.forecolor=rgb(0,255,0)
thisform.line(x,y,x3,y3)
x4=x+60*cos((hh-3)*3.14159/6)
y4=y+60*sin((hh-3)*3.14159/6)
thisform.forecolor=rgb(0,0,0)
thisform.line(x,y,x4,y4)
二、同心圆。

Form1的activate代码
thisform.scalemode=3
x=thisform.width/2
y=thisform.height/2
max=iif(x<y,x,y)
for r=0 to max step 10
thisform.circle(r,x,y)
next
form1的click代码(擦去同心圆)
thisform.cls
三、mouseup事件(鼠标)
1.form1的load代码事件
public ok
thisform.drawwidth=3
forecolor=rgb(0,0,255)
thisform.fillcolor=rgb(0,0,255)
thisform.fillstyle=0
2.form1的mousedown事件LPARAMETERS nButton, nShift, nXCoord, nYCoord ok=.T.
3.form1的mousemove事件LPARAMETERS nButton, nShift, nXCoord, nYCoord if ok
thisform.pset(nxcoord,nycoord)
endif
4.form1的mouseup事件
LPARAMETERS nButton, nShift, nXCoord, nYCoord ok=.F.
四、程序错误时,系统弹出错误对话框,设置“终止”、“重试”和“按钮”按钮,并默认第二个按钮。

任意When的事件代码如下(315页有详细操作)
messagebox("程序运行发生错误!",2+256+32,"错误提示")
五、焦点事件gotfocus代码如下。

Messagebox(“(任意内容) “,0,”(选中的命令按钮名)”)
六、打开文本的大小写,edtText编辑框的第一段变为大写。

edtText的cilck事件
thisform.edtText.selstart=0
thisform.edtText.sellength=at(chr(13),thisform.edtText.text)-1
thisform.edtText.seltext=upper(thisform.edtText.seltext)
cmdopenfile的cilck事件
thisform.edtText.selstart=0
thisform.edtText.sellength=at(chr(13),thisform.edtText.text)-1
thisform.edtText.seltext=upper(thisform.edtText.seltext)
exit的cilck事件
release thisform
七、时间
计时器控件的timer的timer事件
bel1.caption=ttoc(datetime())
八、电脑中的常用工具
新建菜单》菜单》输入“常用工具”》创建》
1.可输入“计算机命令run/n calc”
2.可输入、“记事本命令run/n notepad”
3.可输入“写字版命令run/n write ”
九、超链接
超链接控件+命令按钮+command的click事件
代码如下:
thisform.hyperlink1.navigateto("网址")
十、项目连编
_screen.visible=t.
_screen.caption=”项目连编”
_screen.windowstate=2
_screen.picture=”图片的路径”
do “图片的路径”
read events
其中main要设为主文件(程序)
十一、登陆界面
Command的click事件
if thisform.text1.value="abc" and thisform.text2.value="123" wait"欢迎使用!"
do "g:\vf\项目\little star的菜单.mpr"
else
wait"用户名或密码不对!"
endif
command的cilck事件
release thisform。

相关文档
最新文档