VFP的数组如何动态定义呢?

于之 2012-06-20 09:29:00
*--循环遍历查找出Excel文件并插入一个临时表中
CREATE CURSOR tb1(tbname c(100))

gNo = ADIR(gaFiles, '&nf1\*.xls')
FOR nCount = 1 TO gNo
Append Blank
INSERT INTO tb1(tbname) values(gaFiles(nCount,1))
ENDFOR

因为,gaFiles 是一个动态数组,列数可以限定个数,但是行数没有定的,那么如何定义这个数组呢?

因为,如果没有定义,我编译时,则出现如下:

unable to find unknown GAFILES 这个错误, 请高手帮忙,如何定义呢? 谢谢!
...全文
607 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
于之 2012-06-20
  • 打赏
  • 举报
回复
非常谢谢!
lygcw9602 2012-06-20
  • 打赏
  • 举报
回复
ADIR(ArrayName [, cFileSkeleton [, cAttribute [, cCreatorType]]])

参数
ArrayName

指定数组名。如果数组不存在,Visual FoxPro 将自动创建此数组。如果数组存在,但其大小不足以包含所有信息,则 Visual FoxPro 自动增加数组大小,使得数组能容纳所有信息。如果数组超过了所需大小,Visual FoxPro 将截掉多余部分。如果数组存在,并且 ADIR( ) 函数由于没找到匹配文件而返回 0,则数组保持不变。如果数组不存在,并且 ADIR( ) 函数返回零,则不创建数组。
lygcw9602 2012-06-20
  • 打赏
  • 举报
回复
原路径=SYS(5)+CURDIR()
查找路径="F:\YYRJ\"
SET DEFAULT TO (查找路径)
LOCAL AFILES(1)
CREATE CURSOR TABNAME (文件名 C(100))
FOR I = 1 TO ADIR(AFILES,"*.XLS")
INSERT INTO TABNAME VALUES (AFILES(I,1))
ENDFOR
SET DEFAULT TO (原路径)
vf6.0,要考二级没系统的下哈 Microsoft Visual FoxPro 6.0 for Windows 的常见问题 这些是有关 Microsoft Visual FoxPro 最常见的问题。在您求助 Microsoft 产品支持服务之前,请先查阅这张列表。 若想打印这些附注,请从“文件”菜单中选择“打印”命令。此文档分为以下四部分: --------------------------------------------------------------------- 部分 1. 技术支持与市场 部分 2. Visual FoxPro 6.0 新增功能 部分 3. 从其他版本的 FoxPro 和 Visual FoxPro 中移植 部分 4. Visual FoxPro 常见问题 --------------------------------------------------------------------- 部分 1. 技术支持与市场 问题 1-1: 从何处可以获得产品的更新版本? 答案: 在 Visual FoxPro 的 Web 站点上即可获得产品的更新信息,其中包括有关 Service Pack 和更新的示例、向导及其他代码的信息,该站点的网址为: www.microsoft.com/vfoxpro 请定期查看该网站,以便下载产品的最新版本。 问题 1-2: 从何处可以得到有关 Visual FoxPro 的详细资料? 答案: 通过 Microsoft Visual FoxPro Web 站点是随时获得各种最新产品发布信息的最佳途径。在此站点上不仅有新的产品公告,而且还提供了产品的更新信息、技术文章、白皮书、专业开发人员设计的优秀示例、会议公告、以及与其他许多 FoxPro web 站点的各种链接。 问题 1-3: 如何获得技术支持,以及如何报告软件错误? 答案: Microsoft Visual FoxPro Web 站点已经链接到了多种联机支持选项,其中包括覆盖面广阔的有关所有产品 Microsoft Knowledge Base(Microsoft 知识库)。您还可以阅读一份有关常见问题的清单。除联机支持之外,还可以直接通过电话获得技术支持。“帮助”菜单中的选项可列出技术支持的电话号码。这些电话号码也可用于报告产品中的错误。 问题 1-4. 什么是 Knowledge Base?如何使用它? 答案: Knowledge Base 是内容广泛的论文集,覆盖了如何使用产品的各种特性、已知的软件错误及其解决方案或回避的方法、以及其他有助于使用各种 Microsoft 产品的有用信息。通过以下站点可访问整个 Knowledge Base: support.microsoft.com 问题 1-5: 是否会有 Visual FoxPro 6.0a? 答案: Microsoft 公司一向承诺为用户提供高质量的产品。如果确实需要,我们将提供 Visual FoxPro 6.0 的错误修订版。但是,修订版不会使用 6.0a 版的形式。Visual FoxPro 6.0 中任何错误的修正都将包含在 Visual Studio Service Pack 中。同时还会在 Visual FoxPro 的 www.microsoft.com/vfoxpro 或 Visual Studio 的www.microsoft.com/vstudio 的 Web 站点上发布修订公告。 问题 1-6: Microsoft 公司为应用程序的开发提供了一些优秀的解决方案。怎样才能知道应该向客户推荐和使用哪种产品? 答案: 在选择适用某项任务的产品时,需要考虑多方面的因素。Microsoft Visual FoxPro web 站点上有一份优秀的策略背景论文,它比较了 Visual FoxPro、Visual Basic、SQL Server 和 Access 等 Microsoft 产品之间的不同。 问题 1-7: 哪里可以找到 Visual FoxPro 的使用示例? 答案: Visual FoxPro 6.0 产品中带有丰富的示例,其中有一些是针对 6.0 版特有功能的新示例。与 Visual FoxPro 以前的版本不同,这些示例将与所有 Visual Studio 示例安装在一起。您必须运行 MSDN Library 的“自定义”安装来安装这些示例。在 Visual FoxPro 中可使用新的 HOME(2) 函数方便地找到已安装示例的位置。 除了产品中所自带的示例外,Microsoft Visual FoxPro web 站点还将经常提供新的示例。
VisualFoxPro数据库管理系统填空题全文共8页,当前为第1页。VisualFoxPro数据库管理系统填空题全文共8页,当前为第1页。VisualFoxPro数据库管理系统填空题 VisualFoxPro数据库管理系统填空题全文共8页,当前为第1页。 VisualFoxPro数据库管理系统填空题全文共8页,当前为第1页。 《ViualFo某Pro数据库管理系统》填空题1、数据是计算机程序处理的对象,也是运算产生的结果。 5、在ViualFo某Pro中,一个关系存储为一个文件,其扩展名是.dbf,称为表。 7、从可视化编程的角度看,对象是一个具有属性和方法的实体,它是现实世界中个体或事物的抽象表示,是其属性和相关操作的封装。 8、常量是处理数据是始终保持不变的数据,在ViualFo某Pro中定义的常量有数值型常量、字符型常量、逻辑型常量、日期型常量和日期时间型常量、编译时常量等几种类型。 9、在ViualFo某Pro中有3种形式的变量:内存变量、数组变量和字段变量。10、在ViualFo某Pro中,可以使用LOCAL、PRIVATE和PUBLIC命令强制规定变量的作用范围。 11、根据运算符的不同ViualFo某Pro中的表达式可以分为5种:算术表达式、字符串表达式、日期表达式、关系表达式和逻辑表达式。 12、写出下列函数值: INT(ABS(99-100)/2))=0;SQRT(SQRT(64))=2.83;ROUND(-3.1415926,3)=-3.142;SIGN(7某3+2)=1; UPPER("hello")="HELLO";STR(459.65)="-460";VAL(16YEAR)=16;AT("LL","HELLO")=3;SUBSTR("Hello",3,2)="ll";HOUR({^1999/11/22})=0; LEFF(\,LEN(\数据库\。 VisualFoxPro数据库管理系统填空题全文共8页,当前为第2页。VisualFoxPro数据库管理系统填空题全文共8页,当前为第2页。13、属性值的设置或修改可以通过属性窗口来进行,也可以通过编程的方法在程序运行时来改变对象的属性。在程序种设置属性的一般格式为:表单名.对象名.属性名=属性值。 VisualFoxPro数据库管理系统填空题全文共8页,当前为第2页。 VisualFoxPro数据库管理系统填空题全文共8页,当前为第2页。 14、VFP提供了大量的系统函数供编程人员使用,其中:求表达式的绝对值的函数是ABS();求两个表达式相除取余数的函数是MOD();数值表达式转换成数字字符串的函数是STR();返回系统当前日期的函数是DATE()。 15、把数学表达式改写成VFP算术表达式为:SQRT(ABS(a某b-c^3) 16、VFP的表单控件工具栏上提供了常用的标准控件,它们可分为五大类,分别是输入类、输出类、容器类、控制类和连接类。 17、在VFP中有两种方法可以结束表单的运行:一种是使用VFP的命令RELFASETHISFORM;一种是使用表单的方法THISFROM.RELEASE。(本题要求写出完整语句) 18、VFP中赋值语句有两种格式,分别是STORE〈表达式〉TO〈名称列表〉和=。 21、文本框最有用的方法是SetFocu,它是把光标移到指定的文本框中。22、要显示"另存为"对话框,可以使用文件操作函数:PUTFILE()23、写出随机产生一个50—100(包括50、100)范围内的正整数的语句Int(Rand某51)+50。 24、若要时钟控件每隔0.5秒引发一个Timer事件,则应将其Interval属性设为500。 VisualFoxPro数据库管理系统填空题全文共8页,当前为第3页。VisualFoxPro数据库管理系统填空题全文共8页,当前为第3页。25、向容器控件添加其他控件的方法是,用鼠标右击容器控件,选择"编辑"命令,使其周围出现浅绿色的边界时就可以添加其他控件了。26、写出MESSAGEBO某函数的语法格式: VisualFoxPro数据库管理系统填空题全文共8页,当前为第3页。 VisualFoxPro数据库管理系统填空题全文共8页,当前为第3页。 [〈变量名〉]=MESSAGEBO某(〈信息内容〉[,〈对话框类型〉[,〈对话框标题〉]]) 30、在VFP中,对象的引用方式分绝对引用和相对引用两种。 31、在VFP中利用绝对移动命令GO和相对移动命令SKIP可以在表中移动指针。 34、IIf函数的语法结构为IIf(条件,真部分,假部分)。 37、VFP允许创建3种类型的表单,分别是子表单、顶层表单和浮动表单。38、使用VFP的菜单设计器设计菜单时,要将菜单作为"顶层表单"应选择"显示"菜单的常规选项命令。 3
目前市场上的加密锁大致分为两种类型:带CPU加密锁,不带CPU的加密锁。前者拥有计算能力,对加密数据、过程数据、通讯接口等可以实施动态密文处理,因此带CPU的加密锁也被演化出了多种多样的加密形式:密文校验、自定义算法、程序移植等等。而不带CPU加密锁相对简单,加密强度较低,成本低廉! 加密锁的克隆 不带CPU加密锁实际上是一个外接的存储单元,用户在使用了正确的方法后可以与内部存储交换数据,以达到加密的目的。这种加密锁,不论其软件加密强度高低,从硬件的角度来说属于低端产品,一般加密公司的低端产品皆属此类。如果破解者找到办法可以把加密锁中的数据读出来(前提是这个硬件高手可以找到办法),那么这个加密狗也就被破掉了,制作出一个完全相同的加密锁,这种方法我们熟称为加密锁的“克隆”。加密锁客隆技术的产生使加密锁技术发展进入了一个新的时代,新类型的软件加密锁大多都有密码或硬ID号的保护,只要黑客买不到相同密码的加密锁,也就无法进行加密锁的“克隆”了。 加密锁的仿真、模拟 那么,加密锁的厂家是否可以安枕无忧了呢?不是的,解密者又找到了新的突破口。因为软件要同加密锁进行通讯,必须要通过通讯口来进行,黑客利用这一弱点编制出了加密锁仿真程序,它的工作原理是首先插上保护软件原有的软件锁运行一遍,而后台的程序会记录下所有的写入/读出的数据。然后取下加密锁,启动仿真程序,让仿真程序来模拟加密锁提供所有的数据。为此,“蓝芯金盾加密锁”采用了源程序级加密,此方法不是去判断某个值、某个字符串或数据是否正确,而是时时变化输入参数,在任何时刻没有两个相同的数据出现。 自定义算法加密锁 现在市场上还提供一种开发者可自定义算法的加密锁。开发者可以把自己的算法写入到加密锁中,在软件中调用这些算法来实现特有的计算工作。这种加密锁的实际原理是将一组数据(开发者的算法编译码)下载到加密锁的特定外部存储器,这种方法有它的局限性,因为外部存储器用专门的设备总是可以被读出来的,安全强度的高低仍然依仗在硬件读取方法的寻找上。“蓝芯金盾加密锁”可以为有特殊需要的用户编写专门的加密函数,更安全地将用户要求融入加密锁中,用户使用加密锁不是去判断加密锁是否正确,而是由加密锁实现用户软件的特定功能。 实际上加密锁的好坏仅仅是一个方面,不论加密锁提供的功能有多丰富,加密性有多好,更主要的是使用者,因为软件毕竟是要被人用的。希望所有的加密锁使用者能够更好的使用他的加密锁来完成对自己软件的保护。 加密技术 → 在很少使用的代码中调用加密锁。那么看似已破译的程序就会经常发生异常现象。 → 根据时间调用加密锁。上午调用的数据下午(或隔日)使用。破译者为了分析这种数据就要花一天或几天的时间。这就可以拖垮破译者。 → 加密锁校验函数不宜定义成一个单独函数,而宜定义成若干个小函数分散使用。 → 检查程序代码的校验和,以防非法修改。 → 以各种不同的随机访问掩护真实的加密锁访问。对随机询问的答复进行处理,但不真正使用它。 → 可在加密锁里的多个地址预先写入不同数据,校验锁时可以随机地对其中的某个地址进行校验。(如可随机产生一个数,再根据该数来决定对锁里哪个地址的值进行校验。) → 在程序中不同的地方对加密锁进行检测,即多点加密。这个方法可配合方法一使用。 → 在您程序的运行过程中,您可以定时、不定时地对加密锁进行随机检测。 → 您从加密锁取得返回数据后,并不立即判定,而是在后来才去判定是否正确;在判定加密锁错误时,并不立即提示或退出,而是在以后提示或退出或程序照常运行但出现偏差或溢出等等错误。 → 可以将加密锁返回值作为数组的索引、常量、计算单元和校验码;可以将加密锁返回值作为指针来控制程序执行或作为在不同表中跳转的索引;也可以使用加密锁返回值来加密或解密部分代码或数据。加密锁返回值使用后立即删除。 加密方式 内嵌式 这种加密方法要求具有源程序,在被加密程序中访问加密锁。加密锁的驱动光盘中提供VC\VB\VFP\Delph\PB\CB等各种言的编程接口及详细的示例供客户参考。如果您有什么特殊要求可与我们联系。 外壳式 外壳加密是一种直接对可执行文件(.exe\.com\.dll)加密的加密方法。这种方法不需要源程序,加密过程简单方便。 文件加密 在加密锁动态连接库中提供了文件加密和解密函数。函数中隐去了 HASH和RSA密码算法的实现细节,安全性极高且使用方便。用户只需输入文件名和口令即可。 反破译---文件完整性检测 用程序的完整性检测码防止文件被非法篡改 定义1:运行检测码--程序运行时的完整性检测码。 定义2:发行检测码--程序发行时的完整性检测码。 检测原理 根据程序完整性检测程序是否被修改--在程序发行前计算程序的“发行检测码”,在程序发行后运行时自动计算程序的“运行检测码”。 如果 “运行检测码” 等于 “发行检测码” 则程序完整性检测正确,程序没有被修改。 如果 “运行检测码” 不等于“发行检测码” 则程序完整性检测错误,程序被修改。

2,718

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧