Visual FoxPro 提供的功能 — 速度、能力和灵活性,是您在普通数据库管理系统中看不到的。它带您进入一个 Xbase 的新时代,对象和事件模型使得创建和修改应用程序比以往任何时候都快速便捷。
这部分将为您介绍 Visual FoxPro 的一些主要功能。有关 Visual FoxPro 6.0 最新增强功能的详细信息,请参阅“Visual FoxPro 6.0 的新增功能”。
本章内容要点:
Visual FoxPro 带来了更强大的功能,可以在应用程序或数据库开发的任何一个领域中给您提供帮助。这些改进体现在性能、系统资源利用以及设计环境之中。有关语言方面更改的详细内容,请参阅“新的和改进的语言元素”。
在该版本中,您可以对项目及数据有更强的控制。您能够使用源代码管理产品,比如 Microsoft Visual SourceSafe™,同时在“项目管理器”中看到组件的状态。也可以在发出 CREATE CLASS、CREATEOBJECT( ) 或 NEWOBJECT( ) 命令或使用“应用程序生成器”时通过提供的 ProjectHook 类管理项目事件。数据库容器允许几个用户在同一个数据库中同时创建或修改对象。按需刷新的特性允许您更新数据库或项目的视图。“数据库设计器”中查找及重排等特性允许您迅速更改数据库中对象的外观。您可以使用键盘访问“项目管理器”及“项目管理器”中的图标,并且“数据库设计器”还可以帮助您迅速地区分对象。
现在,数据库引擎支持更改与规则冲突的值。保守式缓冲可以更有效地处理记录的锁定。NULL 是一个可标识的关键字,可以代替“.NULL.”的使用。
Visual FoxPro 添加了新的“应用程序向导”,其提供的新的 ProjectHook 对象和改进了的应用程序框架功能可以使您的应用程序更有效率。我们还添加了一些功能来增强开发环境,以便更容易地向应用程序中添加有效的功能。
在 Visual FoxPro 的这个版本中,您可以更简便地调试及监控您的应用程序组件。您有在 Visual FoxPro 主窗口中打开调试工具的选项,同时您可以选择这些调试工具是与您的应用程序界面一起显示还是显示在另外一个分离的窗口中(这样他们可以不干涉应用程序工作空间)。调试器提供了设置新断点、跟踪事件以及记录执行代码的工具,它看起来与 Visual C 的调试环境很相似。在“监视”窗口以及“局部”窗口中,您可以深入程序,查看属性设置值,对象以及数组元素的值。要想查看一个变量的当前值,您只需在“跟踪”窗口中把光标放置在变量名上即可。“调试输出”窗口为显示交互的或代码中的信息提供了方便的途径,同时它可以把结果输出到应用程序窗口之外的另一个窗口。
Visual FoxPro 的这一版本同样包含一个增强的“代码范围分析器”应用程序,可以用来分析程序、应用程序或实际运行的项目代码。“代码范围分析器”引擎自身如同 Visual FoxPro 中提供的界面一样是可以定制的。
在这个版本的“表设计器”中,您可以在创建字段时方便地添加索引,您也可以指定多种默认值,它们使表的设计迅速而简便。在同一个选项卡上您指定字段的行上,可以定义一个普通索引。通过“表”选项卡,您可以直接访问表级的有效性规则、触发器以及统计值。默认类及库属性允许您把一个字段指定为某个控件类型:当您把该字段添加到表单上时,您通过一步便创建了所需的控件。另外,InputMask 及 Format 属性可以帮您控制数据的显示。
“连接设计器”可以平滑地与 ODBC 管理员一起工作,使创建连接更加简便。该设计器也提供了可以优化连接的附加属性。
现在您可以创建外部联接,为列指定别名,选择最上面几条或百分之几的记录,所有这些功能都在“查询设计器”及“视图设计器”中。使用“视图设计器”,您还可以为视图字段指定在表字段上可以指定的同样的扩展属性。例如,您可以指定一个默认控件类、输入掩码或格式。
数据字典的增强有助于表单的设计,“表单设计器”本身也更易于使用并且提供了更多的功能。“表单设计器”支持单文档界面 (SDI) 以及多文档界面 (MDI) 的选项,因此您的应用程序可以具有您所希望的功能。使用 SDI,您可以创建应用程序窗口,它们是 Windows 桌面的子窗口。“菜单及快捷键设计器”可以帮助您创建快捷菜单,在控件的 RightClick 事件中可以使用这些快捷菜单。表单和控件又有了一些附加的属性和方法程序,可以帮助您控制表单每一部分的感觉及外观。有关属性和方法程序的列表,请参阅“帮助”。
在“属性”窗口中,您可以选择一组控件,查看或更改它们共同的属性。如果您需要更多的空间来查看或更新属性设置值,可以使用“属性缩放”特性。使用“对齐”工具,水平、垂直居中以及其他放置方式也易于实现。应许多开发者的要求,在“属性”窗口中可以使用键盘定位,CTRL 键与 PAGE UP、PAGE DOWN、HOME 或 END 键一齐使用便可在对象之间移动。如果需要更改运行中表单的某些东西,工具栏上的“设计”按钮可使您再次迅速切换到设计模式。
由于具有格式化程序、彩色显示代码的选项以及增强的查找及替换特性,编辑器使编码更为简便。快捷菜单及键盘访问的特性在整个产品中可用;使用鼠标右按钮可以发现任意给定元素可能的动作。
两个向导可以帮您创建应用程序:
其他向导及示例的更新给您以更强的能力,比如访问排序所用的索引标识。“表单向导”允许您添加一个页框,从而可以在附加页面上显示更多的字段。“数据透视表向导”能够使用开放式数据库连接 (ODBC) 来填充一个数据透视表。“SQL Server 升迁向导”支持声明的参照完整性。“交叉表向导”现在可以显示 NULL 值。另外,作为实用工具还提供了一个向导,用以创建查询或显示数据库记录用的 Web 页面。
Visual FoxPro 是一个自动服务程序,因此其他应用程序也可以利用 Visual FoxPro。ISimpleFrame 能力扩展了对更宽系列 ActiveX 控件的支持。Visual FoxPro 也提供创建您自己的自动服务程序的能力,您可以把这些服务器布置在本地或远程。
位于 Visual Studio …\Samples\Vfp98\Solution 目录中的 Solution 示例中收集了一系列应用程序组件,他们显示了如何利用 Visual FoxPro 的特性解决现实世界的问题。您可以在应用程序中直接使用示例组件及它们的代码。有关 Visual FoxPro 示例的详细信息,请参阅 。
在 Visual FoxPro 的向导、生成器、工具栏和设计器的帮助下您可以快速开发应用程序。使用 Visual FoxPro 的对象和事件模式,您可以快速创建、原型化并实现真正的无模式应用程序。
使用向导和生成器,应用程序的所有或任何组件都可以在几分钟内完成。另外,如果利用向导或生成器创建的组件不完全满足要求,您可以使用设计器修改它们。
若想迅速得到结果,请使用向导。对 Visual FoxPro 中的常规任务,它们提供了逐步的提示。例如,“表向导”引导您走过创建表的过程,“表单向导”教您如何创建一个表单,“WWW 搜索页”实用工具帮助您创建查找表所用的 Web 页面。
使用向导,您能够:
如果您已按耐不住,请在“向导概述”的表中选择一个向导,然后开始创建您的应用程序或组件。
如果不想用自己的数据及应用程序组件做实验,您可以使用 Visual FoxPro 提供的示例。您可以在位于 Visual Studio …\Samples\Vfp98\Data 目录下的示例数据库中工作。
“表向导”帮助您更快地创建表
有关该版本中新增及增强向导的详细内容,请参阅“新增和改进了的向导和生成器”。
象其他 Microsoft 应用程序一样,Visual FoxPro 提供了工具栏。工具栏包含了用以完成一般任务的按钮,或是需要经常使用的对象。要完成特定的任务或使用特殊的对象,您应选择适当的按钮。
“常用”工具栏将一些常用功能收集在一起
您可以对 Visual FoxPro 系统本身定制工具栏,也能够为您编写的应用程序定义工具栏。有关工具栏的详细内容,请参阅第三章“配置 Visual FoxPro”或参阅《程序员指南》中的第十一章“设计菜单与工具栏”。
正如向导可以帮助您创建报表及表单一样,生成器这种可视的工具,可以帮助您设计满足要求的控件。当您建立很多表单或做应用程序原型时,生成器可以节省您的时间。您所做的只是启动生成器并回答一系列问题。根据您的回答,生成器设置您要添加控件的属性。
生成器使得向表单中添加控件很容易
向表单添加一个组合框 假设您希望增强自己创建的简单表单的功能,比如添加在列表中选择字段值的能力,而不是用 VCR 按钮在全部记录间移动,同时在文本框中查看值,那么请用组合框替换文本框,用生成器设置属性值。
使用生成器修改现有控件 如果希望修改现有控件,您可以选定控件并使用生成器帮您设置该控件的属性值。
例如,“组合框生成器”是一个选项卡式的对话框,它可以帮您设计表单上的组合框。象文本框控件一样,组合框给出的也是一个值,但它允许您从一个类似列表框控件的列表中选择。使用该生成器可以设置组合框的属性值。在您设置每一个属性时,表单上的控件会发生变化以符合设置值。
生成器锁定按钮及组合框按钮
组合框生成器对话框中的选项卡
生成表格控件 如果想用一个小电子表格的形式显示您的数据,可以使用表格控件。即使对表格控件的属性一无所知,您仍然可以利用生成器使用它们的功能。生成器可以帮您选择表格字段,选择样式及布局,以及创建绑定到表格控件之上的不同表之间的关系。您在生成器中所做的修改会同时反映到“表单设计器”中。
Visual FoxPro 提供了很多可选的生成器。
若要 | 请使用 |
格式化一组控件 | 自动格式生成器 |
生成一个组合框 | 组合框生成器 |
生成命令按钮组 | 命令按钮组生成器 |
生成编辑框 | 编辑框生成器 |
创建并编辑表达式 | 表达式生成器 |
生成表单 | 表单生成器 |
生成表格 | 表格生成器 |
生成列表框 | 列表框生成器 |
生成选项按钮组 | 选项按钮组生成器 |
保证参照完整性 | 参照完整性生成器 |
生成文本框 | 文本框生成器 |
有关的详细内容,请参阅《用户指南》中的第一章“入门指南”。
您可以借助“项目管理器”创建和集中管理应用程序中的任何元素。例如,您可以创建或更新表和数据库,设计或更改表单和报表,定义和更改类库,生成或重新生成应用程序。另外,您可以访问所有向导、生成器、工具栏和其他易于使用的工具。如果添加一个源代码管理产品,您还能看到组件是否被签出、锁定或共享。
“项目管理器”提供了一个进行集中管理的环境
组织您的应用程序组件 “项目管理器”有助于组织您的数据,不管您在运行一个查询还是设计一个完整的应用程序,只需几次鼠标击键,便可以明了自己的表及查询,并且组织相关表单、报表、标签、代码、位图及其他文件。
若要查看具有一个示例数据库的活动的项目管理器,请启动 Visual FoxPro,创建一个项目,然后向其中添加一个数据库。要做这个工作,请选定数据库,选择“添加”,然后定位到 Visual Studio …\Samples\Vfp98\Data 目录中的 Testdata.dbc 上。
使用“项目管理器”组织文件
使用熟悉的界面 项目管理器的界面与 Microsoft Windows 的资源管理器类似。与图标连接的线显示了项目中条目之间的层次结构。您可以展开或折叠项目的大纲视图,从而查看所需的不同层次的细节 — 从数据库到表中的单个字段。您也能够为容器类指定自定义的图标,使用源代码管理的特性。您可以使用键盘在“项目管理器”中定位。
若要 | 执行的动作 |
察看项目中不同种类的文件及对象 | 选择一个选项卡。 |
展开大纲视图 | 单击加号。 |
折叠大纲 | 单击减号。 |
向项目中添加文件 | 选择“添加”。 |
访问连编选项 | 选择“连编”。 |
修改或浏览表 您可以设置“项目管理器”,使得双击文件可以在“表设计器”中显示相应的表,从中可以修改表的结构,或者在“浏览”窗口中显示表。在“工具”菜单中选择“选项”,然后设置“项目”选项卡上的“项目双击操作”选项。
设置文件说明信息 通过设置出现在“项目管理器”中的文件描述,您可以简便地跟踪文件。选定文件,单击鼠标右键,然后选择“编辑说明”。
停放或使用拖离的选项卡 为使屏幕上有更多可用空间,您可以折叠“项目管理器”,象工具栏一样停放它,然后拖离需要处理的选项卡。
“项目管理器”允许您定制自己的工作区
以工作组方式工作 若要控制对应用程序对象的更改,您的工作组可以使用源代码管理产品,比如 Microsoft Visual SourceSafe。源代码管理系统是通过“项目管理器”管理的。在“选项”对话框中启用源代码控制应用程序后,使用“项目”菜单上的源代码选项可以把文件添加到源代码管理项目之中。当您添加及修改文件时,“项目管理器”中的选项卡在文件的旁边显示图标以指示每个文件的状态。
试着在“项目管理器”中组织您自己的表、数据库、查询及报表,或使用“项目管理器”跟踪一个应用程序的组件。
有关的详细内容 | 请参阅 |
项目管理器 | 《用户指南》中的第一章“入门指南”。 |
用“项目管理器”开发应用程序 | 《程序员指南》中的第二章“开发应用程序”。 |
工作组开发 | 《程序员指南》中的第二十九章“集体开发”。 |
如果您希望得到多于向导或生成器的控制能力,请使用 Visual FoxPro 设计器。设计器提供了图形用户界面,通过它您可以创建并定制应用程序的组件。例如您可以使用“表单设计器”定义表单或用“表设计器”定义表。
“表设计器”给您创建表时完全的控制
您可以使用向导创建一个组件,然后用设计器修改它。
若要 | 请使用 |
创建表并在其上建立索引 | 表设计器 |
运行本地表查询 | 查询设计器 |
运行远程数据源查询;创建可更新的查询 | 视图设计器 |
创建表单,用以查看并编辑表中数据 | 表单设计器 |
创建报表,显示及打印数据 | 报表设计器 |
创建标签布局以打印标签 | 标签设计器 |
设置数据库;查看并创建表间的关系 | 数据库设计器 |
为远程视图创建连接 | 连接设计器 |
创建菜单或快捷菜单 | 菜单设计器 |
有关的详细内容,请参阅《用户指南》中的第一章“入门指南”。
现在,使用 Visual FoxPro 可以轻松地创建一个关系型数据库。您可以迅速地定义一系列表,然后用关系链接它们。无论何时使用这些表,它们之间的关系都存在。
让我们看一下示例数据库。若要在“数据库设计器”中打开示例数据库,请从“文件”菜单中选择“打开”,然后定位到 Visual Studio …\Samples\Vfp98\Data 目录中的 Testdata.dbc 上。
“数据库设计器”显示表之间的关系
使用 Visual FoxPro 数据库特性,您可以:
创建并编辑关系 在“数据库设计器”中,定义及编辑关系很容易。
双击关系线编辑两个表之间的关系
实施数据完整性 数据库中的表具有附加的属性,允许您校验数据以及使用规则和触发器控制数据的输入。
使数据输入更高效 设置表属性可以控制默认值、标识默认控件类型以及为字段指定描述性标题。
向远程存储过程传递参数 如果您更喜欢使用代码完成工作,那么现在可以传址方式向后端服务器上的存储过程传递参数,并从存储过程获取返回值。仅当使用 SQL pass-through 时,输入/输出参数可用;它们不可用于视图。如果在视图中使用输入/输出参数,它们将被当作输入参数对待。
“数据库设计器”提供了一个图形用户界面,可以处理数据库对象,比如表、本地视图以及远程视图。
容易辨认表和视图 在数据库视图中,您可以根据每个对象标题窗口中显示的图标确定本地视图及远程视图。
迅速定位数据库对象 即使您的布局很拥挤,使用“数据库”菜单上的“查找对象”选项,您仍可以迅速的定位数据库对象。
通过工具栏创建连接 现在您可以通过“数据库设计器”工具栏创建与 ODBC 数据源的连接。
定制数据库布局 使用“属性”选项,可以显示或隐藏数据库对象。使用“重排”选项,也能够按名称或按类型重排对象,或以水平及垂直方式对齐对象。如果您的表具有不同尺寸及宽度,您可以使用“重排”选项把对象调整到默认高度及宽度来清理布局。
让我们探索一下创建及维护数据库的常规任务。
若要 | 执行的动作 |
向数据库中添加表 | 从“项目管理器”中拖动表或选择“添加表”命令。 |
从数据库中移去表 | 选定表然后选择“移去”命令。 |
创建永久关系 | 从一个表的主索引或侯选索引上拖动鼠标到另一个表的索引上。 |
设置数据库表的属性 | 选定表,然后从“数据库”菜单中选择“修改”命令,调出“表设计器”。 |
折叠视图以便查看更多的表 | 选择“数据库设计器”,然后从快捷菜单中选择“全部折叠”。 |
重排表 | 拖动表的名称。选择“数据库”菜单上的“重排”命令。 |
生成参照完整性 | 使用“参照完整性生成器”。选择“数据库”菜单上的“编辑参照完整性”命令。 |
生成参照完整性 “参照完整性生成器”处理参照完整性代码的设置工作,这样可以把更改级联进子表从而防止“孤儿”记录。若要试一试,请双击数据库中两个表之间的联接线,然后在“编辑参照完整性”对话框中选择“参照完整性”选项。
“参照完整性生成器”帮助您控制数据的一致性
有关的详细内容 | 请参阅 |
创建并联接表或为表设置索引 | 《用户指南》中的第二章“创建表和索引”。 |
设置数据库 | 《用户指南》中的第三章“将表加入数据库”。 |
设置数据库表属性及参照完整性 | 《程序员指南》中的第七章“处理表”。 |
在 Visual FoxPro 中,使用“表设计器”创建表非常容易。设计器的三个选项卡提供了定义字段、指定索引及查看表信息所需的全部选项。
“表设计器”可以创建数据库表或自由表
使用 Visual FoxPro“表设计器”,您能够:
创建数据库表或自由表 创建具有附加属性以及与其他表有关系的数据库表,或是不需要附加属性或关系的自由表。
修改现有表 在“项目管理器”中选定表,然后选择“修改”,在“表设计器”中显示该表。
创建索引排序数据 在创建字段时添加一个普通索引或在“表设计器”中选择“索引”选项卡。
方便输入数据 创建表之后,您可以在“浏览”窗口中显示、编辑数据或添加数据。若要使数据更易于输入,请从“显示”菜单中选择“编辑”命令,将“浏览”窗口置为编辑方式,然后将表设为“追加模式”。
通过把表添加进数据库,可以提高您对数据显示或字段输入的管理能力。
为字段设置默认值 可以容易地设置默认值。无论何时您向表中添加一条记录,默认值都将出现在字段中。
节约创建表单的时间 在定义字段时,您可以为每一个字段设置一个默认类。这样当您把字段拖到表单上时,它自动变成您希望表示数据的控件类。创建表以后,您可以从“数据环境设计器”、“数据库设计器”或“项目管理器”中把它的字段拖到表单上,创建相应控件。
您不需要从数据开始建立数据库或表。
转换现有表 如果有 Visual FoxPro 先前版本的文件,只要打开他们,就会出现 Visual FoxPro 转换对话框。
把其他数据源移到 Visual FoxPro 表中 如果有电子表格或文本文件中的数据,您可以把它们导入到 Visual FoxPro 表中而不需重新键入。“导入向导”把源文件转换成 Visual FoxPro 表,并允许您设置列标题、数据类型以及其他选项,您可以在数据库或应用程序中直接使用结果表。
有关的详细内容 | 请参阅 |
任意向导 | 在使用的任意向导中按 F1 键进入帮助。 |
表设计器 | 表设计器。 |
浏览表以及为表设置索引 | 《用户指南》中的第二章“创建表和索引”。 |
导入数据 | 《用户指南》中的第九章“导入和导出数据”。 |
使用“查询设计器”设置一个查询使检索所需信息变得比以往任何时候都简单。每一个查询背后是一个 SQL SELECT 语句;但创建 Visual FoxPro 查询并不需要知道 SQL,只需使用“查询设计器”中的选项卡定义 SQL 语句的子句即可。
使用“查询设计器”定义 SQL SELECT 语句
使用 Visual FoxPro 查询设计的特性,您能够:
设置一个双表查询 从 Testdata.dbc 中添加两个表或使用您自己的 .dbf 文件管理“查询设计器”。
更改查询输出的目的地 选择“查询”工具栏上的“查询去向”按钮,可以为您的查询输出选择一系列的目的地。
查询去向允许用不同的方式应用结果
使用扩展的记录选择功能 现在可以使用选择最上面 N 条记录的 SQL 功能以及 ANSI 标准联接,包括左外部联接、右外部联接、全外部联接等等。这些功能可以通过 SELECT - SQL 命令、“查询设计器”以及“查询向导”来实现。
预览 SQL Select 语句 如果您熟悉 SQL,可能发现预览一下 SQL 语句是有好处的。这些语句是“查询设计器”基于您的选择生成的。选择“查看 SQL”命令可以显示 SQL 窗口。
SQL 语句窗口显示定义查询的代码
有关的详细内容 | 请参阅 |
设计查询、查询表达式以及选择查询目的地 | 《用户指南》中的第四章“检索数据”。 |
您以前曾经想过从两个不同的表中选择一系列记录,并且使对记录所做的更改反映到原始表中吗?现在可以使用“视图设计器”来实现这一操作。
视图能够显示记录并允许更新源表
使用 Visual FoxPro 视图设计特性,您能够:
通过视图更新数据 试着创建一个象下段示例一样的视图。示例中的视图使用了 Testdata.dbc 中的 Orders 及 Orditems 表。这个视图选择两个日期之间的订单。
使用“视图设计器”中的“更新条件”选项卡上的选项,可以更新视图并在“浏览”窗口中显示结果。您对视图结果所做的更新将被送回两个源表中。
可以使视图中的一些或所有字段可更新
使用视图向导 两个不同的视图向导可以帮助您建立本地及远程视图。如果有可连接的远程服务器(比如 Microsoft SQL Server),您可以使用“远程视图向导”。
设置提示输入值的视图 您甚至能够设置一个视图,使之在运行时提示您输入值。比如,试着设置一个视图,提示您输入订单日期的范围。
视图可以提示输入参数
处理自由数据 如果与主数据源断开连接时仍需使用其中数据,您可以用语言创建一个视图来处理自由数据,然后返回自由数据来更新主数据源。
有关的详细内容 | 请参阅 |
视图向导 | 在向导中按 F1 键进入帮助。 |
创建视图 | 《用户指南》中的第五章“使用视图更新数据”。 |
远程视图或脱机工作 | 《程序员指南》中的第八章“创建视图”。 |
Visual FoxPro 提供了功能强大的控件,您可以用“表单设计器”添加控件。不需或仅需很少编码即可获得界面。例如表格控件,链接到您的表上后,使开发一对多表单变得容易,只需把表拖到表单上创建表格控件即可。为与其他应用程序一致,您也可以用页框控件创建选项卡式对话框或您自己的生成器界面。
Visual FoxPro 易于建立表单来显示相关表中的记录。使用“项目管理器”以及“表单设计器”,只需“拖放”所需字段即可建立一个表单。
一对多表单显示相关表中的数据
试着使用两个相关表,比如 Testdata.dbc 中的 Customers 及 Orders 表,建立一个一对多表单。
四个步骤之后,一对多表单…
…可以运行
在“数据环境设计器”中为表单指定表及视图 使用表单或报表的数据环境,可以指定您的表单使用的表或视图。一旦添加了具有所需显示记录的表及视图,您就可以把字段拖至“表单设计器”中了。
选择多个字段创建表格 您可以选定多个字段,然后把它们拖至表单来创建一个表格对象。如果选定多个字段并用鼠标右键拖动它们,您可以选择是建立多个控件还是一个表格。您也可以单击表中的字段数据项,然后将其拖至表单,从而创建一个包括表中所有字段的表格。如果在单个字段上单击鼠标右键然后将其拖至表单,可以创建一个不同于该字段默认对象类的对象类。
要有创造力并使用布局、颜色、形状以及图表定制您的表单。
精确地对齐控件 使用“布局”工具栏可以迅速排列控件并使它们均匀分布在表单上。
更改背影颜色 使用“调色板”工具栏。
添加图表及图片 使用“表单控件”工具栏上的直线、形状以及图象按钮。
控制组合框中数据的显示和输入 可以设置组合框控件的 Format 及 InputMask 属性。
移去组合框或微调控件上的边框 可以使用 BorderStyle 属性从控件上移去边框。例如,如果在表格中使用组合框或微调控件,您可以移去边框加在表格上的线,使显示更清晰。
表单使用 Windows 当前颜色 您可以设置 ColorSource 属性的附加选项,使表单颜色基于 Windows 当前的配色方案。
可以使用 Visual FoxPro 中控件的属性增强您的用户界面。使用“属性”窗口,可以查看及设置与表单中每个对象相关的属性,由此可以确定表单的外观及行为。
使用绑定在 ActiveX 控件上的数据 若要 ActiveX 控件绑定数据,可以使用“属性”窗口中的 ControlSource 属性(如果该控件支持此属性)来指定该控件绑定的字段或变量。
控制在页框中的定位 通过设置页框的选项卡次序,您能够控制页面的显示次序。这同时也添加了使用左、右箭头键定位到页框中不同页面的能力。
控制列表框或组合框控件中数据项的选择 要收集控件选定数据项的实际值,应把 BoundTo 属性设为“真”(.T.)。要收集数据项列表的索引编号,应把 BowndTo 属性设置为“假”(.F.)。
在列表框中选择 60 个以上的数据项 现在您能够在列表框控件中选择不限数目的多个数据项。
创建隐含属性及方法程序 可以把您创建的属性及方法程序的可访问性设置为公共、保护或隐含。要更改属性及方法程序的可访问性,请使用“类信息”对话框中的“成员”选项卡。
有关的详细内容 | 请参阅 |
创建表单 | 《用户指南》中的第八章“用表单管理数据”。 |
使用表单向导 | 在向导中按 F1 键进入帮助。 |
使用生成器 | 在生成器中按 F1 键进入帮助。 |
使用控件 | 在“帮助”中搜索控件名称或参阅《程序员指南》中的第十章“使用控件”。 |
在应用程序中使用表单 | 《程序员指南》中的第九章“创建表单”。 |
为简化工作,您可以定制“表单设计器”使其满足您的工作方式及需求。
自动保存更改 设置相应选项,Visual FoxPro 可以在您退出“表单设计器”时自动保存表单。在“选项”对话框的“表单”选项卡中,您可以设置选项为“在运行表单之前保存更改”。如果选定该选项,就会跳过确认对话框,自动保存对当前表单所做的更改。
更改“属性”窗口的字体 您可以从“属性”窗口快捷菜单中的三种字体设置中选择其一。
在“属性”窗口中使用键盘 “属性”窗口支持键盘定位,用来在对象、控件的层次结构及选项卡次序之间移动。使用 CTRL+PGUP 以及 CTRL+PGDN 可以在列表中上移或下移。
有关的详细内容 | 请参阅 |
表单设计器及表单控件 | “表单设计器”或“表单控件工具栏”。 |
创建表单 | 《用户指南》中的第八章“用表单管理数据”。 |
当需要向表单添加控件使之能在表单记录中定位时,您可以从控件库中选择并拖进所需控件,然后运行表单,就这么简单。
使用下面示例您可以看到使用类库中的控件简化您的工作是多么容易。
在类库中保存复杂控件集合以供重新使用
向表单添加 VCR 控件 打开 Visual FoxPro 提供的示例按钮类库 (Buttons.vcx),您可以很容易地向表单中添加一系列 VCR 样式的定位控件按钮。示例库在 Visual Studio …\Samples\Vfp98\Classes 中。
VCR 控件类可以被添加到您的工具栏上
把控件添加到您的表单上很容易
设置 SkipTable 属性 因为这是一个一对多表单,您需要指定选择“下一个”按钮时将选定主表中的下一条记录。要做到这一点,请打开“属性”窗口,然后设置 SkipTable 属性使之指向主表。
SkipTable 属性向您的控件添加了所需的最后功能
不必等待其他人向您出售他们的控件类及类库;您可以创建自己的类和类库。
创建您自己的类 您可以创建自己的控件并把它们保存在类库中。您可以从标准 Visual FoxPro 类开始,定制它们来创建您的版本,也可以创建自己的类。
指向已编译应用程序中的类 您可以使用 SET CLASSLIB 命令指向包含在已编译应用程序中的类。
添加并使类保持在“表单控件”工具栏上 当您向“表单控件”工具栏中添加类时,该类保持在工具栏上直到您再次单击“查看类”按钮并选择“常用”为止。
查看类的详细信息 使用“类浏览器”,您可以查看一个类库或表单中整个类及对象的层次结构。
创建自己的 ActiveX 控件的子类 您可以创建 Visual FoxPro 自带的所有 ActiveX 控件的子类。
有关的详细内容 | 请参阅 |
使用“类设计器” | 在“类设计器”中按 F1 键进入帮助。 |
设置属性 | 《程序员指南》中的第九章“创建表单”。 |
创建类及使用类库 | 《程序员指南》中的第三章“面向对象程序设计”。 |
您可以使用“菜单设计器”向应用程序中的表单添加菜单栏及菜单。使用“快捷菜单设计器”,您可以创建快捷菜单或 SDI 表单的菜单。
当创建一个新菜单时,您可以选择添加菜单到菜单栏还是创建快捷菜单。“快捷菜单设计器”提供与“菜单设计器”相似的界面,但允许您设计快捷菜单而不是菜单栏及菜单。
生成您的快捷菜单之后,您可以把它附加在任何控件之上,只要在控件的 RightClick 事件中运行该菜单即可。
当需要打印重要数据时,您不希望花费大量时间设置报表的格式,这就是 Visual FoxPro 提供报表向导来简化报表处理过程的原因。使用报表向导,您可以从表或视图中选择所需的数据,然后按您所选的专业外观格式显示它们。
把两个不同表中的信息组合进一个一对多报表中是很容易的
使用 Visual FoxPro 报表设计特性,您能够:
使用“预览”铵钮 报表向导的最后一个屏幕中有一个“预览”按钮,可以快速查看报表是否为希望的方式。如果不是,可以使用向导中的“上一步”按钮来进行适当的调整。
使用快速报表迅速获得结果 如果您是在“报表设计器”中建立自己的报表,从“报表”菜单中选择“快速报表”可以把表中选定字段添加到报表上。
在报表中使用查询或视图结果 想打印一个查询的结果吗?请在“查询去向”对话框中选择“报表”选项。您可以把查询结果发送到一个预先设置好格式的报表或者把查询发送给报表向导。
创建一对多报表 使用“一对多报表向导”,可以容易地建立一个报表来显示由一对多关系联接起的两个表中的字段。例如,您可以试着使用向导在 Testdata.dbc 中的两个相关表上创建一个报表。
“报表向导”检索记录并格式化报表布局
使用其他报表向导 试着使用其他报表向导。对简单的单表报表或带总计的总结报表,请选择“报表向导”。
使用“报表设计器” 如果希望进一步定制由向导生成的报表,只需打开“报表设计器”并添加所需的增强功能即可。
有关的详细内容 | 请参阅 |
报表向导 | 在向导中按 F1 键进入帮助。 |
报表设计器 | 《用户指南》中的第七章“设计报表和标签”。 |
创建一个帮助系统可以提高您的应用程序的价值。使用 Visual FoxPro 内置的帮助编译器,您可以把文档文件转换成图形方式的帮助系统,与应用程序一起发布。如果打算用 Visual FoxPro 表存储您的帮助信息,可以创建 .DBF 样式的帮助。您可以在 Visual Studio …\Samples\Vfp98\Taztrade\Help 目录中找到一个示例文件 Ttrade.dbf。有关创建 Winhelp 和 HTML 帮助的详细内容,请参阅《程序员指南》中的第二十三章“创建图形样式帮助”或第二十四章“创建 .DBF 样式帮助”。
Visual FoxPro 比它的先前版本功能更加强大。面向对象的程序通过诸如子类等特性加速了应用程序的开发过程。Visual FoxPro 事件模型省去了您使用基本 READ 语句或编写事件处理程序的必要。优化您的系统配置以及使用 Rushmore™ 技术提高了 Visual FoxPro 的性能。
Visual FoxPro 仍然支持标准的面向过程的程序设计方式,但更重要的是它现在提供真正的面向对象程序设计的能力。借助 Visual FoxPro 的对象模型,您可以充分使用面向对象程序设计的所有功能,包括继承性、封装性、多态性和子类。有关 Visual FoxPro 的面向对象程序设计的详细内容,请参阅《程序员指南》中的第三章“面向对象程序设计”。
可以使用类快速开发应用程序。例如,使用 Visual FoxPro 提供的表单基类、工具栏基类或页框基类,您可以创建基本的表单、工具栏或页框。
通过对现有的类派生子类,您可以重用代码和表单。例如,您可以派生表单基类来创建一个自定义类,使应用程序中的所有表单具有风格相近的外观。
类设计器帮助您创建自定义类
Visual FoxPro 类模型赋予您进一步控制应用程序中对象的能力。不但可以在设计时通过“表单设计器”控制表单中对象的行为和外观,而且在运行时也具有同样的能力。
在 Visual FoxPro 中,您可以用“类设计器”可视地创建类或用 DEFINE CLASS 命令以编程方式创建类。有关的详细内容,请参阅《程序员指南》中的第三章“面向对象程序设计”。
使用 Visual FoxPro,您可以创建全面事件驱动的应用程序。您可以访问所有的标准 Windows 事件,比如允许拖放对象的鼠标运动。您可以通过“属性”窗口可视地控制事件,也可以通过 Visual FoxPro 语言以编程方式控制。有关事件模型的详细内容,请参阅《程序员指南》中的第四章“深入了解事件模型”。
使用调试环境,您可以在设计应用程序的每个组件及编写代码的同时测试并调试代码。Visual FoxPro 语言也相应地增强以支持调试能力:收集属性,检查文件及当前记录的锁定状态,值的提示等等。另外,调试工具在主应用程序之外独立工作,不会干涉您要测试的界面。
边设计边测试 增强的 Visual FoxPro 开发环境给您以更强的能力来测试您的组件设计与编码。例如在设计表单时,单击“运行”按钮即可运行编码。如果您想修改某些东西,只要单击“设计”按钮然后做更改即可。
及早抓住语法错误 编辑器现在支持显示彩色代码。您可以在“编辑属性”对话框中指定语法、常规文本、变量、注释等的颜色。如果敲错了一个命令或关键字,您可以根据错误的颜色立刻得知。
强有力的调试
使用“调试器”窗口,您可以在这个版本的 Visual FoxPro 中更容易地调试及监视应用程序组件。
有关测试及调试应用程序的详细内容,请参阅《程序员指南》中的第十四章“测试和调试应用程序”。
Visual FoxPro 在下面所有领域中都给您带来了增强的性能:
也可以通过加快启动速度和优化组合 SET 命令来提高性能。有关优化系统的详细内容,请参阅本书第四章“对系统进行优化”。
使用 Rushmore 技术您可以显著地提高查询的速度。Rushmore 是一种从表中快速地选取记录集的技术,它可将查询响应时间从数小时或数分钟降低到数秒。有关使用 Rushmore 技术的详细内容,请参阅《程序员指南》第十五章“优化应用程序”。
如果是几个开发者开发一个应用程序,您可以使用 Visual FoxPro 允许同时访问数据库组件的能力。同时,若要跟踪或保护对源代码的更改,您可以使用带有“项目管理器”的源代码管理程序。
允许多个人使用数据库对象工作 现在即使不独占访问数据库,您也可以修改表或视图的定义。使用“数据库”菜单中的“刷新”选项,可以重新装载数据库对象的定义从而反映其他用户所做的任何修改。
使用源代码管理器 您可以使用一个源代码管理程序,比如 Microsoft Visual SourceSafe,来协调并管理对在 Visual FoxPro 中开发的应用程序所做的更改。“项目管理器”在“项目”菜单上提供对源代码管理器的访问。
有关与多个开发者一齐工作的详细内容,请参阅《程序员指南》中的第二十九章“集体开发”。
使用 Visual FoxPro,您可以与其他应用程序共享数据,比如 Microsoft Excel 及 Word,使用其他应用程序的对象以及使用 Automation 控制其他应用程序。
使用 Visual FoxPro,您可以利用桌面上所有软件工具的优点。
在其他应用程序中使用 FoxPro 数据 与其他应用程序共享数据是很容易的 -- 例如您可以使用“数据透视表向导”与 Microsoft Excel 共享 Visual FoxPro 数据,或者使用“邮件合并向导”与 Microsoft Word 共享数据。
显示或存储其他应用程序的对象 通过把对象链接或嵌入列表或表单中,您可以包含其他应用程序的对象。然后您不用离开 Visual FoxPro 就可以直接编辑这些对象。
在 Visual FoxPro 中很容易地编辑包含进来的对象
有关共享数据的详细内容,请参阅《用户指南》中的第十章“与其他应用程序共享信息”。
您可以使用各种文件格式:文本、工作表和表,在 Visual FoxPro 和许多其他应用程序之间导入和导出数据,因此,向现有表中追加数据变得非常容易。导入向导可以帮助您决定输入到 Visual FoxPro 中的数据的结构。
有关的详细内容,请参阅《用户指南》中的第九章“导入和导出数据”。
使用 Visual FoxPro,您能与其他应用程序全面地集成。
控制其他应用程序 通过以编程方式控制其他应用程序,可以扩展您的应用程序的功能。例如,您可以指示 Microsoft Graph 将结果转化为图表,然后将图表保存在一个 Visual FoxPro 表的通用字段中,所有这些都可以在 Visual FoxPro 中用代码完成。或者您也可以添加自己或其他人开发的 ActiveX 控件。
优化 Automation 请求 您可以决定系统使用多长时间处理请求以及何时向用户显示信息。比如,您可以控制系统花多少时间重试 Automation 请求后,才显示“服务器忙”的消息。
您也可以控制当一个 Automation 的请求等待用户输入(比如使用鼠标或键盘)的时间间隔小于某个毫秒数时,显示“忙”消息。
从其他应用程序控制 Visual FoxPro 把 Visual FoxPro 作为 Automation 服务程序使用之后,您可以从其他应用程序中创建对 Visual FoxPro 对象的引用、执行 Visual FoxPro 命令以及运行 Visual FoxPro 程序。
有关 Automation 的详细内容,请参阅《程序员指南》中的第十六章“添加 OLE”。
您可以将 Visual FoxPro 作为前端开发功能强大的客户/服务器应用程序。因为 Visual FoxPro 不但提供可更新服务器数据的远程视图,通过 SQL pass-through 技术,还可直接访问服务器语法,可靠安全地提供灵活的客户/服务器解决方案。而且数据字典、本地视图和远程视图、null 支持、事务处理以及可对任何 ODBC 数据源进行访问等等,这些功能都为您开发客户/服务器解决方案带来了方便。
使用 Visual FoxPro 提供的属性及 ODBC 驱动程序,您可以提高客户/服务器应用程序的性能。
您可以使用下列临时表与远程视图属性来提高性能:
可以使用 DBGETPROP( ) 与 CURSORGETPROP( ) 函数显示这些属性,或用 DBSETPROP( ) 与 CURSORSETPROP( ) 函数设置这些属性。
在更新检测中包含或排除备注字段 您可以使用 CompareMemo 属性控制何时使用备注字段进行更新冲突检测。这个视图及临时表属性决定了备注字段(M 或 G 型)是否包含在更新 WHERE 子句中。默认值“真”(.T.) 意味着备注字段包含在 WHERE 子句中。如果该属性设置为“假”(.F.),不管 UpdateType 属性设置值是什么,备注字段不加进更新 WHETE 子句。
当 CompareMemo 设置为“假”(.F.) 时,备注字段的开放式冲突检测不再可用。若要对备注值进行冲突检测,应把 CompareMemo 设置为“真”(.T.)。
更好地调节记录的拾取 使用 FetchAsNeeded 属性可以指定连续取所有行或者只取由 FetchSize 属性决定的范围之内的记录。如果希望使用 Visual FoxPro 空循环取结果集合中的全部记录,请使用默认设置值“假”(.F.)。如果希望仅当用户移出 FetchSize 属性决定的范围之外时才取记录,请把 FetchAsNeeded 设置为“真”(.T.),从而取下一个记录集合。
加速参数化视图的重新查询操作 使用 Prepared 属性,您可以设置是否在执行视图之前准备好查询。如果该属性为“真”(.T.),Visual FoxPro 向 ODBC 驱动程序发送准备或编译定义视图的 SQL 查询的请求。如果后端数据源的 ODBC 驱动程序支持使用准备好的语句,在已打开视图上的后继查询可以更快地执行。
Visual FoxPro ODBC 驱动程序可以快速访问 Visual FoxPro 数据。最终用户以及其他应用程序的开发者,比如 Microsoft Access、Microsoft Excel、Visual C++ 以及 Visual Basic,都可以使用这个驱动程序检索、操纵及更新 Visual FoxPro 数据。有关 Visual FoxPro ODBC 驱动程序的详细内容,请参阅 Drvvfp.hlp 文件。
Visual FoxPro 数据库(.dbc 文件)提供了一个数据字典,允许您添加规则、视图、触发器、永久性关系以及与数据源的连接。
在数据库中,您可以定义:
另外,通过使用“参照完整性生成器”定义插入、更新和删除规则来进行每个永久性关系的参照完整性检查。
Visual FoxPro 还支持表中出现 null 值,这极大地提高了兼容性以及与其他数据源的连接能力,例如 Microsoft Access、Visual Basic 和基于 SQL 的数据库服务器。有关 null 值的详细内容,请搜索“null”和“null 值”。
借助编程语言和可视的设计器,用户拥有极大地操作 Visual FoxPro 数据库的灵活性。有关数据库和数据字典的详细内容,请参阅《程序员指南》中的第六章“创建数据库”。
查看本地、远程以及自由数据 您可以在本地计算机上设计测试一个客户/服务器应用程序,它使用远程、本地或多表异构视图中的数据。本地视图使用本地计算机上的表而不是远程服务器上的表,多表视图使用分离表中的相关数据。您可以创建参数化视图使从服务器下载的数据量最小,截获传输数据或者从 Visual FoxPro 应用程序中更新远程数据。有关视图的详细内容,请参阅《程序员指南》中的第八章“创建视图”。
用事务管理共享访问 您可以设计您的应用程序使之提供对数据的共享访问。共享访问包括在用户间共享数据以及在必要时限制访问。事务以及缓冲 -- 开放式或保守式,记录级或表级的 -- 意味着更少的编程。内置的批处理以及对处理更新所做的详细控制都简化了多用户环境中的数据更新工作。有关设计共享访问应用程序的详细内容,请参阅《程序员指南》中的第十七章“共享访问程序设计”。
开发国际化应用程序 Visual FoxPro 在几个领域提供对国际化应用程序开发的支持。例如 Visual FoxPro 支持几个代码页,希腊与俄国的代码页可以在 MS-DOS 、Microsoft Windows 以及 Macintosh 平台上使用。Visual FoxPro 也支持日语、朝鲜语、繁体汉语以及简体汉语的字符集。另外 Visual FoxPro 也支持日语、德语、繁体汉语、冰岛语等语言的排序序列。有关开发国际化应用程序的详细内容,请参阅《程序员指南》中的第十八章“开发国际化应用程序”。
实施客户/服务器应用程序 在客户/服务器应用开发中除了使用视图之外,您还能够使用 Visual FoxPro SQL pass-through 函数把任何本地服务器语法直接发送到另一个服务器中。这些函数提供了超出视图能力之外的对服务器的访问与控制能力。有关 SQL pass-through 的详细内容,请参阅《程序员指南》中的第二十一章“实现客户/服务器应用程序”。
当在本地设计完应用程序以后,您可以升迁并在后端数据源上实施它。升迁把客户/服务器的优点应用在本地应用程序之上,并允许您创建与原始 Visual FoxPro 表结构相同的远程服务器数据库,升迁时您可以选择将哪些表移到服务器,哪些表留在本地,以便快速访问。有关升迁的详细内容,请参阅《程序员指南》中的第二十章“升迁 Visual FoxPro 数据库”。
Visual FoxPro 可以保护您使用 FoxPro 的早期版本开发应用程序的投资。在 Visual FoxPro 中,以前的 FoxPro 应用程序不用修改就能运行。您也可以使用 Visual FoxPro 的语言来修改应用程序,但不会涉及到向后兼容性的问题。此外,您还可以将 FoxPro 屏幕、项目和报表转换成 Visual FoxPro 的格式。
如果选择了将 FoxPro 文件转换成 Visual FoxPro 格式,您就可以利用 Visual FoxPro 的特有功能。
有关的详细内容 | 请参阅 |
版本差别 | Visual FoxPro 与以前版本之间的差别 |
从 FoxPro 早期版本升级 | 从 FoxPro 其他版本转换文件 |
从 dBASE 切换 | 概述从 dBASE 升级 |