标题:问个小问题,请教这个怎么解决
只看楼主
laowan001
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:54
帖 子:802
专家分:1914
注 册:2015-12-30
得分:2 
FOR i=1 TO 10
tt=ALLTRIM(STR(i))
lsb='aaa'    && 加上这句试试
thisform.pageframe1.page1.container4.label&tt..Caption=lsb+str(i)
2023-04-20 22:01
hytizj023
Rank: 1
等 级:新手上路
帖 子:166
专家分:7
注 册:2023-3-2
得分:0 
以下是引用laowan001在2023-4-20 22:00:27的发言:


那就给变量lsb赋值啊

local lsb1,lsb2,lsb3,lsb4,lsb5,lsb6,lsb7,lsb8,lsb9,lsb10
DO 统计
FOR i=1 TO 10
tt=ALLTRIM(STR(i))
yy=lsb+STR(i)
thisform.pageframe1.page1.container4.label&tt..Caption='&yy'
thisform.pageframe1.page1.container4.Init
统计程序已经赋值了啊!
你还没有理解到意思吗?现在不是变量空值,而是没有找到变量,我要循环打印lsb1到lsb10的值
我的意思是lsb+STR(i)这种写法有错,应该怎么写!
报错是找不到lsb,正确的应该是找不到lsb1变量,而不是lsb
2023-04-20 22:04
hytizj023
Rank: 1
等 级:新手上路
帖 子:166
专家分:7
注 册:2023-3-2
得分:0 
我自己解决了
2023-04-20 22:20
cssnet
Rank: 4
等 级:业余侠客
威 望:4
帖 子:317
专家分:203
注 册:2013-10-4
得分:2 
这小问题问得确实异常搞笑。

1、难道你不明白什么是字符串常量?什么是变量名吗?
yy = "lsb" + tt
或者
yy = "lsb" + ALLTRIM(STR(i))
了解一下。

2、local lsb1,lsb2,lsb3,lsb4,lsb5,lsb6,lsb7,lsb8,lsb9,lsb10,然后试图在子程序“统计”中改变lsb1,lsb2,lsb3,lsb4,lsb5,lsb6,lsb7,lsb8,lsb9,lsb10的值,这一点,实在令人震惊!完全颠覆了我对于“菜鸟无下限”的认知!这样子搞法,那你还要什么“局部变量"、还要什么"作用域"做啥?——直接将你的代码搅拌成一大锅面条就好啦。

3、.Caption='&yy'的赋值,又再度刷新了我的震惊!我都不惜得说你了。唉,你自己反省一下吧。任何字符,只要被包括到了''当中,都不可能被VFP解释为宏替换了啊,亲。

2023-04-20 22:25
hytizj023
Rank: 1
等 级:新手上路
帖 子:166
专家分:7
注 册:2023-3-2
得分:0 
刷新了哈!刷新的还在后面,看到一半就在跑
2023-04-20 22:47
csyx
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:29
帖 子:484
专家分:1827
注 册:2018-3-13
得分:2 
。。。
2023-04-20 22:53
csyx
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:29
帖 子:484
专家分:1827
注 册:2018-3-13
得分:0 
以下是引用cssnet在2023-4-20 22:25:25的发言:
3、.Caption='&yy'的赋值,又再度刷新了我的震惊!我都不惜得说你了。唉,你自己反省一下吧。任何字符,只要被包括到了''当中,都不可能被VFP解释为宏替换了啊,亲。

不一定吧,如果yy是字符型,宏替换还是要执行的
yy = '123'
Caption='&yy'
? Caption

[此贴子已经被作者于2023-4-20 22:56编辑过]

2023-04-20 22:55
hytizj023
Rank: 1
等 级:新手上路
帖 子:166
专家分:7
注 册:2023-3-2
得分:0 
以下是引用csyx在2023-4-20 22:55:58的发言:


不一定吧,如果yy是字符型,宏替换还是要执行的
yy = '123'
Caption='&yy'
? Caption

帮我解决一下:
COUNT FOR 路数比='3:0:0' to lsb1
COUNT FOR 路数比='2:1:0' to lsb2
COUNT FOR 路数比='2:0:1' to lsb3
COUNT FOR 路数比='1:2:0' to lsb4
COUNT FOR 路数比='1:1:1' to lsb5
COUNT FOR 路数比='1:0:2' to lsb6
COUNT FOR 路数比='0:3:0' to lsb7
COUNT FOR 路数比='0:2:1' to lsb8
COUNT FOR 路数比='0:1:2' to lsb9
COUNT FOR 路数比='0:0:3' to lsb10

FOR i=1 TO 10
tt=ALLTRIM(STR(i))
thisform.pageframe1.page1.container4.label&tt..Caption=lsb+STR(i)
thisform.pageframe1.page1.container4.label&tt..refresh
thisform.pageframe1.page1.container4.init
ENDFOR

thisform.pageframe1.page1.container4.label&tt..Caption=lsb+STR(i)这句还是不行,研究了半天还是不行,我就是要打印lsb1到lsb10,出来
之前是用表来统计,我改变想法了,我想直接用变量
lsb+STR(i)主要是这里错了,老是提示找不到lsb,说明后面的1没有识别到

[此贴子已经被作者于2023-4-20 23:12编辑过]

2023-04-20 23:11
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:2 
lsb+STR(i)
改为
lsb+ALLTRIM(STR(i))

坚守VFP最后的阵地
2023-04-20 23:16
csyx
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:29
帖 子:484
专家分:1827
注 册:2018-3-13
得分:1 
.Caption = eval('lsb'+ trans(i))
2023-04-20 23:49



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




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

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