用VF程序设计一个关闭按钮的步骤

用VF程序设计一个关闭按钮的步骤,第1张

1

命令窗口或者单击新建一个表单form文件,并调整到合适的大小。

2

在表单中新建一个按钮command对象,并调整,使其达到到合适大小、位置、名称。

3

双击按钮command,在按钮的click方法中,键入下列命令:thisformrelease,然后保存

以上完成后即完成关闭按钮的设计

在文件菜单下有导入和导出,可以试着用,应该不难学会!

导入以后,可以用SQL语言如:

select from 表名 where 姓名1=姓名2 into dbf 表2

注意:上边说的“表名”是你导入的表名!

然后在从表2中导出就可以了!

基础教程大概需要2-3本书的样子,vfp有自带的数据库,而且通过控件可以控制其他数据库比如SQL,ORCAL,ACCESS。等。功能强大,而且易学。基础的东西很快就能学会,即使是自学,因为我就是个例子,大学的时候只是简单说了一下,毕业设计的时候都是通过自学后使用VFP设计的注意一点,VFP本身设计有些混乱,但初始基本感觉不到,因为很少用到这些方面的内容

主要内容:Photoshop 菜单的的 View、Windows、Help菜单;Photoshop的工具栏的部分内容,一些 *** 作技巧。

教学时间:3小时

教学要求:对Photoshop 的菜单有全面的了解,知道 View、Windows、Help 三个菜单中的每一个选项的含义,对比较重要的的标尺、导向线、网格等能做到熟练使用。学会使用工具栏中的大部分工具,来对进行需要的调整,如选择、填色、部分修改调整等,为熟练地进行各种应用打下基础。

第一节:View菜单

1New View:新开启一个视图,和原来 *** 作的那一个一模一样。

2.Proof setup:验证设置。

3.Proof Colors: 验证色彩。相当于过去的CMYK Preview(CMYK模式的预视)这个命令是在不改变模式的情况下,将显示方式按CMYK等其它色彩模式预视。

4Gamut Warning快捷键:Shift+Ctrl+Y:色域警告,这个命令将把图像中CMYK模式所不能表达的颜色,作警告色表示,这个命令并不改变图形中的真实数据,只是显示中改变了。关于警告色的选择与设置,我们在第一次课时已经给大家介绍了。

5Zoom in快捷键:Ctrl++:放大视图

6Zoom out快捷键:Ctrl+-:缩小视图

7Fit on Screen快捷键:Ctrl+0:在不与其它任何图标重叠的情况下,将图像尽可能的显示得大一些(满屏),我们常用这个快捷键来使图象恢复到适合的显示大小。

8Actual Pixels快捷键:Alt+Ctrl+0:按真实大小显示,也就是图像的真实尺寸,即图像中的每一像素,对应屏幕的每一像素。

9Print Size:打印尺寸显示,就是你选定的用厘米等单位表示的尺寸,但这不准确。

10Hide(Show) Extra:快捷键:Ctrl+H:隐藏(显示)选择边界,选中隐藏时,选择的蚂蚁线消失,但这时只是看不见蚂蚁线而已,选择其实仍然存在。

11Hide(show):下面还有许多选项,如图:

意为隐藏和显示选择一些东西,有如下:

Selection Edges: 隐藏和显示选择边

Target Path:快捷键:Shift+Ctrl+H:隐藏(显示)路径

Grid 快捷键:Ctrl+’:隐藏(显示)网格

Guides快捷键:Ctrl+;:隐藏(显示)辅助线

还有其它的一些选项,包括全部显示和全部隐藏等。

12 Hide(Show) Rulers:隐藏(显示)标尺

13Snap :吸引捕捉。

14.Snap to :吸引和捕捉到

下面有一些选项,包括:

Guides :快捷键:Shift+Ctrl+;:对齐辅助线,也称辅助线自动捕捉,这时辅助线象有磁力一样,会吸住你正在 *** 作的对象。

Grid :快捷键:Shift+Ctrl+”:对齐网格,也称网格自动捕捉,这时网格会象有吸引力一样,吸住附近你正在 *** 作的对象

Slices:捕捉到切片

还有别的,就不一一介绍了。

15Lock Guides快捷键:Alt+Ctrl+;:锁定辅助线

16Clear Guides:清除辅助线

17.New Guides: 建立新的辅助线

18Lock Slice: 锁定切片

19Clear Slice:清除切片

第二节 Windows菜单

1Cascade:重新排列文件窗口。将屏幕上所有打开的文件按顺序整齐排列。

2Tile:在不与其它内容重叠的情况下尽量将窗口(即文件的框)满屏。

3Arrange Icons:排列图标

4Close all:关闭所有的视窗(所有的打开文件)

5 Hide(Show) tools:隐藏(显示)工具栏

6 Hide(Show) Options:隐藏(显示)不同工具的状态栏

7 Hide(Show) Navigator:隐藏(显示)缩放调色板

8 Hide(Show) Info:隐藏(显示)信息调色板

9 Hide(Show) Color:隐藏(显示)颜色调色板

10 Hide(Show) Swatches:隐藏(显示)色样调色板

11 Hide(Show) styles:隐藏(显示)效果调色板

12.Hide(Show) history:隐藏(显示)历史调色板

13 Hide(Show) Actions:隐藏(显示)程序调色板

14 Hide(Show) Layers:隐藏(显示)层调色板

15Hide(Show) Channels:隐藏(显示)通道调色板

16 Hide(Show) Paths:隐藏(显示)路径调色板

17.Hide(Show) Character: 隐藏(显示)文字属性栏

18.Hide(Show) paragraph:隐藏(显示)文字段落属性栏

16 Hide(Show) StatasBar :隐藏(显示)信息条

17这一栏是所 *** 作的文件的信息。只有在有文件被 *** 作时,这一栏才出现。

第三节 Help帮助菜单

1Contents F1:帮助,非常详尽,可惜是E文的。

2.About Photoshop:Photoshop的版权说明

3.About Plug-in:关于外挂模块的版权说明,在Photoshop中使用了一些不是由Photoshop自己开发出来的技术模块,这一项是用来说明专利所有者的。

4.Top Issues:认证

5.Downloadables:下载

6 Adobe Corporate News:合作

7. Register: 注册。

8.Adobe Online:访问Photoshop在网络中的主页,当然前提是你得上网。

9.Export Transparent Image: 输出透明的图像

10.Resize Image:重置图像尺寸

第四节 工具栏工具详解(上)

工具栏是photoshop中最常用到的部分,工具具有易用性和直观性,都是在图像中按下鼠标直接作用的,就象我们手中的笔、像皮一样,当然,功能更为齐全,更为强大。这些工具有些是单一工具栏,有的后面还隐藏有工具,所以总的工具数量惊人,一共有50个。要用后面的工具有两种方式,一种是按住不放,略等以后,隐藏的工具将出现,或是按住Alt用鼠标进行选择,每按动一次工具变一次。在几乎所有工具中,只要按住空格不放,工具就会变成一只手,用来移动视图(不改变任何信息),方便我们的观看。另外,几乎所有时候,你按下Ctrl不放,都会变成移动方式。

在讲以下内容之前,我有必要先讲一下前景色与背景色的概念。

概念

前景色:是指目前我们在一般情况下(没有其它选择的情况下),系统的默认颜色,是我们用色类工具时,将用于填充的颜色。这个颜色被显示在工具栏中,处于左上方。

背景色:是系统的第二默认色,在一些擦除工具中,图像信息会被擦成这种颜色。

在初始情况下,前景色为黑色,背景色为白色,就象白纸和黑字。快捷键按D回到初始默认状态,按X可以使前景色与背景色转换。在颜色显示块上单击鼠标,会出现ColorPriker,在中间你可以选择需要的颜色。另外,在一些画笔工具中,按下Alt,吸管也会出现,这很重要,因为你可以随时吸取图中的颜色,使我们提高效率。

几乎每一个工具都有它相应的options,就是属性栏,位于菜单的下方,用来设置有关这个工具的一些参数,使工具符合你使用的要求。这个属性栏如果已经打开,会随着你选择工具的变化而相应变化,与正选中的工具相响应,但如果option属性栏这时没有打开,你双击该工具也会出现相应的options属性栏。

另外,点击属性栏中的那个工具图标,都会出现以下两项:

Reset tool:将该工具的设置回复到系统默认值(初始)

Reset all tools :将所有工具的设置都回到系统默认值(初始)

这些工具与功能键Ctrl、Shift、Alt以及空格相配合会有特殊的效果。

这是所有工具的图示(见左图):

下面是工具详解:

1、选择工具

选择工具是一组形状不同的工具组成,一共有四个,分别如下:

(方形)快捷键M;

这个工具用来进行选择,在选取了选择工具后,可以按下鼠标左键在图像上拉出一个方形放手后形成一个选择,在选择区出现以后,将光标放入选择区内,再按下鼠标左键拖动光标即可移动选择区。它的Option属性栏上有以下选择项:

第一部分图标是选择选择方式,是建立新选择还是与原来的选择交、并、补。

Feather:羽化值,这概念在上节课中讲到过。

Anti-abased:是否反距齿,光滑边缘

Style:模式,有三种,第一种Normal,这种方式是自由选择,第二种Constrained Aspect Ration按一定方式强制选择,按下面输入的高宽比例选择,如高宽比输入的为1:1时,就能选择出一个正方形。第三种Fixed Size固定选择,第一种是根据选择时拉动的大小,第二种和第三种都根据输入的Width(宽度)和Hight(高度)值。

在不改变设定的情况下,下面的一些按键的加入可以增加功能

在没有选择的情况下,按住Shift选择,可以出现一个正方形选择。当已经有选择时,按Shift可以增加选择区,即与原选择合为并集。

按住Alt选择,可以以开始处为中心

当图中已经有一些选择时,按住Shift+Alt再选择,可以出现一个与原选择的交集。

按Ctrl+alt再拖动选择区,可以将选择区拷贝后移动,如果在移动选择区时按住Shift,选择区将在一定范围内垂直或左右移动。这一个 *** 作很有作用,如果你要对一幅表格状的图像进行修复,你可以只修复一部分,再把这一部分变成选择区,三健同时按住,可以在垂直和水平方向复制,然后修复完全部图像(比如条型码)。

在选择区存在时,按下Ctrl将使工具变成移动工具。

光标键可以移动选择区,每次一个像素,光标键+Shift可以每次移动10个像素。

(圆形),快捷键M;

这个工具除了选择以圆形出现以外,一切和上一工具一样

(行选择),快捷键M;

用于在图形中选择出一个像素宽的行范围。它的选择项与前两项差不多。

(列选择),快捷键M;

用于在图形中选择出一个像素宽的列范围。它的选择项与前两项差不多。

2、移动工具 快捷键V;

这个工具用来进行移动图像,没有选择时,按下鼠标拖动将移动全部图像,这个移动不同于视窗移动。这个移动改变了图像在画布上的位置。如果在移动时有了选择,那么移动的将是选择部分的内容。点击后将会出现Option属性栏。有以下选择项:

Auto Select Layer:自动选择层。这个选项如果选中,可以比较自由的切换层,但是,出错也就容易了。

Show Bounding Box:显示变形的方框,可以自由变形。

后面那个象串烧的东西是对齐、间距之类的。

在不改变设定的情况下,下面的一些按键的加入可以增加功能:

在没有选择的情况下,按住Shift移动,可以使目标强制方向(按45度倍角)移动。

按住Alt后移动,会先拷贝一块,再移动

按住Alt后点辅助线,会使垂直线与水平线互换

按住Shift后移动辅助线,会使辅助线自动对齐标尺

光标键可以移动选择区,每次一个像素,光标键+Shift可以每次移动10个像素。

3、套索工具,快捷键L

其中含有三个子工具:

自由套索工具,快捷键L

这个工具用来进行选择,在选取了套索选择工具后,可以按下鼠标在图像上随意拉出一些线或者不规则形状放手后形成一个选择,在选择区出现以后,将光标放入选择区内,再拖动光标即可移动选择区。点击该工具后会出现Option属性栏。有以下选择项:

大部分选项与第一个工具选择工具一样。

Feather:羽化值

Anti-abased:是否按光滑边缘选择。

在不改变设定的情况下,下面的一些按键的加入可以增加功能

按住Shift,可以增加选择范围。

按住Alt再选,会从选择中去掉新选择的内容

在有选择的情况下,按住Shift移动,可以使目标按45度角移动。

按住Alt后移动,会先拷贝一块,再移动

按住Alt后移动辅助线,会使垂直线与水平线互换

按住Shift后移动辅助线,会使辅助线自动对齐标尺

按住Shift+Ctrl再移动选择区,可以将选择区拷贝后移动到另一个视图的新层中,并处于中心位置。

在选择区存在时,按下Ctrl将使工具变成移动工具。

光标键可以移动选择区,每次一个像素,光标键+Shift可以每次移动10个像素。

多边形套索工具 快捷键L

这个工具用于选择极不规则的形状。在选定该工具后,按住鼠标点,每点一下都与前一个点连成线,最后在点上双击就能自动与起始点闭合形成一个选择区。它的其它内容与套索工具一样。

磁性套索工具 快捷键L

这个工具是photoshop5新增加的工具,它利用色彩亮度等的差异,自动地对不规则的表面进行选择,在被选对象与其它部分反差较大的时候,这个工具用起来就很有效。

点击该工具后会出现Option属性栏。除了与套索工具一样的前半部分以外,后面还有以下选择项:

选择项有两项比较特殊的:

Lasso Width:套索的作用范围,范围越大,就越有磁性,比较远的地方都会被吸引过去。但太大的范围也不好控制。

Edge contrast:可以不加区分的对比程度,这个对比程度越高,就表示区分越不明显,对比程度越低,就表示区分得越细,一般来说,比较低的对比程度会较精确。

Frequency:频率。

4、魔棒工具 快捷键W

这个工具和菜单中的命令Color range差不多一样,都是通过颜色,亮度等参数的相近性来选择。这个工具被选定后,在图像上所要选择的位置击一下鼠标就可以实现自动选择,需要注意的是魔棒工具只对部分色彩模式有效。对黑白等模式无效。点击后,在上方的属性栏中有以下选择项:

Tolerance:容差范围,这个值设定颜色的入选范围,值越大,表示与鼠标点击的像素点差距更大的像素也能被选中,这样选的范围越大。

Anti-abased:是否按光滑边缘。

Contiguous:是否相邻,默认状态这个选项被选中,这将把选取限制在相邻的像素上,如果不选这个选项,则选取整个图像上的同一个范围的所有像素。

Use All Layers:多层同选。这个选项将使所有可见层的内容参与选择

在不改变设定的情况下,下面的一些按键的加入可以增加功能

在有选择的情况下,按住Shift+Ctrl移动选择区,可以使目标按强制方式(45度角倍数方向)移动。

按住Shift再选,可以在原选择中增加选择范围。

按住Alt再选,会从选择中去掉新选择的内容

按住Alt+Ctrl后移动辅助线,会使垂直线与水平线互换

按住Shift+Ctrl后移动辅助线,会使辅助线自动对齐标尺

在选择区存在时,按下Ctrl将使工具变成移动工具。

按住Shift+Ctrl再移动选择区,可以将选择区拷贝后移动到另一个视图的新层中,并处于中心位置。

光标键可以移动选择区,每次一个像素,光标键+Shift可以每次移动10个像素。

5、裁剪工具 快捷键C;

这个工具与菜单中的Crop命令是大体一样的,在选择了这个工具后,你按下鼠标在图像中拖动,就会出现一个框,框的边上有8个处理点,可以通过拖动处理点来改变尺寸等参数,或者旋转。在确定了双击变化区域中间的空白区域即可,也可以直接回车。

如果不满意变化,可以按下Esc取消。

选定该工具,在上方该工具的Option属性栏在没有开始裁剪的时候,有如下选项:

你可以设置要裁剪的的Width和Height,使裁剪按你定下的Width和Hight中数值来裁剪。还可以设定输出的结果Resolution,即分辨率,单位还是每英寸多少像素。

最后两个按钮Front Image,是将未裁剪的图形的以上参数列出,即初始数据。

Clear 是清除。

在图形中按下鼠标拉动,已经建立了裁剪框后,Option变成了下面这个样子:

Shield Cropped area Color:是指的用来在图中标示要剪要的区域的颜色,你可以要,也可以不要,也可以设定一种你喜欢的颜色。后面Opacity是该颜色的透明度。

Perspective:透视裁剪,可以使裁剪框按透视方式变化。

后面还有两个选择,由于是预设定,所有是灰的。

属性条的末端,有这么个选择 ,其中,勾表示裁剪,叉表示取消这个 *** 作。

在裁剪的时候,按下Shift 表示等比例变化,按下Ctrl表示按透视方式变化,按下Atl表示一边同向变化。

6.切片工具,快捷键K;

这个工具下面还有一选择切片工具,如下:

切片工具用来把大切成小,这可以加快网络的下载速度,一般来说,在网页上都需要把大剪成小,不然打开太慢。当然,切片工作我强烈建议你在Imageready中去完成,因为那是专门为网页设计而准备的。

切的方法很简单,你只要随便下刀就行了,剩下的工作都由photoshop去做。

在切的时候,同样的,上方会有一个属性栏:

Style中有三个选择,分别是普通模式,等比例模式(默认值为1:1),固定大小方式,等比例方式,可以输入长宽比,而固定大小方式,可以输出你预设的切片大小,后面还有两项,分别是显示切片数量和线的颜色设定。

你在完成切片后,可以把切好的图形存成html格式,在Save to Web这个命令中,可以对存入的方式进行选择,你可以为这个贮存指定一个链接,也就是URL,在存好之后,你在需要调用这幅图的地方输入这个链接就可以了。

存的时候,如下图所示:

可以输入一个文件名,另外,要记得将选择为All Slices。你所存的地方,会出现一个html,你可以调用它。

按下Ctrl将使切片工具与选择切片工具互换。

选择切片工具

这个工具是和上面那个工具配合使用的,可以用来调整你切下的,使你建立的切片更合理,它的属性栏中有如下的选择项

其中,前面那四个图标是布置切片的排列顺序,分别是到最前,向前一层,向后一层和到最后一层,可以调整切片的顺序。

Promote to user Slice:转成用户切片,你在建立一个切片之后,其它空间会自动出现一个预切片,你可以用这个命令将其转换成你建立的切片。

第三部分是Slice Option,是一些有关于切片的 *** 作,在点下后会出现以下这个对话框:

里面可以设定你的文件名,地址什么的,不过这个命令用处不大,你不改也没有什么,主要的设置还是在save to web里面,那里面也有个选择切片工具,只有用那个工具,才能真正选中你在存下来的切片。

7、喷笔工具 快捷键A

这个工具被选定后,在图像上所要喷色的位置击一下鼠标就可,不断按动鼠标或按住鼠标不放可以进行多处喷绘。笔尖的大小和形状可以在属性栏中Brush选项中进行调节。

点击后,在上方的属性栏中有以下选择项:

Brush:选笔尖的大小。

Pressure:压力范围,这个值设定喷q的压力,值越大,色彩越浓。

属性栏的最后面还有一个选项:

这是一个按钮,点击后会出现这个对话框:

这是选择淡出值,里面的选项都有个Foad。如果选了Foad,并设定了步数,会按照你的设定,笔尖由粗到细,压力由大到小(由有色变为透明),颜色也可以由前景色变为背景色。

Foad:淡出,后面的值越小,由浓到淡的速度越快。

Step:步数。

效果如下:

在不改变设定的情况下,下面的一些按键的加入可以增加功能:

按住Shift再喷,可以使喷笔按直线喷。当你鼠标移动与垂直的角度小于45度时,沿垂直线喷。当角度大于45时,沿水平喷。

按住Alt再选,喷笔变成吸管工具,几乎所有的笔类工具在按下此键后都变成吸管工具。

按下Ctrl将使工具变成移动工具。

按住Shift+Ctrl再移动选择区,可以将选择区拷贝后移动,如果是移到另一个视图的新层中,将处于中心位置。

光标键可以移动选择区,每次一个像素,光标键+Shift可以每次移动10个像素。

直接键入数字,可以改变压力大小(0代表100%。)

8、画笔工具 快捷键B

毛笔工具与铅笔工具是在一起的,铅笔工具位于其下方:

这个工具被选定后,在图像上所要着色的位置按下鼠标就可,不断按动鼠标或按住鼠标不放可以进行在多处画出毛笔状的效果。笔尖的大上和形状可以在属性栏的Brush选项中进行调节。点击后,在上方的属性栏中有以下选择项:

Brush:选笔尖的大小。

Mode:填充模式选择,这里面的选择和fill里的选择是一样的。

Opacity:不透明度,这个值设定画笔的着色的透明度,值越大,色彩越浓。

Wet Edges:选定这个选项将产生一种用水将线条打散的效果

在属性栏的最后位置,仍然有这个按扭:

点击后同样会出现与喷q差不多的对话框:

唯一不同的是压力换成了Opacity(不透明度)。效果和刚才那个喷笔差不多,就不再例举了。

在不改变设定的情况下,下面的一些按键的加入可以增加功能

按住Shift再喷,可以使喷笔按直线喷。当你鼠标移动与垂直的角度小于45度时,沿垂直线喷。当角度大于45时,沿水平喷。

按住Alt再选,喷笔变成吸管工具。

按下Ctrl将使工具变成移动工具。

按住Shift+Ctrl再移动选择区,可以将选择区拷贝后移动,如果移到另一个视图的新层中,将处于中心位置。

光标键可以移动选择区,每次一个像素,光标键+Shift可以每次移动10个像素。

直接键入数字,可以改变不透明度大小(0代表100%。)

9、铅笔工具 快捷键Y

这个工具在画笔工具下面,工具被选定后,在图像上所要着色的位置按下鼠标就可,不断按动鼠标或按住鼠标不放可以进行在多处画出铅笔状的效果。笔尖的大小和形状可以在属性栏中Brush选项进行调节。选择该工具后,在上方的属性栏中有以下选择项:

Brush:笔尖选择。

Mode:填充模式选择,这里面的选择和fill里的选择是一样的。

Opacity:不透明度,这个值设定铅笔的着色的透明度,值越大,色彩越浓。

Auto Erase:这个选项自动选择颜色,当第一点的颜色为背景色,则画出来的是前景色,相反,如果第一点所在位置为前景色,则画出来是背景色。比如如下效果

前面那两笔黑色的就是从白色区域开始画的,而后面则是从黑色区域开始。

后面同样有这样一个按钮:

也表示淡出功能,选择项与毛笔一样的。

在不改变设定的情况下,下面的一些按键的加入可以增加功能

按住Shift再画,可以使画笔按直线画。当你鼠标移动与垂直的角度小于45度时,沿垂直线画。当角度大于45时,沿水平画,按住shift不放时,每点一下鼠标都会自动与前一点连结成线。

按住Alt再选,铅笔变成吸管工具,几乎所有的笔类工具在按下此键后都变成吸管工具。

按下Ctrl将使工具变成移动工具。

按住Shift+Ctrl再移动选择区,可以将选择区拷贝后移动,如果是移到另一个视图的新层中,将处于中心位置。

光标键可以移动选择区,每次一个像素,光标键+Shift可以每次移动10个像素。

直接键入数字,可以改变不透明度大小(0代表100%。)

10、橡皮图章 快捷键S

这个工具是一个应用非常广泛的工具,这个工具经常被用来对图像进行修复和拼接,这个工具可以根据你的设定,在图像上任意地方选取一部分复制到需要的地方去。

下面还有另一个工具,样本方式的橡皮图章工具,如下图:

这个工具在被选定后,如果是从图像中某处位置复制,先在图像上所要选取的位置按下Alt+鼠标,相当于印章醮上颜色,再在指定位置不断按动鼠标或按住鼠标不放拖动就可以进行对选定位置的复制。橡皮的大小和形状可以在属性栏的Brush框中进行调节。点击后,在上方的属性栏中有以下选择项:

Brush:笔尖的样式和大小选择。

Mode:填充模式选择,这里面的选择和fill里的选择是一样的。

Opacity:不透明度,这个值设定复制的着色的透明度,值越大,越不透明

Aligned:是否按排列和伴随方式复制,如果选中,是在复制时选定取样位置后,十字星与光标的位置相对固定。这时复制的内容相对固定。若不选中,就按非伴随方式复制,这时的十字星位置与光标的位置不固定。所复制的内容显得随机一些。

Use All Layers:对所有的层发生作用,这个选项如果选中,不管有多少层,都按所见的样子进行复制,就当是一层一样。不选中就只对当前层发成作用。

同样,在属性栏的最后也有这个按钮:

但后面的对话框与前面的那几种笔类工具不太一样:

主要是没有了color这个选项,因为印章工具复制的是图像的内容,而不是颜色。

在不改变设定的情况下,下面的一些按键的加入可以增加功能

按下Shift可以使复制的内容强制,即沿直线方式复制。

按下Ctrl将使工具变成移动工具。

按住Shift+Ctrl再移动选择区,可以将选择区拷贝后移动到另一个视图的新层中,并处于中心位置。

光标键可以移动选择区,每次一个像素,光标键+Shift可以每次移动10个像素。

直接键入数字,可以改变不透明度大小(0代表100%。)

11、样本方式的橡皮图章 快捷键S

这个工具是上一个工具的特殊应用方式,这个工具经常被用来对图像进行新的创作,这个工具可以根据你的设定,在图像上任意地方选取一部分作为样本,复制到需要的地方去。

这个工具在被选定后,要有样本pattern才有意义,否则会出现出错的提示。有样本时就会自动的将样本填充到你点下鼠标的位置。关于样本的设定请参看和第二次课的内容,Edit菜单。

这个工具的属性栏与上一个工具的非常相象,但多了一个样本框,主要有以下选择项:

第一个选项还是Brush,即笔尖类型。

Mode:填充模式选择,这里面的选择和fill里的选择是一样的。

Opacity:不透明度,这个值设定复制的着色的透明度,值越大,越不透明。

Pattern:样本,里面的选择项见第二节课样本部分。

Aligned:选中表示从样本中按伴随方式复制,这种方式复制的样本填充得规范,排列得整齐,不选中表示从样本中按非伴随方式复制,这种方式复制的样本随机排列,不规范。

同样,在属性栏的最后也有这个按钮:

后面的对话框:

主要是没有了color这个选项,因为印章工具复制的是图像的内容,而不是颜色。

在不改变设定的情况下,下面的一些按键的加入可以增加功能。

按下Ctrl将使工具变成移动工具。

按下Shift可以使复制的内容强制,即沿直线方式复制。

按住Shift+Ctrl再

1 逻辑设计

设计从分析输入数据着手,输入数据中的某类相关数据可以归纳为一个表,对需要同时调用的若干表,应使它们符合关联要求。数据库设计好后,可以通过分析输出数据来验证其可用性,若发现有的输出数据不能从输入数据导出,须继续向用户征集数据。

本例根据学生信息表和课程基本信息表、教师信息表等输入单据中归纳出包括2个表的数据库,现将这些列出如下:

(1)学生单:xs (学号,姓名,性别,出生日期,是否团员,电话,通信地址,邮编,总成绩,备注)

(2)课程单:kc (课程号,课程名,学期,学分,教师,所在系)

(3)教师单:js (编号,姓名,性别,学历,职称,所授课程,****,备注)

以上括号外的符号串是表名,括号外为字段名表,有下划线的字段为关联关键字,根据系统数据处理的需要,这些表的关联情况如图11所示。

图中用矩形框表示表,需要关联的两个表用线段连接,在线的一端标出了关联关键字,表明必须在这一端的表中建立索引。

老师

学时数课程

成绩学生

图11 表间关联的设计

① 同时调用不同表中的数据,须将它们关联,故而有时要在表中补充字段。

② 数据库设计须注意合理性。若将不同类的数据放进同一个表中,可能会产生数据余。表的分拆往往能减少数据余,但表的个数增多又会增加程序的复杂性,因为须在不同的工作区打开这些表,而且为了实现数据联用定要对表进行关联。

1、物理设计

下面列出学生学籍管理系统所有表的结构与必须的索引,以便于读者理解本例系统,顺便也列出表的部分记录,详细见xs, kc,js。

1学生单(XSDBF)

字段名类型宽度字段名小数位数

学号C字符型4学号

姓名C字符型8姓名

性别C字符型2性别

出生年月D日期型8出生年月

是否党团员L逻辑型1是否党团员

电话C字符型16电话

通信地址C字符型30通信地址

邮编C字符型6邮编

总成绩N数值型6总成绩2

备注M备注型备注

2课程单(KCDBF)

字段名类型宽度索引

课程号C字符型8V

课程名C字符型30

学期C字符型2

学分D日期型2

教师C字符型30

所在系C字符型30

3教师单(JSDBF)

字段名类型宽度索引

编号C字符型4V

姓名C字符型8

性别C字符型2

职称D日期型20

学历L逻辑型10

所授课程C字符型50

****C字符型30

备注M备注型

学生学籍管理系统的运行环境是Windows 9x/Me/2000/XP+Microsoft Visual FoxPro 60。

学生学籍管理系统的具体设计如下:

1、学生学籍管理系统主程序(A:\mainprg)

功能:提供程序的主界面和进入系统各功能模块的接口,包括一个自右向左滚动的飞字程序。

源程序:

set talk off &&关闭人机对话

set escape off &&设置ESC脱离键不起作用,即误按该键不会终止程序的执行

clear all &&清屏

set colo to 0/7,7/0 &&设置VFP系统的默认颜色

clear &&清屏

@4,42 clear to 30,92

set colo to 7+/0+ &&从第4行第42列到第30行第92列产生白字黑底的色块

@4,42 clear to 30,92 &&显示色块

@3,40 clear to 29,90

set colo to 7+/4 &&从第3行第40列到第29行第90列产生白字黑底的色块

@3,40 clear to 29,90 &&显示色块

@4,42,28,88 box space(9) &&从左上角第4行第42列到右下角第28行88列产生线框

@7,52 say'==学生学籍管理系统==' &&在第7行第52列显示学生学籍管理系统的字样

@8,50 say'-------------------------------' &&在第8行第50列显示分隔线条

@9,57 say'==1录入数据==' &&在第9行第57列显示1录入数据字样

@11,57 say'==2修改数据==' &&在第11行第57列显示2修改数据字样

@13,57 say'==3查询数据==' &&在第13行第57列显示3查询数据字样

@15,57 say'==4统计数据==' &&在第15行第57列显示4统计数据字样

@17,57 say'==5显示数据==' &&在第17行第57列显示5打印数据字样

@19,57 say'==6删除数据==' &&在第19行第57列显示6退出数据字样

@21,57 say'==7退 出==' &&在第21行第57列显示7退出字样

x=1 &&设初值x=1

b1="◆欢迎您使用学生学籍管理系统,请按任意键继续◆重庆工学院吴天美、谭茂燕、袁瑶、王洪梅、曾玲研制。 &&将字符串赋给变量b1

do whilet &&当条件成立时计算机做下面的语句

hz1=substr(b1,x,29) &&取字符串b1从第1个字符到第29个字符赋给变量hz1

@25,51 say hz1 &&在第25行第51列显示字符串hz1

bb=inkey(06) &&将等待06秒击键的inkey 函数赋给bb

if bb<>0 &&变量bb不等于0,即有击键动作发生

exit &&那么,不显示字符串

endi &&与if条件判断语句相配对

x=x+2 &&将变量x的值加2赋给x

if x>83 &&如果变量x大于83个字符

x=1 &&那么,将1赋给变量x,即从头开始显示字符串

endi &&与if条件判断语句相配对

endd &&与do while循环语句相配对

@27,51 say'请选择1--7:' &&在第27行51列显示请选择1-7:的字样

wait ' ' to k &&计算机等待用户从键盘输入一个字符给变量k

do case &&做选择语句

case k='1' &&当变量k的值等于1时

do a:\input &&计算机跳转到a:\input子程序

case k='2' &&当变量k的值等于2时

do a:\modify &&计算机跳转到a:\modify子程序

case k='3' &&当变量k的值等于3时

do a:\search &&计算机跳转到a:\search子程序

case k='4' &&当变量k的值等于4时

do a:\total &&计算机跳转到a:\total子程序

case k='5' &&当变量k的值等于5时

do a:\dp &&计算机跳转到a:\dp子程序

case k='6' &&当变量k的值等于6时

do a:\del &&计算机跳转到a:\del子程序

case k='7' &&当变量k的值等于7时

set colo to 0/7,7/0 &&设置VFP系统的默认颜色

clear &&清屏

retu &&返回VFP主程序

endcase &&与do case选择语句相配对

2、环境配置

程序名称:SETTINGPRG

set sysmenu off

set sysmenu to

set status bar off

set talk off

set notify off

set clock status

set palette off

set bell on set safety off

set escape on

set keycomp to windows

set carry on

set confirm on

set exact on

set near on

set ansi off

set lock on

set exclusive off

set multilocks on

set deleted on

set optimize on

set refresh to 0,5

set collate to ‘stroke’

set default to sys(5)+curdir()

set path to sys(5)+curdir()

set sysformats off

set seconds on

set century off

set currency left

set currency to ‘nt$’

set hours to12

set date to usa

set decimals to 2

set fdow to1

set fweek to 1

set mark to ‘’

Set separator to ‘”

Set point to ‘’

环境还原

程序名称:RESETPRG

set sysmenu to default

set sysmenu on

set talk on

set notify on

set exclusive on

set safety on

modity window screen

3密码功能的设置

密码功能包括输入密码、修改密码、添加用户、删除用户。只有当用户正确输入本人的密码后才能进入系统,更改密码也只允许更改自己的密码。只有单位的主管人员才有权添加用户和删除用户。为此设置了用户等级,这也是由主管人员设定的。用户等级不同,权限就不同。如用户等级为4,仅能进行档案输出的 *** 作。

(一)设计思路:

(1)建立一个数据库:密码库,

(2)并创建表checkerdbf,

(3)其中字段公别为Cpassword(密码)、Name(合法用户名)、Rank(权限等级)。

(二)输入密码表单的设计:

<1>通过组合框(combo box)选择合法用户,并在其Interactivechange事件中编写代码令输入密码的文本框得到焦点(允许输入值了),该事件发生在当控件的value值改变时。

<2>在“确定”按钮的click事件中编程,先在表中寻找用户名(用locate for语句),再通过判断输入密码与数据库中相应值是否相等来判断密码是否正确。若错误可重新输入,但设置局部变量I来累计输入次数,可设定只能输入三次,当I大于3就释放该表单。并d出消息框说明不能进入本系统。在主程序中设有全局变量yhdj,若输入密码正确则给yhdj赋值为用户等级字段。

<3>添加“说明”标签,说明密码输入的规定。为增加美观性,可使用Active X控件Three Frame Control。

<4>Active X控件的添加方法与添加自定义类的方法相同。

<5>将标签添加其中,构成说明框。

<6>若希望当鼠标在按钮上停留一秒后有提示框,则可设置表单的Show Tips属性为T,按钮的Tooltip Text属性为希望显示在提示框中的内容。

<7>若希望鼠标在按钮上时改变形状,则可设置按钮的Mouse Pointer属性为:99-自定义,Mouse Icon属性为希望出现的图标文件。

(三)密码表单的设计

<1>修改密码部分与上一表单相同,当输入密码正确后方可输入新的密码或进入系统:若用户等级较高则还可进入增删用户表单。这些均在输入密码文本框的Lostfocus事件中编程。该事件在该文本框失去焦点时发生。

<2>输入新密码后检验密码不能为空,这在该文本框的Lostfocus事件中编程实现。

<3>还设置了确认密码框,防止偶然输入错误。当输入密码与确认密码不同时让用户重新输入。这些是按钮“确定”的Click事件中编程解决的。若无错误,单击“确定”钮后,用replace……with语句代替原来密码。设置缓冲区环境,可以通过前述的tableupdate()和tablerevert()函数真正修改或放弃修改密码。

(四)密码设置表单的设计

密码设置表单的设计,包括增加用户和删除用户。

<1>用页框分别完成这两项工作。一页增加用户,另一页删除用户。

<2>增加用户时未使用缓冲区,而用skip-1、ship代替,这样做同样可以把结果直接存入相应的表中。

4权限设置:

关于用户的权限问题,因在主程序中设置了全局变量,又在输入密码和修改密码表单中为其赋了值,故在表单 *** 作中只需判断其值就可以完成权限的配置。而在菜单中也需要限制,它也是通过这个全局变量的值,使用菜单的跳过(skip)项实现的,具体将在菜单的设计中介绍。

5、录入模块子程序(A:\inputprg)

功能:提供卡片式的录入数据界面。

源程序:set talk off

use a:\xj &&打开a:\xjdbf数据库文件

go bott &&将记录指针移到数据库的末尾

skip &&跳到下一条记录

hk=recn() &&将当前记录号赋给变量hk

hk1=str(hk,3) &&将变量hk值的前三位,由数值转换为字符串赋给hk1

c1=t &&将逻辑型变量“真”赋给变量c1

do while c1 &&当条件成立时计算机做下面的语句

a1=spac(2) &&将2个空格赋给变量a1

a2=spac(6) &&将6个空格赋给变量a2

a3=spac(2) &&将2个空格赋给变量a3

a4=spac(8) &&将8个空格赋给变量a4

a5=spac(2) &&将2个空格赋给a5

a6=spac(8) &&将8个空格赋给a6

a7=spac(30) &&将30个空格赋给a7

a8=spac(6) &&将6个空格赋给a8

a9=spac(6) &&将6个空格赋给a9

a10=spac(50) &&将50个空格赋给a10

kk=t &&将逻辑型变量“真”赋给变量kk

do while kk &&当条件成立时计算机做下面的语句

clea &&清屏

@1,5 say"输入第"+hk1+"张卡片" &&在第1行第5列显示输入第"+hk1+"张卡片的字样,其中,hk1为宏替换

hk=hk+1 &&变量hk的值增1

hk1=str(hk,3) &&将变量hk的值取3位赋给hk1

@row()+1,5 say"学号:"get a1 &&在当前行的下一行第5列显示学号字样

@row(),40 say"姓名:"get a2 &&在当前行第40列显示姓名字样

@row()+1,5 say"性别:"get a3 &&在当前行的下一行第5列显示性别字样

@row()+1,5 say"出生年月(MM/DD/YY):"get a4 &&在当前行的下一行第5列显示出生年月字样

@row()+1,40 say"是否团员:"get a5 &&在当前行的下一行第5列显示是否团员字样

@row()+1,5 say"电话:"get a6 &&在当前行的下一行第5列显示电话字样

@row()+1,40 say"通信地址:"get a7 &&在当前行的下一行第5列显示通信地址字样

@row()+1,5 say"邮编 :"get a8 &&在当前行的下一行第5列显示邮编字样

@row()+1,5 say"总成绩:"get a9 &&在当前行第40列显示是否总成绩字样

@row()+1,5 say"备注:"get a10 &&在当前行的下一行第5列显示备注字样

read &&将键盘所输内容读入内存

y="y" &&将字符y赋给变量y

@12,5 say"输入正确吗?(Y/N)"get y &&在第12行第5列显示输入正确吗字样

read &&并将输入的y或n读入内存

if y="Y"ory="y" &&如果变量y值为大写的Y或小写的y

kk=f &&那么,将逻辑否赋给变量kk

endif &&与if 相配对

enddo &&与do while相配对

appe blan &&添加新记录到空白记录

replace 学号 with a1,姓名 with a2,性别 with a3,出生年月 with ctod(a4),是否团员 with a5

replace 电话 with val(a6),通信地址 with val(a7),邮编 with val(a8),总成绩 with a9,备注with a10 &&替换键盘输入的内容到相应的字段中

y=" " &&将一空格赋给变量y

clea

@14,5 say"继续输入吗?(y/n)"get y &&在第14行第5列显示继续输入吗字样

read &&并将输入的y或n读入内存

if y="N"ory="n" &&如果变量y值为大写的N或小写的n

kk=f &&那么,将逻辑否赋给变量kk

exit &&退出输入界面

endif &&与if相配对

enddo &&与do while相配对

clear &&清屏

do a:\main &&运行A:\mainprg主程序

6、修改模块子程序(A:\modifyprg)

功能:提供卡片式的修改数据的功能。

源程序:set talk off

set delimiter off

use a:\xj &&打开数据库文件A:\xjdbf

kk=t

do while kk

clear

go top

yy=space(2)

@4,20 say"请输入学号" get yy

read

loca all for 学号=yy

if eof()

@5,5 say" "

wait"该记录不存在!请按任意键返回!"

y="y"

clea

@6,5 say"继续修改吗?(Y/N)" get y

read

if y="Y"ory="y"

loop

endi

clea

do a:\main

retu

endi

clea

kk=t

do while kk

clear

@row()+1,1 say"学号:" get 学号

@row(),40 say"姓名:" get 姓名

@row()+1,1 say"性别:" get 性别

@row()+1,1 say "出生年月:" get 出生年月

@row(),60 say"是否团员:" get 是否团员

@row()+1,1 say"电话:" get 电话

@row()+1,25 say"通信地址:" get 通信地址

@row(),25 say""邮编:" get 邮编

@row()+1,1 say"总成绩:" get 总成绩

@row(),60 say"备注(双击文本框输入内容):" get 备注

read

y=" "

@9,15 say"修改正确吗?(Y/N)" get y

read

if y="y"ory="Y"

kk=f

else

loop

endi

enddo

clear

y=""

@5,15 say"继续修改吗?(Y/N)" get y

read

if y="n"ory="N"

kk=f

endif

enddo

clea

do a:\main

7、查询模块子程序(A:\searchprg)

功能:提供按学号检索、按姓名检索、按学号和姓名检索和按学号、姓名、性别检索三个子模块的查询数据功能。

表单上的按钮功能包括:输入查询条件、查询、显示查询条件、清除查询条件、打印预览、打印和放弃。起初,除输入查询条件、显示查询条件和放弃外按钮均是不能选择的。当单击“输入查询条件”按钮时,表单元上的字段均为空,用户可以输入任意知道的条件做为查询条件,这些条件均是“与”的关系。这时,按钮也可以被选择了,若单击查询,查询结果就显示在表单的逐条浏览页上,同时,在该页上还显示了共查询到几条记录及可用移动记录按钮逐条查看记录。

显示查询条件按钮可以查看本次查询输入的条件;清除查询条件按钮可以清除本次查询的条件以备下一次查询;打印按钮将本次查询结果输出到打印机;放弃按钮则放弃本次查询并释放本表单元。

为了方便查看,还可以在表单的浏览佤页中一次查看到全部查询到的记录;并能在浏览字段设定页中设定佤浏览时该字段的显示与否。

设计思路:

(1)利用拖放 *** 作形成标

(2)签对象和文本框对象。

(3)通过BEGIN TRANSACTION命令开始一次事务处理,

(4)通过ROLLBACK命令结束这一事务处理,

(5)并且将对表所作的各种更改存储下来。

(6)新增一条记录用于存储查询条件,

(7)并新建一个过程parsecondition,它返回一个表达式,形如“字段名所输入的值”。而后在查询按钮的Click事件中运用循环语句判断在哪个字段中输入了值,并将所有输入的备件用AND连接,作为用SET FILTER TO命令过滤记录的表达式和计算记录数的FOR语句的内容。

(8)在SET FILTER TO 语句和计算记录数的COUNT语句中都用到了宏代换符“&“,宏代换在编写代码时很有用,它返回一个变量的内容。在实时处理时都要用到。

(9)为了将自己挑选的字段显示在佤浏览表格(Grid)中,首先建立一个页框(Pageframe),将上面利用拖放 *** 作形成的标签和文本框放在第一页“逐条浏览”上,而后为每个字段名建立一个复选框,放置在页框的“浏览字段设定”页上,有对钩表示选中,无对钩,表示不选。默认状态下是全选(全部打对钩),单击后去掉对钩,表示不选。为动态反映,

(10)建立一个全局变量数组存储。并在“全局浏览”页面被激活时给表格的每个column的header1Caption和Controlsouce赋值为数组中的值即可。

源程序:set talk off

set delimiter off

set safety off &&重建索引时不提示覆盖

use a:\xj

inde on 学号 to a:\xh &&按学号建立索引文件xhidx

inde on 学号+姓名 to a:\xhxm &&按学号和姓名建立索引文件xhxmidx

inde on 姓名 to a:\xm &&按姓名建立索引文件xmidx

stortto c

do while c

clear

text

检索功能表

0---退出检索系统

1---按学号检索

2---按姓名检索

3---按学号和姓名检索

4---按学号、姓名、性别检索

endt

dd=1

@row()+1,17 say"请输入功能号" get dd pict "9" rang 0,4

read

do case

case dd=0

clear

do a:\main

retu

case dd=1

clear

n1=spac(2)

@4,20 say"请输入学号" get n1

read

use a:\xj inde a:\xh &&打开数据库文件xjdbf并打开按学号建立的索引文件xhidx

find &n1 &&查找字符串n1,&为宏替换

case dd=2

Clear

n2=spac(6)

@4,10 say"请输入姓名" get n2

read

use a:\xj inde a:\xm

find &n2

case dd=3

clear

n1=spac(2)

n2=spac(6)

@4,10 say"请输入学号" get n1

@5,10 say"请输入姓名" get n2

read

use a:\xj inde a:\xhxm

n4=n1+n2

find &n4

case dd=4

clear

n1=spac(2)

n2=spac(6)

n3=spac(2)

@3,10 say"请输入学号:" get n1

@4,10 say"姓名:" get n2

@5,10 say"性别:" get n3

read

loca for 学号=n1and姓名=n2and性别=n3 &&查找条件是学号为n1并且姓名为n2并且性别为n3的记录

other

retu

Endc

if eof() &&如果已到文件尾

clear

wait'对不起!没找到。请按任意键返回!'

loop

endif

cc=t

y=" "

do while cc

set devi to scre &&设置屏幕显示字符

clea

@row(),5 say"学号:"+学号

@row(),40 say"姓名:"+姓名

@row()+1,5 say"性别:"+性别

@row()+1,5 say"出生年月:"+dtoc(出生年月)

@row()+1,40 say"是否团员:"+是否团员

@row()+1,5 say"电话:"+电话

@row(),40 say"通信地址:"+通信地址

@row()+1,5 say"邮编:"+邮编

@row()+1,5 say"总成绩:"+总成绩

@row()+1,5 say"备注:"+备注

@20,20 say"不继续查找打N,否则打任一键" get y

read

if y="N"ory="n"

clear

storfto cc

loop

else

Endif

ifnoteof()

loop

Endif

storfto cc

Enddo

storfto c

Enddo

use

do a:\main

8、统计模块子程序(A:\totalprg)

功能:提供统计人数、平均成绩和党员人数的功能。

源程序:set talk off

use a:

dd=0

stortto c

do while c

clear

text

统计功能表

0---退出统计系统

1---统计人数

2---统计平均成绩

3---统计党员人数

endt

dd=1

@row()+1,17 say"请输入功能号" get dd pict "9" rang 0,3

read

do case

case dd=0

clear

do a:

case dd=1

clear

coun to aa &&计算记录数并把值赋给aa

@4,20 say"总人数:"

aa &&显示变量aa的值

a=' '

@7,20 say"按任意键返回!"

read

if a=''

loop

endi

case dd=2

clear

aver 总成绩 to aa &&对总成绩求平均并把平均值分别赋给变量aa

@4,20 say"求总成绩平均成绩为:"

aa

a=' '

@9,20 say"按任意键返回!"

read

if a=''

loop

endi

case dd=3

clear

coun for 是否团员="是" to aa &&统计党员数,并把值赋给aa

@4,20 say"团员人数为:"

aa

a=' '

@9,20 say"按任意键返回!"

read

if a=''

loop

endi

endc

return

endd

9、显示模块子程序(A:\dpprg)

功能:提供卡片式的显示记录的功能。

源程序:set talk off

set devi to scre

use a:\xj

kk=t

do while kk

clea

hk=recn()

hk1=str(hk,3)

@row(),5 say"您现在浏览的是第"+hk1+"张卡片"

@row()+1,5 say"学号:"+学号

@row()+1,5 say"姓名:"+姓名

@row()+1,5 say"性别:"+性别

@row()+1,5 say"出生年月:"+dtoc(出生年月)

@row(),40 say"是否团员:"+是否团员

@row()+1,5 say"电话:"+电话

@row()+1,40 say"通信地址:"+通信地址

@row()+1,5 say"邮编:"+邮编

@row()+1,5 say"总成绩:"+总成绩

@row()+1,5 say"备注:"+备注

wait '请按n键浏览下一条记录,按l键浏览上一条记录,按y键返回主程序!' to k

do case

case k='n'

if eof() &&如果已到文件尾

go top &&将文件记录指针移到文件记录的首记录

else

skip &&否则,跳到下一条记录

endi

hk=hk+1

case k='l'

if bof() &&如果已到文件开头

go bott &&将文件记录指针移到文件记录的最后一条记录

else

skip -1 &&否则,跳到上一条记录

endi

hk=hk-1

case k='y'

clear

do a:\main

kk=f

endc

endd

10、删除模块子程序(A:\delprg)

功能:提供逻辑与物理删除的功能。

源程序:set talk off

set devi to scre

use a:\xj

yy=" "

yn=" "

de=spac(2)

clear

@4,20 say"请输入要删除记录的学号" get de

read

loca all for 学号=de

if eof()

wait"查无此卡片!击回车键退出!"

clear

do a:\xj

retu

endi

ifnoteof()

clea

hk=recn()

hk1=str(hk,3)

@row(),5 say"您现在浏览的是第"+hk1+"张卡片"

@row()+1,5 say"学号:"+学号

@row()+1,5 say"姓名:"+姓名

@row()+1,5 say"性别:"+性别

@row()+1,5 say"出生年月:"+dtoc(出生年月)

@row(),40 say"是否团员:"+是否团员

@row()+1,5 say"电话:"+电话

@row(),40 say"通信地址:"+通信地址

@row()+1,5 say"邮编:"+邮编

@row()+1,5 say"总成绩:"+总成绩

@row()+1,5 say"备注:"+备注

endif

@13,20 say"是这个记录吗?(Y/N)" get yn

read

if yn="n"oryn="N"

clea

do a:\xj

retu

endi

if yn="y"

@14,20 say"真要删除吗?(Y/N)" get yy

read

if yy="y"oryy="Y"

delete &&删除当前记录(逻辑删除,但不是真正将当前文件记录从VFP中删除)

endif

endi

clear

stor " " to y

@15,15 say"删除的记录从盘中彻底清除吗?(Y/N)" get y

read

if y="y"ory="Y"

pack &&真正删除当前记录(物理删除)

endif

clea

do a:\xj

以上就是关于用VF程序设计一个关闭按钮的步骤全部的内容,包括:用VF程序设计一个关闭按钮的步骤、vf程序设计、vfp程序设计自学好学不等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9510231.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存