在VFP中如何定义全局变量?

时间:2021-09-24 10:28:19
在VFP中好像不用显式的定义变量,请问如何定义一人全局变量?

3 个解决方案

#1


最简单就是:
public 变量名

#2


定义全局变量或数组。下面是 2 个版本的语法。

 
PUBLIC MemVarList
 
 
PUBLIC [ ARRAY ] ArrayName1( nRows1 [ , nColumns1 ] ) [, ArrayName2( nRows2 [, nColumns2 ] ) ] ... 
   [AS type [OF ClassLib]]
 

参数
PUBLIC MemVarList 
指定要初始化并指派为全局的一个或多个内存变量。用逗号分隔 MemVarList 中的多项。单个字母 A 到 J 和 M 是保留字,且不能用来作为内存变量名。 
PUBLIC [ ARRAY ] ArrayName1( nRows1 [, nColumns1 ]?) [, ArrayName2( nRows2 [, nColumns2]?)] ... 
指定要初始化并指派为全局的一个或多个数组。有关数组的更多信息,请参见DIMENSION 命令. 
[ AS type [OF ClassLib] ] 
指定内存变量或数组的数据类型,和内存变量或数组所基于的、包含 type 类型描述的类型库。可以用 AS 子句执行强类型。只有当其为强类型时,智能感应功能才可用于对象和变量引用。更多的信息,请参见 如何对类、对象和内存变量代码执行强类型。 
说明
您可以在当前 Visual FoxPro 工作期运行的任何程序中使用和修改全局变量和数组。

除了全局内存变量 FOX 和 FOXPRO 初始化为真(.T.)之外,任何用 PUBLIC 创建的内存变量和数组都被初始化为假(.F.)。根据运行的 Visual FoxPro 版本,您可以使用全局变量 FOX 和 FOXPRO 有条件的运行代码。

注意: 
在早期版本中使用全局变量 FOX 和 FOXPRO 来分别侦测早期版本的 FoxBASE 和 FoxPro。 
  

必须在赋值之前声明所有想要作为全局的内存变量或数组。如果在程序中赋值给内存变量或数组,然后使用 PUBLIC 声明为全局,则 Visual FoxPro 将产生一条语法错误。

从“命令”窗口中创建的内存变量或数组自动声明为全局。

示例
  复制代码 
SET TALK OFF
PUBLIC val1,val2
val1 = 10
val2 = 15

DO down
? val1
? val2

RELEASE ALL     && 仅释放私有内存变量
DISPLAY MEMORY LIKE val?
RELEASE val1,val2  && 全局内存变量必须明确的释放
DISPLAY MEMORY LIKE val?

PROCEDURE down
PRIVATE val1
val1 = 50
val2 = 100
? val1
? val2
RETURN
 

#3


多谢!等一下慢慢消化吧!

#1


最简单就是:
public 变量名

#2


定义全局变量或数组。下面是 2 个版本的语法。

 
PUBLIC MemVarList
 
 
PUBLIC [ ARRAY ] ArrayName1( nRows1 [ , nColumns1 ] ) [, ArrayName2( nRows2 [, nColumns2 ] ) ] ... 
   [AS type [OF ClassLib]]
 

参数
PUBLIC MemVarList 
指定要初始化并指派为全局的一个或多个内存变量。用逗号分隔 MemVarList 中的多项。单个字母 A 到 J 和 M 是保留字,且不能用来作为内存变量名。 
PUBLIC [ ARRAY ] ArrayName1( nRows1 [, nColumns1 ]?) [, ArrayName2( nRows2 [, nColumns2]?)] ... 
指定要初始化并指派为全局的一个或多个数组。有关数组的更多信息,请参见DIMENSION 命令. 
[ AS type [OF ClassLib] ] 
指定内存变量或数组的数据类型,和内存变量或数组所基于的、包含 type 类型描述的类型库。可以用 AS 子句执行强类型。只有当其为强类型时,智能感应功能才可用于对象和变量引用。更多的信息,请参见 如何对类、对象和内存变量代码执行强类型。 
说明
您可以在当前 Visual FoxPro 工作期运行的任何程序中使用和修改全局变量和数组。

除了全局内存变量 FOX 和 FOXPRO 初始化为真(.T.)之外,任何用 PUBLIC 创建的内存变量和数组都被初始化为假(.F.)。根据运行的 Visual FoxPro 版本,您可以使用全局变量 FOX 和 FOXPRO 有条件的运行代码。

注意: 
在早期版本中使用全局变量 FOX 和 FOXPRO 来分别侦测早期版本的 FoxBASE 和 FoxPro。 
  

必须在赋值之前声明所有想要作为全局的内存变量或数组。如果在程序中赋值给内存变量或数组,然后使用 PUBLIC 声明为全局,则 Visual FoxPro 将产生一条语法错误。

从“命令”窗口中创建的内存变量或数组自动声明为全局。

示例
  复制代码 
SET TALK OFF
PUBLIC val1,val2
val1 = 10
val2 = 15

DO down
? val1
? val2

RELEASE ALL     && 仅释放私有内存变量
DISPLAY MEMORY LIKE val?
RELEASE val1,val2  && 全局内存变量必须明确的释放
DISPLAY MEMORY LIKE val?

PROCEDURE down
PRIVATE val1
val1 = 50
val2 = 100
? val1
? val2
RETURN
 

#3


多谢!等一下慢慢消化吧!