用VFP设计完成学生管理数据库系统(数据库文件名为“学生管理”) (1)、建立如下表文件:学生基本情况表(
先为该系统设立一个项目,进入页面后,单击文件-新建-项目-新建文件,然后创建项目“学生管理数据库系统”
创建数据库:
(1)在项目管理器中选择“数据”选项卡
(2)在“数据”选项卡中选择“数据库”,这时“文件”选项卡右边的“新建”和“添加”按键由灰变黑。
(3)按下“新建”按钮,出现“新建数据库对话框”
(4)在“新建数据库对话框”中选择“新建数据库”进入数据库创建对话框,
(5)在“数据库名”处输入数据库名称,如“学生管理”
(6)单击“确定”按钮即可完成。
创建数据表:
(1)在“项目管理器”窗口中,单击“数据”选项卡,选中要添加表的数据库并展开,这里选中相对的数据库
(2)选中“表”文件对象,单击项目管理器右边的“新建”按钮
(3)选中“新建表”按钮,进入“创建”对话框,并输入表的名称,如“学生基本情况表”
(4)单击“保存”进入“表设计器”窗口
编写的一个软件系统VfpWeb,讨论了VfpWeb的功能、用途、特点及脚本程序的编写方法。提出利用VfpWeb进行网站设计制作的方案。
网站设计 众所周知,VFP是一个数据库管理系统,对于中小型数据库,他是非常得心应手的,但利用VFP开发Web系统、制作网站,可能许多人都没听说过。制作网站最传统的方法就是用ASP,ASP脚本中可以使用VbScript与JavaScript两种脚本语言。下面要介绍的就是如何在ASP中使用另一种语言VFP进行脚本程序的编写。当然,ASP本身是不能使用VFP程序的,为了能使用VFP,笔者专门开发了一个名叫VfpWeb的接口系统,该系统使得在ASP下使用VFP脚本程序成为可能。
1 VfpWeb介绍
VfpWeb是一个ASP的VFP接口系统,使用他之后就可以像在ASP中使用VbScript与JavaScript脚本那样,用VFP编写脚本程序了。用VfpWeb并不是仅仅能使用DBF数据库,而是可以真正用VFP程序进行编程。系统的实现原理是ASP调用VfpWeb的COM接口,再由COM接口调用VFP脚本程序,完成系统的工作。由于系统是一体化的,这些调用关系都是透明的,对用户来讲是不需要掌握的。因此系统的使用并不比直接用ASP麻烦。
由于系统的本质还是ASP,因此系统是需要ASP支持的,也就是说,必须先安装WEB服务器。VfpWeb支持Windows 98/Me下的PWS与Windows 2000下的IIS。系统安装后包括内核、管理工具与示例。管理工具进行脚本我与编译等工作,内核部分以DLL文件的方式提供发布服务。系统目前用于VFP7.0版,需要7.0版的VFP支持。虽然发布只需要VFP7.0的几个动态链接库,但安装开发环境,以便直接开发。 VfpWeb脚本文件不需要放在Web发布树中,因此客户端是无法查看到源程序代码的,这样可以起到保密的作用。
2 VfpWeb脚本程序格式
VfpWeb脚本程序的扩展名为FWX,是一个文本文件。其内容是HTML文本与VFP脚本程序的组合。所有的VFP脚本程序应该放在<%与%>中,即在<%%>内的是VFP脚本程序,其外的是HTML文本。这些与ASP的结构是一样的。FWX文件由系统编译成FXP文件,在ASP中调用,因此,使用VfpWeb并不排斥继续在ASP中使用另外2种脚本程序。
HTML文本块的格式:HTML文本块中可以使用各种HTML标签。包括HTML注释:即写在<!--与-->之间的内容,浏览器忽略其内容,一般用于注释及编写客户端脚本程序用,VfpWeb对其不做任何外VfpWeb增加了一种注释,内容放在<*与*>之间,其内容在编译时就直接丢弃,因此不会发送到客户端。
在HTML文本中,用<%=表达式%>的格式可以直接输出VFP表达式的值。表达式可以是任意类型的,系统会自动转换为字符串与HTML文本进行合并。 HTML块与VFP脚本块可以任意混合,甚至在一行中也可以多次相互变换。
在VFP脚本块中,VfpWeb增加了在一行中写多条语句的功能,只需在多条语句之间用“:”隔开即可(系统可以自动区分语句中的冒号)。这样把有关的几条语句写在一行中,可以增加程序的可读性。
建立项目,在项目管理器中,连编项目会输出EXE。然后把EXE文件和VFP的运行库带上,就可以独立运行了。你的关键问题就在于运行库没拷出来,关拷一个EXE是不行的。 以下各版本运行库文件可参考一下:
各版本的支持运行库文件:
VFP3 的运行库: VFP300ESL
VFP5 的运行库:VFP500DLL、VFP5ENUDLL
VFP6 的运行库:vfp6rdll、vfp6rchsdll、gdiplusdll (VFP6RUNEXE、VFP6RDLL、VFP6RENUDLL)
VFP7 的运行库:msvcr70dll、vfp7rdll、vfp7rchsdll、gdiplusdll、vfp7renudll
VFP8 的运行库:msvcr70dll、vfp8rdll、vfp8rchsdll、gdiplusdll
VFP9 的运行库:msvcr71dll、vfp9rdll、vfp9rchsdll、gdiplusdll、vfp9tdll
有2个方式:
1,使用条形码字体, 安装到系统后, 设置一个label,或者textbox的字体为这个条形码字体, 直接设置caption或者value为条形码数字就行
2,使用ocx控件, 这个网上搜
使用VFP开发一个应用软件,最后一步是制作发布磁盘。使用VFP安装向导制作的发布磁盘在安装时一般只在“开始\程序\Visual FoxPro 应用程序”组中建立快捷方式。如果希望在安装时把快捷方式建在桌面上、开始菜单中或启动组中,该怎么办呢?
解决思路
下面是笔者的解决办法。大体可分两步进行:
1.使用VFP编制一个用来建立快捷方式的程序(设程序名为CreateShortCutexe);
2.在安装向导“步骤4-安装选项”的“执行程序”标签下的文本框中填入前面建立的程序文件名及其路径(通过浏览“…”按钮查找)。
这里的关键是第一步,如果有了第一步建立的程序CreateShortCutexe,后一步是十分简单的。接下来具体说明用VFP编制建立快捷方式程序的方法。
具体实现
建立快捷方式的程序中需要使用DLL函数fCreateShellLink,该函数在STKIT432DLL中(STKIT432DLL可在Visual Basic 40 for Windows的Setup Kit中找到)。在VFP中声明fCreateShellLink函数的命令是:
declare long fCreateShellLink in “STKIT432DLL” String p1, String p2, String p3, String p4
其中:
● p1: 用来指出快捷方式要加入的文件夹及其相对于Windows\Programs文件夹的路径;
● p2: 用来指出快捷方式的名称;
● p3: 用来指出程序文件名(含扩展名)及其路径;
● p4: 用来指出执行程序的命令行参数,一般为空串。
例如,要想把程序“C:\Windows\command
com”的快捷方式以“DOS窗口”为名建立在附件中,可用命令:
fCreateShellLink(“\附件”,“DOS窗口”, “C:\Windows\commandcom”, “”)
下面创建前面所述的CreateShortCutexe程序,先检查Windows\System文件夹中是否存在STKIT432DLL文件,如果存在(否则,找到该文件将其复制到Windows\System文件夹),执行如下操作:
1.打开VFP,新建一个名为CreateShortCut的项目。
2 在CreateShortCut项目中新建一个名为prgCreateShortCut的程序,程序清单如下:
● 程序prgCreateShortCutPRG
LPARAMETERS sPn,sPd
applicationvisible=f
if type(‘sPn’)=‘L’
sPn=“CreateShortCutexe”
sPd=“建立快捷方式”
endif
if upper(sPn)= “CREATESHORTCUTEXE”
cl=chr(13)+chr(10)+chr(13)+chr(10)
sTs=“本程序使用方法:”+cl;
+“先把本程序复制到要建立快捷方式的程序所在的文件夹,然后,”+cl ;
+“从“开始”菜单中单击“运行”,在“运行”对话框中,通过”+cl ;
+““浏览”按钮找到本程序,再在“打开”组合框中本程序名之后”+cl ;
+“输入命令行参数: 程序文件名(含扩展名)> 快捷方式标题>,”+cl ;
+“最后,按“确定”按钮执行。”
messagebox(sTs,64, “提示”)
Cancel
endif
sPn=fullpath(sPn)
do form frmCreateShortCut with sPn,sPd
read events
3 在CreateShortCut项目中新建一个文件名为frmCreateShortCut的表单(如下图)。各复选框的名称自上而下依次为: chkProgram、chkDeskTop、chkStartMenu、chkStartUp、chkQuickLaunch。
摘 要:本文先容了利用Visual FoxPro 6.0设计倒计时器的两种方法,给出了程序,并比力了两种方法的优劣。
要害词:倒计时器;Visual FoxPro;程序设计
1 弁言
在程序设计以及软件开发中,经常需要设计计时器,如:秒表、正计时器、倒计时器等。这些计时器的设计方法大同小异,本文以倒计时器设计为例先容两种设计倒计时器的方法。
Visual FoxPro中的计时器控件有1个Timer事件,每颠末Interval(单位为毫秒)属性指定的时间就执行该事件一次。利用该控件的这一独特之处再配合一些程序可设计各种计时器,包括倒计时器。
2 利用计时器控件以及配置统计变量设计倒计时器
2.1 设计思想
程序中用1个统计变量t来实现计时,在表单的Init事件中给t赋初值5400(本例中倒计时时间设为90分钟,即5400秒)。程序中用到1个计时器控件,配置计时器控件的Interval属性为1000(即1秒),则它每秒钟被触发一次。在计时器的Timer事件代码中加入t=t-1,则每隔1秒钟t递降1,5400秒后t减到0,定时时间到。程序中还用到3个变量th、tm、ts,别离用来表示剩余时间的时、分、秒,用于将剩余时间t用时分秒的格式显示。
在表单的Init事件代码中包含thisform.timer1.enabled=.F.,再在"开始"按钮的Click事件代码中加入代码:thisform.timer1.enabled=.T.。这样当单击"开始"按钮时才开始计时。
时间设为90分钟,即5400秒)。程序中用到1个计时器控件,配置计时器控件的Interval属性为1000(即1秒),则它每秒钟被触发一次。在计时器的Timer事件代码中加入t=t-1,则每隔1秒钟t递降1,5400秒后t减到0,定时时间到。程序中还用到3个变量th、tm、ts,别离用来表示剩余时间的时、分、秒,用于将剩余时间t用时分秒的格式显示。
在表单的Init事件代码中包含thisform.timer1.enabled=.F.,再在"开始"按钮的Click事件代码中加入代码:thisform.timer1.enabled=.T.。这样当单击"开始"按钮时才开始计时。
2.2 程序详细登记单
⑴表单Form1的Init事件代码:
thisform.timer1.enabled=.F.
public t
t=5400
(2)标签Label1的属性
Caption:剩余时间
⑶标签Label2的属性
Caption:90分钟
(4)计时器Timer1的属性
Interval:1000
计时器Timer1的timer事件代码:
ift<=0
messagebox(″定时时间到!″)
else
th=int(t/3600)
tm=int((t-th*3600)/60)
ts=t-th*3600-tm*60
thisfor m.label2.caption=str(th,2)+″:″+str(tm,2)
+″:″+str(ts,2)
endif
t=t-1
⑸命令按钮Command1的属性
Caption:退出
命令按钮Command1的Click事件代码:
thisform.timer1.enabled=.T.
(6)命令按钮Command2的属性
Caption:退出
命令按钮Command2的Click事件代码:
release thisform
2.3 表单运行结果
本表单包含两个标签控件以及两个命令按钮,运行结果如图1所示。
3 利用计时器控件以及时间函数设计倒计时器
3.1 设计思想
本程序通过计时器控件以及时间函数seconds()来设计倒计时器。seconds()函数可以以秒为单位归回自午夜以来颠末的时间。在"开始"按钮的Click事件中加入代码:t0=seconds()。在计时器控件的Timer事件代码中加入:t1=seconds()、t2=5400+t0、t3=t2-t1。t0为单击"开始"按钮时离午夜的时间,t1为计时器每次触发时距午夜的时间,t2为定时结束时距午夜的时间,t3为剩余时间。
3.2 程序详细登记单
⑴表单Form1的Init事件代码:
thisform.timer1.enabled=.F.
(2)标签Label1的属性
Caption:剩余时间
⑶标签Label2的属性
Caption:90分钟
(4)计时器Timer1的属性
Interval:500
计时器Timer1的timer事件代码:
t1=seconds()
t2=5400+t0
t3=t2-t1
if t3<=0
messagebox(″定时时间到!″)
else
th=int(t3/3600)
tm=int((t3-th*3600)/60)
ts=t3-th*3600-tm*60
thisform.label5.caption=str(th,2)+″:″+str(tm,2)
+″:″+str(ts,2)
endif
⑸命令按钮Command1的属性
Caption:开始
命令按钮Command1的Click事件代码:
public t0
t0=seconds()
thisform.timer1.enabled=.t.
this.enabled=.f.
(6)命令按钮Command2的属性
Caption:退出
命令按钮Command2的Click事件代码:
release thisform
4 两种设计方法的比力及结论
熬头种方法是用得较多的,作者所见到的计时器设计多近似此法,但颠末本人重复验证,发现此法设计的计时器不敷精确,每分钟比实际时间慢5秒。当然可以通过算法校正。
第二种方法由于用到了时间函数,以是计时精确,由于巧妙地运用了seconds()函数,它并不要求计算机的时间配置精确。
当然,利用计算机计时的任何计时器都受计算机CPU时钟频率精确度的影响,两种方法设计的计时器也不破例。 种别:About Computer
我也不太懂,试试看。。
方法1,直接创建:
create
cursor
临时表名
(字段1
c(3),字段2
n(5,2))
方法2,通过select查询语句自动生成:
select
from
表
into
cursor
临时表名
readwrite
注意最后的readwrite,
加上后,生成的临时表可以插入修改数据,
否则是只读的。
用VFP设计完成学生管理数据库系统(数据库文件名为“学生管理”) (1)、建立如下表文件:学生基本情况表(
本文2023-10-20 19:12:34发表“资讯”栏目。
本文链接:https://www.lezaizhuan.com/article/300957.html