⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 readme.txt

📁 一个通用数据库管理系统,超多实用的类
💻 TXT
📖 第 1 页 / 共 5 页
字号:
FontSize = 8
Height = 21
IncrementalSearch = .F.
RowSourceType = 3-SQL Statement
RowSource = "" TabIndex = 1
Value = ""
Width = 200
自定义属性:
----------------------------
cAlias: 保存被搜索表的别名。此属性受保护,并在控制初始化时,通过执行 RowSource 属性中的 SQL SELECT语句进行填充。
cField: 保存要查找的字段名,和 cAlias  一样也被保护,并在初始化时通过执行RowSource 中的 SQL SELECT语句进行填充。
cSearchString: 保存用户键入的字符串,此属性受保护。
cTag: 允许用户指定用于搜索的标记名。因为索引标记名限制在10个字符以内,而字段名则可以多达128个字符,因此这是完全必要的,如果没有指定此属性,则认为RowSource属性的 SQL 语句中第一个字段的前10个字符为索引标记名。
lLimitToList: 指定用户是否可以键入列表中不存在的项与事件相联的功能: 
--------------------------------------------
Init: 解释执行 RowSource 属性中指定的 SQL 语句,并从“FROM”子句中取出别名,将它保存到 cAlias 属性中,此字段名和索引标记名,均从SQL 语句中指定的第一个字段提取。
KeyPress: 这是此控制进行大部分操作的地方,每击键一次,便执行与 KeyPress 事件相关的代码,此代码检查每一个字符,并将它添加到cSearchString 属性中,然后由 NODEFAULT 语句清除此次击键,接着,在 cAlias 属性指定的表中搜索cSearchString 属性的值,如果找到匹配项,则 DisplayValue 属性设置成找到的字段内容,如果找不到,则重置此搜索表的记录指针,且DisplayValue 属性设置成cSearchString 属性的值。
InteractiveChange:  如果选择是用鼠标进行的,则激发此事件,它先清除 cSearchSting 属性的值,然后查看cAlias 属性指定的表,并在那个表中定位记录指针。
LostFocus: 清除 cSearchString 属性的值。
*************************************
itLabel
itLabel 是应用程序中所有标签的类。                
属性设置:
-------------------------
Alignment = 1-Right
BackStyle = 0-Transparent
FontSize = 8
Height = 22
Width = 77
*************************************
itListBox
这是应用程序中所有列表框的类。                     
属性设置:
--------------------------
DisabledBackColor = 192,192,192 (亮灰)
FontSize = 8
Height = 104
Width = 125
*************************************
itMaintForm
itMaintForm 是应用程序中所有维护表单的类。它是itBaseForm 的一个子类, 并且继承 itBaseForm 的全部自定义属性和方法。
表单中的控制:
-------------------------------
pageframe1:这是一个两页的标准页框,第一页用于保存输入数据控制,而第二页则用于列出当前查看表的所有记录。
grdList:这是 itGrid 类的一个实例,Init 事件代码经过修改,设置表格每一列的 ReadOnly 属性为 .T. 。
注意方法 AddNew(),它原定义在 itBaseForm , 现在在 itMaintForm 中加以扩展, 当用户选择工具栏上的“新建”按钮时,它可以自动地选择“输入数据”页面,然后用下列语法显式地调用 itBaseForm 方法:
itBaseForm::AddNew()。
*************************************
itTextBox
itTextBox 是本应用程序中所有文本框的类。
属性设置: 
-------------------------
DisabledBackColor = 192,192,192
FontBold = .F.
FontSize = 8
Format = "K"
Height = 22
InputMask = ""
Width = 100
与事件相联的功能:
--------------------------------------------------
Init:  如果 ControlSource 属性指定的字段是 "C" 类型(字符)的, 则将控制的 InputMask  属性用一个包含字母 "X" 的字符串初始化,字母的个数取决于字段的大小,这可以防止键入控制的字符超出与控制联系的字段的大小。
*************************************
itToolBar
itToolBar 是应用程序中所有工具栏的类。
属性设置:
--------------------------
ControlBox = .F.
Caption = "常用工具"
与事件关联的功能:
--------------------------------------------------
Init:恢复工具栏原来保存的位置,或在 IT.INI中没有已保存的默认位置时则停放它。
Destroy: 将工具栏的 Visible 属性设置为 .F. ,这样,工具栏立即全部消失,而不是一次消失一个控制。
Refresh:此代码可以控制工具栏中的“文件头”,“上一个”,“下一个”,和“文件尾”等按钮的启用或废止。
自定义方法:
-------------------------
OKToSend: 活动表单为一个对象并且其 cToolBar 属性的类型已定义时,返回 .T.  。此方法在显式地调用一个表单的方法之前调用,确保“调试”和“跟踪”窗口没被激活并且此活动表单可与一个工具栏协同工作。
工具栏控制:
------------------------
工具栏上不同的命令按钮调用活动表单中的相应方法,比如,“保存”按钮调用用下列语法为活动表单定义的自定义方法Save :
_SCREEN.ActiveForm.Save()
此表单方法定义在类 itBaseForm 中。
*************************************
itToolBarButton itToolBarButton 是本应用程序中出现在工具栏上的所有命令按钮的类。
属性设置:
--------------------------
Height = 27
Width = 26
与事件关联的功能:
--------------------------------------------------
MouseDown: 此代码首先调用工具栏的方法 OKToSend(),如果此方法返回 .F.,表示当前表单不能接受消息,同时,发出警告声(用??CHT(7)),并执行 NODEFAULT 语句。NODEFAULT 语句使按钮不能按下,提示用户此按钮当前不能用。
*************************************
IntroForm
请从此表单顶部的下拉列表中选择“介绍”,查看 IntroForm 的实现方法。
*************************************
One2Many 
    “输入单证”表单是 VFP 中实现一对多表单的一个例子,这个表单的很多功能定义在类库 BASECTRL.VCX中的 One2Many 类中。所有“输入单证”表单中的文本框控制都是 BASECTRL.VCX中 One2ManyTextBox 类的一个实例,这样做是为了方便自定义刷新代码,这些代码在一定条件下启用或废止这些控制。供货商组合框是BASECTRL: itifCombo中“智能查找”组合框:itifCombo 的一个实例,它允许您在此组合框的文本框部分直接添加新供货商。如果用户录入了一个不属于SUPPLIERS.DBF 中的供货商,则组合框中的代码提示用户将此新供货商添加到供货商表中。
    显示在屏幕底部的总计数据项由 BASECTRL.VCX 中 itGrid类的自定义方法 SumColumn() 计算。表格的自定义属性cFieldToSum 被设置为 数量 * 单价,每次刷新表格时,它计算此值并将结果存贮在表格的自定义属性ColulmnSum 中。显示此总计数据项所需的代码是很少的。首先,表格Refresh 事件代码中调用了父类的 Refresh 事件代码强制执行 itGrid 的默认操作,然后将属性 nColumnSum 的值存入“项分类汇总”文本框 text1 的 Value 属性中。
    在表格任何地方单击右键可添加内容行。显示的快捷菜单可以让用户在添加或删除项之间选择。用户可以按"+" 按钮添加一个项或按"-" 按钮删除一个项。
    单证号的生成方法和记录标识号的生成方法相同。Sales 表中"销售单号"字段的默认值表达式为 NewID()。给 NewID()存储过程传递一个参数可使它用此参数值替换ALIAS() 函数的值,查找 Setup 表中的 ID(标识号)。
*************************************

报表
    创建用户标准屏 VFP 支持参数化视图, 并具有将代码附加给报表的数据环境的能力, 这使得一个报表在运行时容易接受用户标准:
1. 用视图设计器设计一个参数视图, 并向此报表的数据环境添加视图, 设置此数据环境的属性 AutoOpenTables为.F.。 IT 中有几个报表接受用户指定的条件:
	  PSUMLIST.FRX           进货汇总表(按日期)
	  SSUMLIST.FRX           销售汇总表(按日期)

主菜单
    要关闭此应用程序且返回VFP ,用户可从“文件”菜单中选择“退出” 命令。此菜单代码调用全局应用程序对象的自定义方法 CleanUp() 清除环境,然后释放全局应用程序对象。菜单项在每个菜单的 SKIP FOR 子句中被废止。如果活动表单不是一个对象,则调用此活动表单中方法的菜单就被废止,这可以通过调用 UTILITY.PRG 中的FormIsObject() 函数实现:
FUNCTION FormIsObject()
    RETURN (TYPE("_SCREEN.ActiveForm") == "O" AND;
        UPPER(_SCREEN.ActiveForm.BaseClass) ="FORM")
ENDFUNC
    如果一个表单已经显示且不支持多实例的情况,那么运行此表单的菜单必须被废止。要检查此表单是否显示,可将表单名传给函数 WEXIST()。
例如,下面的 SKIP FOR 子句在“产品”表单已存在时将返回.T.,这可使相应菜单被废止:
DEFINE BAR ...... SKIP FOR WEXIST("frmProducts")
    IT  的大部分表单是通过类Application 中的自定义方法 DoForm()运行的。在本例中, 此方法的代码只是用 DO FORM 命令 运行表单。但实际上,如果象这样用一种公共的方法运行所有的表单, 那么将来可以很容易地对这些表单运行的方法进行修改, 例如, DoForm 方法可以在运行一个表单之前检查是否有足够的内存空间。
**************************************************************************
  1 数据文件
  在该系统中,一共有三个主要的数据结构
  1  销售
     主表 Sales.dbf
     子表 SaleItem.dbf
     两表以字段"销售单号"联接
     子表  SaleItem.dbf  又与药品表 Medicine.dbf 以字段"药品码"联接  (Medicine.dbf为主表,SaleItem.dbf为子表)
     主表 Sales.dbf 又与付款方式表 Payment 以字段"付款方式码"联接(Payment.dbf为主表,Sales.dbf为子表)
     为减少用户输入和发生错误的可能,这些表中有的字段设置有默认值,详细情况可在项目管理器中打开数据库 IT.DBC 察看。
     
  2  进货
     主表 Purchase.dbf
     子表 PurItem.dbf
     两表以字段"进货单号"联接
     子表 PurItem.dbf 又与药品表 Medicine.dbf 以字段"药品码"联接 (Medicine.dbf为主表,PurItem.dbf为子表)
     主表 Purchase.dbf 又与付款方式表 Payment 以字段"付款方式码"联接  (Payment.dbf为主表,Purchase.dbf为子表)

  3  盘存
     主表 Inventory.dbf
     子表 InvItem.dbf
     两表以字段"进货单号"联接
     子表 InvItem.dbf 又与药品表 Medicine.dbf 以字段"药品码"联接  (Medicine.dbf为主表,InvItem.dbf为子表)并与"盈亏原因表"Reason.dbf 以字段"盈亏原因"联接  (Reason.dbf为主表,InvItem.dbf

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -