回 帖 发 新 帖 刷新版面

主题:怎样在TEXT里输入的值下次运行里时那值还在

你们好!请教了个问题?我使用VFP中的表单编了个计算类的程序,每回重新打开程序,以前输入在TEXT里的数值都被自动清空了,这样每次都要重新输一回,有点麻烦,能不能把那值保存下来,那样等下回重新打开程序就不用重新输入.谢谢各位了

回复列表 (共19个回复)

11 楼

在表单中怎样生成内存变量啊?

12 楼

6楼说的变量文件名怎么没有呢?是怎么弄的?

13 楼

我给你说个好办法 

如果你的数据类型是 C
在表单的init里输入:
*-在c:\temp.txt里读数据输入到text1里
thisform.text1.value = filetostr('c:\temp.txt')
在你表单的建出按钮中输入一个
把text1的值保存到c:\temp.txt文件里
strtofile(thisform.text1.value,'c:\temp.txt')

14 楼


可我的数据类型是数值型,那怎么弄?

15 楼

也好办
表单的 Init 里输入
thisform.text1.value = val(filetostr('c:\temp.txt'))

在表单的退出之前运行

strtofile(allt(str(thisform.text1.value),14,2),'c:\temp.txt')

16 楼

转换成C型。完了再转换回来就OK了
这里主要用到了,strtofile()和filetostr()两个函数,你看看关于这两个函数的帮助

17 楼

[quote]6楼说的变量文件名怎么没有呢?是怎么弄的?[/quote]
表单中至少包含 text1、text2 两个文本框
在表单的 INIT 事件中加入下面的代码
SET SAFETY OFF 
IF FILE("AA.MEM")
  RESTORE FROM AA ADDITIVE
  this.text1.Value=Txt1
  this.text2.Value=Txt2
ENDIF 

在表单的 DESTROY 事件中加入下面的代码
Txt1=thisform.text1.Text
Txt2=thisform.text2.Text
SAVE TO AA ALL LIKE Txt*

18 楼

按17楼说的,确实是能保存text控件里的值,但是运行程序时,就出现问题了.
例如我有两个文本框,text1,text2,我把text1的controlsourcr属性设为z,把text2的controlsourcr属性设为m,当运行程序后,按计算按纽,程序跳出来说找不到变量z ,这样就不能进行计算了.但如果在运行程序后,我先把text1,text2里的值重新输一下,然后按计算按纽,就不会跳出来说找不到变量z,但这样的话,就等于没保存了.

19 楼

计算时取 Text1.text、 Text2.text,而不是取 Text1.value、 Text2.value。

我来回复

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