DI M E N S I O N 命 令

DI M E N S I O N 命 令 - 图1创建一维或两维数组

语 法

DIMENSION ArrayName1 ( nRows1 [, nColumns1 ]) [, ArrayName2 ( nRows2 [, nColumns2 ])] ...

参 数 描 述

ArrayName1

DI M E N S I O N 命 令 - 图2DI M E N S I O N 命 令 - 图3DI M E N S I O N 命 令 - 图4DI M E N S I O N 命 令 - 图5指 定 数 组 名 可 以 通 过 包 含 多 个 数 组 名 ArrayName2 , ArrayName3 等 用 一个 DIMENSION 命 令 创 建 多 个 数 组

nRows1 [, nColumns1 ]

DI M E N S I O N 命 令 - 图6DI M E N S I O N 命 令 - 图7DI M E N S I O N 命 令 - 图8DI M E N S I O N 命 令 - 图9DI M E N S I O N 命 令 - 图10DI M E N S I O N 命 令 - 图11DI M E N S I O N 命 令 - 图12指 定 要 创 建 的 数 组 大 小 如 果 只 包 含 nRows1 就 创 建 一 维 数 组 一 维 数 组 含有 一 列 和 nRowsl 行 例 如 下 列 命 令 创 建 一 个 名 为 的 一 列 十 行 的数 组

DIMENSION gaArrayOne(10)

DI M E N S I O N 命 令 - 图13DI M E N S I O N 命 令 - 图14DI M E N S I O N 命 令 - 图15DI M E N S I O N 命 令 - 图16DI M E N S I O N 命 令 - 图17若 要 创 建 二 维 数 组 应 包 含 nRows1nColumn1 nRows1 指 定 数 组 中 的 行 数nColumns1 指定列数 下 列 命 令 创 建 一 个 名 为 gaArrayTwo 的 二 行 四 列 的 二 维 数组

DIMENSION gaArrayTwo(2,4)

DI M E N S I O N 命 令 - 图18DI M E N S I O N 命 令 - 图19DI M E N S I O N 命 令 - 图20DI M E N S I O N 命 令 - 图21DI M E N S I O N 命 令 - 图22DI M E N S I O N 命 令 - 图23使 用 DIMENSION 创 建 数 组 时 必 须 指 定 大 小 在 下 面 的 示 例 中 创 建 了 三个 数 组 前 面 两 个 示 例 中 的 数 组 gaArrayOne 和 gaArrayTwo 以 及 第 三 个 名为 gaArrayThree 的 数 组

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

DI M E N S I O N 命 令 - 图24DI M E N S I O N 命 令 - 图25DI M E N S I O N 命 令 - 图26DI M E N S I O N 命 令 - 图27在 DIMENSION 或 DECLARE 中 可 以 用 方 括 号 或 圆 括 号 括 起 表 达 式例 如 下 面 的 两 个 命 令 创 建 相 同 的 数 组

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

说 明

DI M E N S I O N 命 令 - 图28DIMENSION 的操作和 语法 与 DECLARE 相同

DI M E N S I O N 命 令 - 图29数 组 元 素 … 一个数组的大小决定了它包含的元素数目 数组中的每个元素可以存储

DI M E N S I O N 命 令 - 图30DI M E N S I O N 命 令 - 图31一条信息 要确定一个数组中包含的元素数目和存储的信息量 可用数组的行

DI M E N S I O N 命 令 - 图32( nRows1 ) 数乘以数组的列数 ( nColumns1 )

DI M E N S I O N 命 令 - 图33DI M E N S I O N 命 令 - 图34DI M E N S I O N 命 令 - 图35数组元素可以包含任何类型的数据 并在最初创建数组时将它们初始化为 假

DI M E N S I O N 命 令 - 图36DI M E N S I O N 命 令 - 图37DI M E N S I O N 命 令 - 图38DI M E N S I O N 命 令 - 图39(.F.) 如果 SET COMPATIBLE 设置为 FOXPLUS 或 OFF 默认设置 那么可以用

DI M E N S I O N 命 令 - 图40DI M E N S I O N 命 令 - 图41STORE 将一个数组中所有元素初始化为相同的值 例如

DIMENSION gaArray(10,3)

STORE 'initial' TO gaArray

DI M E N S I O N 命 令 - 图42DI M E N S I O N 命 令 - 图43DI M E N S I O N 命 令 - 图44DI M E N S I O N 命 令 - 图45DI M E N S I O N 命 令 - 图46DI M E N S I O N 命 令 - 图47数 组 下 标 … 通过下标来引用数组中的元素 每个数组元素都有唯一一个可以识别它的数值下标 如果数组是一维的 则数组元素的下标与它的行号相同 例如 一个一维数组第三行中元素的下标就是 3

DI M E N S I O N 命 令 - 图48DI M E N S I O N 命 令 - 图49DI M E N S I O N 命 令 - 图50DI M E N S I O N 命 令 - 图51DI M E N S I O N 命 令 - 图52DI M E N S I O N 命 令 - 图53DI M E N S I O N 命 令 - 图54DI M E N S I O N 命 令 - 图55通过两个下标来引用二维数组中的元素 第一个下标表明元素的行位置 第二个下标表明元素的列位置 例如 一个二维数组第三行第四列中的元素下标为 3 4 有关数组元素下标的进一步讨论 请参阅 ASUBSCRIPT ( )

DI M E N S I O N 命 令 - 图56DI M E N S I O N 命 令 - 图57DI M E N S I O N 命 令 - 图58DI M E N S I O N 命 令 - 图59DI M E N S I O N 命 令 - 图60数组中第一个元素的下标通常从 1 开始 如果数组是二维的 也可以用单个下标引用它 使用 AELEMENT ( ) 根据数组的行列下标返回单个下标 使用 ASUBSCRIPT( ) 根据单个下标返回行列下标

DI M E N S I O N 命 令 - 图61DI M E N S I O N 命 令 - 图62DI M E N S I O N 命 令 - 图63DI M E N S I O N 命 令 - 图64重 新 定 义 数 组 的 维 数 … 重新执行 DIMENSION 命令可以改变数组的大小和维数 数组的大小可以增加或减小 一维数组可以转换为二维数组 二维数组可以降低为一维数组

DI M E N S I O N 命 令 - 图65DI M E N S I O N 命 令 - 图66DI M E N S I O N 命 令 - 图67DI M E N S I O N 命 令 - 图68DI M E N S I O N 命 令 - 图69如果数组中元素的数目增加了 就将原数组中所有元素内容复制到维数重新调整过的数组中 增加的数组元素初始化为 假 (.F.)

示 例

DI M E N S I O N 命 令 - 图70DI M E N S I O N 命 令 - 图71DI M E N S I O N 命 令 - 图72DI M E N S I O N 命 令 - 图73DI M E N S I O N 命 令 - 图74DI M E N S I O N 命 令 - 图75DI M E N S I O N 命 令 - 图76DI M E N S I O N 命 令 - 图77示例 1 演示了一维数组增量的结果 注意 如果您是在 命令 窗口中输入这些命令将是 PUBLIC 的 但是如果您将它们复制到程序中并运行 这些命令将是

DI M E N S I O N 命 令 - 图78DI M E N S I O N 命 令 - 图79DI M E N S I O N 命 令 - 图80PRIVATE 的

DI M E N S I O N 命 令 - 图81DI M E N S I O N 命 令 - 图82DI M E N S I O N 命 令 - 图83DI M E N S I O N 命 令 - 图84如果数组中元素的数目是递减的 删除元素和它们包含的数据 当一维数组重新定义为二维数组时 原始一维数组的内容按照从元素到行的顺序复制到新的数组中

DI M E N S I O N 命 令 - 图85DI M E N S I O N 命 令 - 图86DI M E N S I O N 命 令 - 图87DI M E N S I O N 命 令 - 图88DI M E N S I O N 命 令 - 图89DI M E N S I O N 命 令 - 图90在 示例 2 中 一个一维数组转换为一个二维数组 一维数组元素的内容首先复制到新的数组的第一行中 再向数组的第二行复制 以此类推 附加的元素初始化为 (.F.)

DI M E N S I O N 命 令 - 图91DI M E N S I O N 命 令 - 图92DI M E N S I O N 命 令 - 图93DI M E N S I O N 命 令 - 图94DI M E N S I O N 命 令 - 图95当二维数组转换为一维数组时 原始的二维数组的内容按照行到元素的顺序复制到新的数组中 第一行第一个元素成为一维数组的第一个元素 第一行第二个元素成为第二个元素 以此类推

DI M E N S I O N 命 令 - 图96DI M E N S I O N 命 令 - 图97DI M E N S I O N 命 令 - 图98DI M E N S I O N 命 令 - 图99DI M E N S I O N 命 令 - 图100使用 ADEL( ) 或 AINS( ) 删除或插入数组元素 行和列 使 用 APPEND FROM ARRAY COPY TO ARRAY SCATTER 和 GATHER 传输在表记录和数组之间的数据

DI M E N S I O N 命 令 - 图101DI M E N S I O N 命 令 - 图102DI M E N S I O N 命 令 - 图103在 示例 3 中 创建了一个二维数组并加载了数据 显示数据元素和它们包含的数据

  • DI M E N S I O N 命 令 - 图104DI M E N S I O N 命 令 - 图105DI M E N S I O N 命 令 - 图106DI M E N S I O N 命 令 - 图107DI M E N S I O N 命 令 - 图108DI M E N S I O N 命 令 - 图109DI M E N S I O N 命 令 - 图110DI M E N S I O N 命 令 - 图111示例

    1

marray(2) STORE 'A' TO marray(1) STORE 'B' TO marray(2) CLEAR

DI M E N S I O N 命 令 - 图112DI M E N S I O N 命 令 - 图113DI M E N S I O N 命 令 - 图114DI M E N S I O N 命 令 - 图115DI M E N S I O N 命 令 - 图116DI M E N S I O N 命 令 - 图117DI M E N S I O N 命 令 - 图118DI M E N S I O N 命 令 - 图119DISPLAY MEMORY LIKE marray

marray(4) DISPLAY MEMORY LIKE marray WAIT WINDOW

  • DI M E N S I O N 命 令 - 图120DI M E N S I O N 命 令 - 图121DI M E N S I O N 命 令 - 图122DI M E N S I O N 命 令 - 图123DI M E N S I O N 命 令 - 图124DI M E N S I O N 命 令 - 图125DI M E N S I O N 命 令 - 图126DI M E N S I O N 命 令 - 图127示例

    2

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

  • DI M E N S I O N 命 令 - 图128DI M E N S I O N 命 令 - 图129DI M E N S I O N 命 令 - 图130DI M E N S I O N 命 令 - 图131DI M E N S I O N 命 令 - 图132DI M E N S I O N 命 令 - 图133DI M E N S I O N 命 令 - 图134DI M E N S I O N 命 令 - 图135示例

    3

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

请 参 阅

ACOPY ( ) , ADEL( ) , ADIR( ) , AELEMENT( ) , AFIELDS( ) , AFONT( ) , AINS( ) , ALEN( ) , APPEND FROM ARRAY , ASCAN( ) , ASORT( ) , ASUBSCRIPT( ) , COPY TO A R R A Y , DECLARE , EXTERNA L , GATHER , PRIVATE , PUBLIC , SCATTER , SET COMPATIBLE , STORE