用VFP设计完成学生管理数据库系统(数据库文件名为“学生管理”) (1)、建立如下表文件:学生基本情况表(

栏目:资讯发布:2023-10-20浏览:4收藏

用VFP设计完成学生管理数据库系统(数据库文件名为“学生管理”) (1)、建立如下表文件:学生基本情况表(,第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)、建立如下表文件:学生基本情况表(

先为该系统设立一个项目,进入页面后,单击文件-新建-项目-新建文件,然后创建项目“学生管理数据库系统”创建数据库:(1)在项目管理器中...
点击下载
热门文章
    确认删除?
    回到顶部