回 帖 发 新 帖 刷新版面

主题:怎样使同一个变量在编辑框同时输出不同的结果,而不被覆盖

例如表单里的代码是:
s=0

for i=1 to 5

s=s+i
?s 

thisform.edit1.value=+str(s)+chr(10)+chr(13)
endfor

s变量输出的结果是1,3,6,10,15.



如果我用'?s'方式输出变量值,显示在表单上是1,3,5,10,15
如果我用 'thisform.edit1.value=+str(s)'方式在编辑框里输出变量值时,只显示15,其它的值都被覆盖了,显示不出来,有没有什么办法在编辑框里s的值都能显示出来.

回复列表 (共6个回复)

沙发


s = 0
FOR n = 1 TO 5 
    s = s + n
    thisform.edit1.Value = thisform.edit1.Value + ALLTRIM(STR(s))+ CHR(13)+CHR(10)
ENDFOR

板凳

你为什么不用列表框呢list呢
s = 0
FOR n = 1 TO 5 
    s = s + n
    thisform.list1.AddItem(ALLTRIM(STR(s)))
ENDFOR

3 楼

本来你的程序是对的错在于你把 +=  写反了

thisform.edit1.value=+str(s)+chr(10)+chr(13)
应该是
thisform.edit1.value+=str(s)+chr(10)+chr(13)

4 楼

VFP中不能用+=或=+运算吧,应该只能是这样吧:
thisform.edit1.value=ALLTRIM(thisform.edit1.value)+str(s)+chr(10)+chr(13)

5 楼

4楼的朋友 ,我用的是VFP9
你写程序时,可以用 += 
当你写到+= 时,自动会变为 ;如:
as += 当你 空格时 会自动 变为  as = as + 这样的,呵呵

6 楼


1楼说的不错,谢谢了!

我来回复

您尚未登录,请登录后再回复。点此登录或注册