标题:vfp的变量问题
只看楼主
felord
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2006-7-20
 问题点数:0 回复次数:10 
vfp的变量问题
vfp的变量和其他语言的变量感觉不一样,他可以动态变化的吗?
比如 我的程序
a = getfile("xls")
import from (a) xl5
按这个程序a应该是代表我选中的那个excel文件把,
后面我再次用到这个变量a的时候,a竟然变化了。。
求大师帮忙解释下是啥原因。
搜索更多相关主题的帖子: vfp 变量 选中 文件 变化 
2020-03-22 14:10
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
变体
2020-03-22 14:28
felord
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2006-7-20
得分:0 
回复 楼主 felord
版主好,有没有详细点的介绍啊,
比如我想固定变量的值咋弄,这样变来变去的,不好操作啊
2020-03-22 14:57
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
以下是引用felord在2020-3-22 14:57:46的发言:

版主好,有没有详细点的介绍啊,
比如我想固定变量的值咋弄,这样变来变去的,不好操作啊

变量是自己定义的,变量名就是自己定,是否有需要变体应该心中有数。
2020-03-22 17:04
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:190
帖 子:3125
专家分:8340
注 册:2015-3-25
得分:0 
以下是引用felord在2020-3-22 14:10:28的发言:

vfp的变量和其他语言的变量感觉不一样,他可以动态变化的吗?
比如 我的程序
a = getfile("xls")
import from (a) xl5
按这个程序a应该是代表我选中的那个excel文件把,
后面我再次用到这个变量a的时候,a竟然变化了。。
求大师帮忙解释下是啥原因。

VFP的工作区,是用1,2,3,4,5,6...,同时,也可以用a,b,c,d,e,f...,也就是说
你刚才打开1个表
use x1 && 由于你第1次打开表,应该在第1个工作区(或者在a区)
use x2 && 由于你第2次打开表,应该在第2个工作区(或者在b区)
select 1 && 也可以 select a 或者 select x1
brow
select 2 && 也可以 select b 或者 select x2
brow
因此,VFP中的表名称,变量,等等,最好不要用单个字母,就算要用,也不要用靠经前面的字母,同时,VFP的表名称,也不要用数字开头的,如 20190101,如果一定要这个的日期名称的表名称,最好在前面加个字母或者下划线,如 a20190101.dbf 或者 _20190101.dbf


2020-03-23 08:47
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:190
帖 子:3125
专家分:8340
注 册:2015-3-25
得分:0 
以下是引用felord在2020-3-22 14:10:28的发言:

vfp的变量和其他语言的变量感觉不一样,他可以动态变化的吗?
比如 我的程序
a = getfile("xls")
import from (a) xl5
按这个程序a应该是代表我选中的那个excel文件把,
后面我再次用到这个变量a的时候,a竟然变化了。。
求大师帮忙解释下是啥原因。

同时,变量,有作用域的,
public x1 && 声明一个全程变量
local x2 && 声明一个局部变量
等等,你可以在网上找找VFP的变量,自己对比一下,测试时,最好自己用几个函数测试,效果明显
2020-03-23 08:51
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:190
帖 子:3125
专家分:8340
注 册:2015-3-25
得分:0 
public x1,x2
x1=20
x2=0
?x1,x2
= abc(x1)
?"调用函数abc后的x1=",x1
?"调用函数abc后的x2=",x2

= bcd(x1) && 注意,函数bcd没有定义局部变量x2
?"调用函数bcd后的x1=",x1
?"调用函数bcd后的x2=",x2


function abc(x1)
 local x2
 x2=x1*100
?"函数内部x1=",x1
?"函数内部x2=",x2
endfunction

function bcd(x1)
*** local x2
 x2=x1*100
?"函数内部x1=",x1
?"函数内部x2=",x2
endfunction


2020-03-23 08:56
felord
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2006-7-20
得分:0 
回复 7楼 mywisdom88
非常感谢,我这个问题的原因就是因为我用了单个字母作为了变量吗?
我把变量名改复杂了 是不是就可以解决呢。
2020-03-23 13:32
xuminxz
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:40
帖 子:749
专家分:2475
注 册:2011-5-8
得分:0 
请注意每种语言的基本要求。VFP不要用a-j这10个单个字母作变量及表文件,否则会出现意想不到的逻辑错误。(虽然这是语法上可能是对的。)

dBase有人接盘了。
2020-03-23 16:04
felord
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2006-7-20
得分:0 
回复 9楼 xuminxz
工作区具体是个什么意思呢,为什么这里的a就变成了我打开文件的字段名呢
2020-03-24 10:00



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-500507-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.147001 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved