当前位置:首页 > 日记 > 正文

视觉foxpro3.0经验14

视觉foxpro3.0经验14
1。如何解决无法观看的类库图书馆运营能力的恶性膨胀

使用面向对象编程的程序员会涉及到图书馆,但当继承关系的对象由两层以上之间(这是一个很普遍的现象),只要修改两层以上的内容对象,会惊奇的发现:虽然修正最小(有时干脆删除),但每一个磁盘操作会使库容量(即,你看到的字节数)增加很多,有时一个磁盘操作可以使几十K的容量增加!我有一个类库,只有50K的真实内容,当调试完成后,发现该类库的容量有800多K,我已经做了很多机器上的多个版本的实验,这个问题仍然是相同的。消除病毒骚扰的因素之后,可以肯定的是,这是一个Visual FoxPro本身固有的缺陷。
显然,这个问题给程序的开发带来了一些小麻烦,如何解决呢我查了很多信息,做了实验,他们没有抓住要点。后来,在一次意外的操作中,找到了一个简单有效的方法来减少类库的膨胀。
(1)。打开要处理的类库,并输入继承关系中最复杂、最高级的对象(上级父类)。
2。修改对象中的任何方法或属性(即添加一个字符然后删除该字符)。
(3)。存退;
类库完全关闭,关闭所有和清除所有。
此时,可以看到类库的字节数,并发现类库的容量已恢复正常。

2。如何构建索引字段索引

视觉foxpro3.0不支持可变长度的关键词。但经过实验发现,在建立索引后,如果索引字段的长度不再变化,就可以建立备注字段的索引,但在建立索引时,必须注意索引的表达不能直接应用到备注字段名中,而且也略有变化。如果我们使用修剪()函数包装备注字段,我们可以成功地对备注字段进行索引。

三.索引的字符类型字段允许的最大宽度。

这在数据中没有解释。发现该索引的最大宽度为240个字符。

4。当对象(方法)中的参数太多时,最好使用属性数组而不是表单参数。

这种方法可以使主处理过程的逻辑更加清晰易读。
为了保证实质性的闭包,在主控制方法的对象中定义属性数组。为了确保可视闭包,也就是说,属性数组与主控件方法相同。
为了进一步增强主控制方法的可读性,可以只为参数的属性数组分配一个额外的方法。

5。如何定义对象中的属性数组

当定义的属性,你可以直接使用方括号给旅行的价值。例如,一个{ 5,9 },一个5行9列属性数组定义。

6。如何快速构建网格表

在程序中使用网格形式的程序员觉得创建这种表单的方式有点麻烦,特别是当表和项目的数量多,甚至害怕时,事实上,只要能够灵活地使用VFP表单生成器,就可以大大提高网格表单的生产效率。
这里假设是建立网格形式,TTT.DBF为处理对象,因为有很多领域,网格表文号,所以只有替代的使用方法和步骤如下:
1。只有两个领域建立自由表aa.dbf,让一个在TTT.DBF一场相关领域;
2。启动表单生成器,以向导的方式选择一对多窗体向导;
三.在多窗体向导操作的父表的指导下,以aa.dbf TTT.DBF为子表表格制作的基本模式。当选择一个数据库字段,字段的ttt.dbf选择未来的网格表的需要。
(4)。打开步骤3所生成的表单3,在窗体上剪切网格窗体,然后退出窗体;
打开需要在程序中使用网格表的表单,并将步骤4中的网格表复制到当前窗体。
在这一点上,一个符合要求的程序网格形式完成。不管一个网格形式有多大,你可以用这个方法在两分钟内使所需的网格形式。只有50场的手一般需要半个小时做一个网格表(也可能是错的)。很明显,较大的网格表,这种方法的效率更高。

7。通过避免在对象中浮动方法

浮动对象的所谓的方法就是让run方法没有在工作场所,任何限制变量,打开数据表,等等,它不影响其它的方法。在过去,教材中的教育原则是保存现场和恢复现场后的工作已经完成。VFP等数据库系统,所谓的活主要是指占用工作区,目前的磁盘目录,打开数据表和数据变量或对象可能被使用或被使用的特性。
因此,我们完全可以通过规避途径实现这一目标,下面是规避法律的基本步骤。
首先,这种方法的出发点是声明变量私有化,并在开始方法之前记录工作区域和磁盘目录。
查找并返回一个未使用的工作区,并在工作中打开一个必需的数据表;
(3)。完成该方法的工作(包括其他方法);
4。在该方法开始之前还原工作区域和工作磁盘目录;
5。退出这种方法。
从这些步骤中可以看出,回避的主要途径是单进单出。以数据表为例:当该方法退出时,同一方法打开的数据表必须关闭,对工作空间和磁盘目录有相同的想法,显然,这种方法占用更多内存,不适合DOS时代,对于Windows来说也不是问题。

几个一般对象方法8。必须要做的

以下是最常用的方法,但在VFP中没有可用的方法:

在磁盘上找到指定的数据库
file_dbc参数
私人FFF
FFF =装饰(file_dbc)
如果len(FFF)不指定数据库,它表明的是数据表,可都是免费的表,因此你不必打开数据库

返回T。
endif
if.not.file('fff)
等待Windows找不到您在这个目录中指定的数据库!
FFF = F.
其他的
开放式数据库FFF独家
FFF = T。
endif
返回FFF

在指定的(子)目录中找到指定的文件。

参数文件,文本文件名,提示信息:
私人所有
*像F *
FFF =装饰(文件)
fff1 = T。
if.not.file('fff)
如果Len(修剪(文本))> 0.5
如果消息内容为空,则不执行暂停显示。
等待窗口文本
endif
fff1 = F.
endif
返回fff1

查找和返回尚未使用的工作区域

私人所有
对于我= 1比10
aaa_m =别名(我)
如果len(TRIM(aaa_m))回我
endif
作为
返回0

建立指定的目录

参数,可怕的目录名
私人都喜欢F *
FFF =让图书馆+装饰(这个。path_fts)
+ foxtools.fll添加剂
FFF
*设置图书馆foxtools.fll添加剂
fff1 = F.
FFF =装饰(可怕的)
如果mkdir(FFF)= 0
对fff1 =成功。T.
endif
集库
返回fff1

9。快速查询备注字段

ATC()函数比at-clien快几倍()函数时,寻找一个完整的一个字段的文本搜索。

10。最近的匹配检索

在使用索引查找命令之前设置近集有时是有用的。此设置的意思是当查找失败,记录号定位在最近的位置,而不是在数据库端。例如,一个开放的日期字段的索引库,我们要浏览的记录在3月5日,但我们只知道在图书馆里有许多不连续的日期的记录,我们不知道图书馆里有3月5日的历史。如果设置在设置,当图书馆没有3月5日的记录,它将被放置在最近的3月6日或7日记录从3月5日,从而达到搜索和浏览的目的。

11。某类文件的检测

功能领域()可以检测到一个特定的文件是否存在,无法检测是否一个类文件存在,和系统功能的系统(2000)可以搜索一个类文件,只要参数文件名包含通配符。您也可以使用此方法确定的子目录是空的,只要文件名是由路径名和* *。

12。屏幕

当DOS命令在数据库环境下调用,执行命令后往往会破坏数据库中的环境存在的画面信息。当然,它可以节省屏幕解决,而不是通过使用DOS的输出重定向功能,使输出的信息将不会显示在屏幕上。例如,命令运行复制ABC。*:可以改变:

运行复制ABC。*:> ttt.txt
在这一点上,那就是要出口到屏幕上的信息可以转变为临时文件TTT。txt屏幕保持不变。

13。调用大尺寸外部程序

在FoxPro环境下,你可以使用运行()命令直接调用外部命令,但有时剩余内存不多,与外部程序是非常大的。有一个记忆经理FoxSWAP在FoxPro可以解决这个问题。命令调用的WP5可以写为:

运行 120 WPS

14。用包层方法更新数据

如果一个大的数据库需要定期更新数据,这是很好的删除旧的记录,添加新记录,因为包指挥大型数据库物理删除需要很长的时间。在这个时候,最好是使用盖,方法就是把新记录的内容在旧的记录。这个过程最好是通过组合分散指挥和收集指令。前者的作用是将记录的所有字段内容存储在一个数组变量中,后者的作用是将数组变量的内容存储在一个记录中,也就是说,内存变量用于将新记录的内容转移到旧记录中,并且内存操作显然比磁盘操作快得多。

相关文章

金山公司回应金山毒霸的2003个bug

金山公司回应金山毒霸的2003个bug

微软的,金山毒霸,金山公司,电脑软件,bug,金山公司昨日打破沉寂,随后金山2003以来市场反应强烈,对中国用户周围的目录从安装无法解释的问题,对太平洋做出了回应,这是自12月6日以来金山2003对金山村的第一反应。 在金山毒霸2003的最新版本是在12…

ea6.5亿美元收购PopCap,僵尸易手

ea6.5亿美元收购PopCap,僵尸易手

美元,收购,僵尸,电脑软件,PopCap,EA美国游戏制造商,宣布它将收购PopCap,美国休闲游戏厂商PopCap以6亿5000万美元现金和1亿的股权,并预计在8月完成交易。 PopCap, founded in 2000, currently has 400 employees with headquartered in Seattle…

注册表清洁jv16电动工具的新版本发

注册表清洁jv16电动工具的新版本发

新版本,注册表,电动工具,清洁,电脑软件,Macecraft软件公司最近发布了一个新的1.4.1.247版本的注册表管理工具,jv16电动工具。这个版本的软件有一个改进的注册表清理引擎中引入了regsupreme最新版本已经更新如下: 对注册表清理引擎进行了优化,…

超级实用的windows7的技巧命令--实

超级实用的windows7的技巧命令--实

命令,技巧,电脑软件,命令src=管理 / / upfiles win7_37.jpgwidth=600height=400alt=超级实用的Windows7技术 命令 Windows7的PSR命令是问题步骤记录器,提出的系统,可以帮助员工消除障碍迅速有效。通常当用户有问题的电脑,它从用户的口中了解机…

用文本+asp创建新闻发布系统两个新

用文本+asp创建新闻发布系统两个新

新闻发布系统,文本,两个,新闻,电脑软件,新闻发布系统后台管理——新闻添加 新闻标题 新闻内容 消息来源 图片上传 ################### news_input.asp 字段(xxx)。name以形式获得xxx(窗体对象)的名称。 田(XXX)。FilePath如果文件对象获取…

隐藏的Win7库存操作技能的综合分析

隐藏的Win7库存操作技能的综合分析

库存,综合分析,操作技能,电脑软件,打开Windows7内置的壁纸自动换 11。让任务栏成为Vista样式 如果用户认为任务栏占用了用户屏幕太多的空间,用户可以选择将图标向下移动。 让Windows7的任务栏不合并也不显示窗口标题 12。合并任务栏图标…

Windows7如何管理延长笔记本电池的

Windows7如何管理延长笔记本电池的

笔记本电池,时间,电脑软件,有很多报道,Windows 7是非常节能,可以帮助大型企业节省近一半的电费。然而,一些用户抱怨说,Windows 7将提前退休的笔记本电脑电池。虽然Win7允许一些用户提前更换电池,它是基于确认电池不隐患。所以让我们看看如何最大…

赢得8个版本的目标是传统的PC和平

赢得8个版本的目标是传统的PC和平

平板电脑,目标,传统,版本,电脑软件,2天,微软一直隐藏在公众。新Windows8有两个版本,分别为传统电脑和平板电脑。行业中的许多人认为,Windows8和WP7已经成为微软的主要武器。 Stephen Sinofsky的Windows部门的总裁表示,平板电脑和移动设备对新…

修改注册表以检索消失的Word2000菜

修改注册表以检索消失的Word2000菜

菜单栏,检索,修改注册表,电脑软件,匿名 问:我用办公室2000。我不知道前几天我做了什么。Word 2000的菜单栏已经不见了。我没有找到一个简单的方法,也没有找到它。2000办公室没有工作。我该怎么办 答:点击开始运输小额保险。有egedit打开编辑…

日本微软发布Office11{图}

日本微软发布Office11{图}

日本,微软发布,电脑软件,2003年3月3日,日本微软发布的微软Office的日本版的下一代Office 11(开发代号)的第一次。该产品最大的特点是支持XML的加强。使用本产品时,Word,Excel可以用来保存和编辑XML数据,和一个工具InfoPath,可以输入XML数据和输入…

赫斯特的电子阅读平台的小艇被新闻

赫斯特的电子阅读平台的小艇被新闻

新闻集团,收购,平台,赫斯,小艇,请输入文章内容北京时间6月15日,据国外媒体报道,新闻集团星期一宣布,该公司已经收购了美国传媒公司赫斯特集团的电子阅读平台的小艇。新闻集团还宣布,该公司已经投资了在线新闻业有限责任公司 今年初,拉斯维加斯…

转向:ASP计数器组件的故事

转向:ASP计数器组件的故事

组件,计数器,转向,故事,电脑软件,ASP的计数器组件 概述 计数器组件创建一个计数器对象,可以为任意数量的独立计数器创建、存储、增加和检索计数器对象。 计数器是一个包含整数的连续值。计数器可以使用计数器对象的get、递增、设置和删除…