问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

在VF中说明数组的命令是

发布网友 发布时间:2022-05-27 10:47

我来回答

4个回答

热心网友 时间:2023-10-17 06:25

  DIMENSION 命令

创建一维或二维内存变量数组。

DIMENSION ArrayName1(nRows1 [, nColumns1])

[, ArrayName2(nRows2 [, nColumns2])] ...

参数

ArrayName1

指定数组名。可以通过包含多个数组名(ArrayName2, ArrayName3 等)用一个 dimension 命令创建多个数组。

nRows1 [, nColumns1]

指定要创建的数组大小。如果只包含 nRows1,就创建一维数组。一维数组含有一列和 nRows1 行。例如,下列命令创建一个名为 gaArrayOne 的一列十行的数组:

DIMENSION gaArrayOne(10)

若要创建二维数组,应包含 nRows1 和 nColumns1。nRows1 指定数组中的行数,nColumns1 指定列数。下列命令创建一个名为 gaArrayTwo 的二行四列的二维数组:

DIMENSION gaArrayTwo(2,4)

使用 DIMENSION 创建数组时,必须指定大小。在下面的示例中,创建了三个数组:前面两个示例中的数组 gaArrayOne 和 gaArrayTwo,以及第三个名为 gaArrayThree 的数组:

DIMENSION gaArrayOne(10), gaArrayTwo(2,4), gaArrayThree(3,3)

在 DIMENSION 或 DECLARE 中,可以用方括号或圆括号括起表达式。例如,下面的两个命令创建相同的数组:

DIMENSION gaArrayOne(10), gaArrayTwo[2,4], gaArrayThree(3,3)

DIMENSION gaArrayOne[10], gaArrayTwo(2,4), gaArrayThree[3,3]

备注

DIMENSION 在操作与语法上与 DECLARE 相同。

数组元素 一个数组的大小决定了它包含的元素数目。数组中的每个元素可以存储一条信息。要确定一个数组中包含的元素数目和存储的信息量,可用数组的行 (nRows1) 数乘以数组的列数 (nColumns1)。

数组元素可以包含任何类型的数据,并在最初创建数组时将它们初始化为“假”(.F.)。如果 SET COMPATIBLE 设置为 FOXPLUS 或 OFF(默认设置),那么可以用 STORE 将一个数组中所有元素初始化为相同的值。例如:

DIMENSION gaArray(10,3)

STORE 'initial' TO gaArray

数组下标 通过下标来引用数组中的元素。每个数组元素都有唯一一个可以识别它的数值下标。如果数组是一维的,则数组元素的下标与它的行号相同。例如,一个一维数组第三行中元素的下标就是 3。

通过两个下标来引用二维数组中的元素。第一个下标表明元素的行位置,第二个下标表明元素的列位置。例如,一个二维数组第三行第四列中的元素下标为 3,4。有关数组元素下标的进一步讨论,请参阅 ASUBSCRIPT()。

数组中第一个元素的下标通常从 1 开始。如果数组是二维的,也可以用单个下标引用它。可使用 AELEMENT( ) 根据数组的行列下标中返回单个下标;使用 ASUBSCRIPT( ) 根据单个下标返回行列下标。

重新定义数组的维数 重新执行 dimension 命令可以改变数组的大小和维数。数组的大小可以增加或减小,一维数组可以转换为二维数组,二维数组可以降低为一维数组。

注意 如果一个两维数组用较少的行或列重定义, 减少的元素数, 不是按行数或列数。例如, 一个 10 * 10 的数组重定义为 10 * 7 将丢失所有 71 及以上的元素数据。详细信息, 参见AELEMENT() 函数。

如果数组中元素的数目增加了,就将原数组中所有元素内容复制到维数重新调整过的数组中,增加的数组元素初始化为“假”(.F.)。

当 SET COMPATIBLE 设置为 ON 或 DB4 时数组大小的增加或减少, 数组中各元素的值重新初始化为 .F.。

示例

示例 1 演示增加一维数组大小。(注意,如果在命令窗口中键入这些命令,数组就是 public 型的,但是如果这些命令在一个程序中运行,数组就是 private 的)。

如果数组中元素的数目减少了,就删除这些元素和它们包含的所有数据。当一个一维数组变为二维数组时,原先一维数组中的内容就以行优先的顺序,复制到新数组中。

示例 2 将一维数组转换成二维数组。一维数组中元素的内容复制到新数组的第一行,接下来是第二行。增加的元素初始化为“假”(.f.)。

当一个二维数组转化成一维数组时,原先二维数组中的内容以行优先的顺序复制到新数组中。二维数组中第一行的第一个元素成为一维数组中的第一个元素,二维数组中第一行的第二个元素变成一维数组中的第二个元素,等等。

可使用 adel( ) 或 ains( ) 删除或插入数组元素、行和列。使用 append from array、copy to array、scatter 和 gather 在表记录和数组之间传输数据。

示例 3 创建二维数组并填加了数据。然后显示数组元素和它们所包含的数据。

* Example 1

DIMENSION marray(2)

STORE 'A' TO marray(1)

STORE 'B' TO marray(2)

CLEAR

DISPLAY MEMORY LIKE marray

DIMENSION marray(4)

DISPLAY MEMORY LIKE marray

WAIT WINDOW

* Example 2

DIMENSION marrayone(4)

STORE 'E' TO marrayone(1)

STORE 'F' TO marrayone(2)

STORE 'G' TO marrayone(3)

STORE 'H' TO marrayone(4)

CLEAR

DISPLAY MEMORY LIKE marrayone

DIMENSION marrayone(2,3)

DISPLAY MEMORY LIKE marrayone

WAIT WINDOW

* Example 3

DIMENSION sample(2,3)

STORE 'Goodbye' TO sample(1,2)

STORE 'Hello' TO sample(2,2)

STORE 99 TO sample(6)

STORE .T. TO sample(1)

CLEAR

DISPLAY MEMORY LIKE sample

热心网友 时间:2023-10-17 06:25

Vf下,使用dimension 函数定义的数组,如果未声明数组的类型,系统默认为逻辑型,并赋予初值.f. 例如:
dimensin p(10)
也可以使用
DECLARE p(10)

热心网友 时间:2023-10-17 06:25

vf下,使用dimension 函数定义的数组,如果未声明数组的类型,系统默认为逻辑型,并赋予初值.f. 童鞋你使用的dimensin p(2) 接着就 ? type('p(1)') 那么,当然是显示L(逻辑型)了。

热心网友 时间:2023-10-17 06:26

定义数组可以使用Local、Public或Dimension命令。
另外如果向过程、方法、函数传递一个数组,需要使用传址方式(使用@),同时,为了避免编译错误,需要在函数中使用相应数组前使用External对该数组参数进行说明:
Local arData[1] && 定义变量arData为一个数组
ALines(m.arData, '1,3,5,7,9', 1+4, ',') && ALines会改变数组的大小
?MyFun(@m.arData) && 传址调用

Function MyFun(ar)
External Array ar && 指出参数ar是一个数组
Local e
For Each e In m.ar
...
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
女方起诉离婚如何争取孩子抚养权 起诉离婚怎么争夺子女抚养权 m158b打印机按键说明 喷码机维修哪家好? 美国芯片法案的签署,对哪些行业影响至深? 有关场强正负的问题 场强矢量叠加的正负是怎么看的 手机如何照明 比较便宜的物流 我不小心把内存里的照片和视频删了怎么恢复呢 使用matlab load .mat文件,但是画图的时候他说 Data may not have more than 2 dimensions咋整? The highlighted 2 dimensions conflict .Select one to delete or convert,这句翻译是什么意思? 刚买的iPad,就显示电话技术支持已过期这是咋回事额? 你还我的登录密码老是不对怎么找回? 你好问一下 在网上查序列号有效购买日期是绿色的对勾 电话技术支持已过期 是什么意思? dnf剑豪武器怎么选择 选择攻略 DNF女鬼剑 剑豪、和暗殿60-80级以上穿什么装备好、 妊娠晚期及分娩期合并急性病毒性肝炎,对产妇威胁最大的是 怎么有效针对肚脐赘肉减肥 肝脏B超的肝炎表现 我一直在皮革上上班,一下子得了急性病毒性肝炎,谷丙转氨酶达2000多,跟我的工作有关吗? 急性病毒性肝炎需要怎么检查? 什么叫作急性肝炎 急性病毒性肝炎的病理特点 怎样一个人拍出全身照,要自己给自己的 痔疮手术前需要做的检查有哪些 一个人外出旅游怎样为自己拍照? 闺蜜话语短句霸气 痔疮手术多少钱要注意什么? 做痔疮手术前吃什么水果比较好 辨析dimension和dimensionality这两词的区别 <%=rss("link")%> Dimensions 维度 系列视频下载 蓝牙串口调试问题,单片机 微博提现最低怎么变成10元了 为什莫我一打开某些网页(非黄色)右下角就提示我RRS新闻? 合肥新娘化妆学校学费? 卖家给买家买了运费险退货怎么操作 招商银行微博达人信用卡提现怎么算 小儿肠胃湿热舌苔白厚伴有发烧,吃什么药好 月经期可以吃缓解痛经的药吗? 肠道湿热症有哪些食疗药膳? 女生什么情况下吃痛经药 以前在安卓手机上玩王者荣耀满级换了苹果手机现在什么都没有了? 肠道热重吃什么食物可以调理 思科配置子网掩码不使用3个255直接使用24 如何不用对方手机也能看到对方和谁聊天我想知道对方和谁聊天? 动卡空间ios下不了 起点网如何修改作品名称? 抖音上有一首英文歌猫屎猫是谁哈喽?