iCAx开思工具箱
标题:
【求助】如何使对话框保留上一次输入的值?
[打印本页]
作者:
lianyun
时间:
2003-9-1 15:23
标题:
【求助】如何使对话框保留上一次输入的值?
因为每一次重复做的时候,只需要改变个别的值,而大部分是不变得,如何才能使对话框中的值默认值为上一次输入的值呢?请高手指教!
作者:
zzz
时间:
2003-9-1 15:39
什么平台?
作者:
lianyun
时间:
2003-9-1 22:17
ZZZ斑竹,我指的是在UG下!还请斑竹指点!谢谢!
作者:
zzz
时间:
2003-9-2 07:34
用一个全局变量把值记下来,下次打开对话框时,在对话框的构造函数中,把保存的数据写到原来的位置。
我就是用这种方法,不知别人怎么做的。
作者:
lianyun
时间:
2003-9-2 10:44
感谢zzz,我试了,ok!但是这种方法只能在不退出二次开发的软件界面才适用。但是,若是退出UG后,再重新进入的话,好像就不行了,不知道斑竹是否有解决的方法?
作者:
zzz
时间:
2003-9-2 16:16
使用UDO把数据记录下来,保存在part中,下次进来时,从UDO中把信息读出来,显示在对话框中。
作者:
lianyun
时间:
2003-9-2 16:23
非常感谢!
作者:
wgwang
时间:
2003-9-3 15:49
请问斑竹UDO是什么,谢谢!
作者:
lianyun
时间:
2003-9-9 16:44
斑竹,能否具体给个例子?UDO的操作实在很难!
作者:
zzz
时间:
2003-9-10 10:28
UDO就是User Defined Object。
作者:
zzz
时间:
2003-9-10 10:28
参看UGOpen的帮助(UF_udobj.h),UDO是用来存放客户数据的,一个udo包含以下信息:
1. 名字
2。状态
3。整数,实数,字符串等。
4。指向UG object的指针。
5。长度,面积,体积等。
其中,3,4,5就是用户的数据信息。
UDO的操作分为三部分,下面分别讲述。
作者:
zzz
时间:
2003-9-10 10:43
1。注册UDO的类。
UF_UDO_create_class()
一旦注册了一个类,就会返回一个class_id。
一般都是在startup里面注册这个类,并用一个全局变量记录这个id,以便所有的程序使用。
作者:
zzz
时间:
2003-9-10 10:48
2。添加记录数据
首先,生成一个UDO
UF_UDO_create_udo(), 得到一个UDO的tag,它和上面udo类的关系就和c++里面类和实例的关系一样。
然后,使用UF_UDO_add_....()加入自己的数据,信息。
作者:
zzz
时间:
2003-9-10 10:53
3。从UDO中读出数据。
用UF_UDO_ask_udo_data()把UDO中的数据读出来,进行操作。
作者:
zzz
时间:
2003-9-10 10:55
UG里面有例子,UDO的帮助里面已经列出来了,我就不举例了。
作者:
mcwind
时间:
2003-9-10 11:52
让非模型数据跟着模型走不好,我不赞成这样做。为什么不把这个值写到注册表呢?
作者:
lianyun
时间:
2003-9-11 08:22
非常感谢斑竹的热心解释!!不知道楼上的高手所讲的"写到注册表“,具体如何实施?因为在我的数据里面也有很大一部分是非模型数据。还请指教!!
作者:
zzz
时间:
2003-9-11 09:31
mcwind wrote:
让非模型数据跟着模型走不好,我不赞成这样做。为什么不把这个值写到注册表呢?
我觉得正相反,这种方法是保证一致性的最好手段。UG提供这个东西,就是让用户保存自己的东西的。如果不这样的话,你在一个机子中生成的模型,怎样在另外一个机子中打开呢?
作者:
zzz
时间:
2003-9-11 09:34
如果数据类型比较简单的话,也可以使用attribute或expression
作者:
lianyun
时间:
2003-9-11 10:04
zzz,不好意思,又要麻烦你了!我觉得你的方法是可行的。但我又一个疑问:我在ufsta中注册了udo类,并创建了udo对象,但是,我的程序是在ok_cb中读取对话框中的值,然后add udo,但要是在construct_cb中读取udo数据,顺序是不对的。读udo数据时出错。不知道斑竹有何高招?
作者:
lianyun
时间:
2003-9-11 10:04
zzz,不好意思,又要麻烦你了!我觉得你的方法是可行的。但我又一个疑问:我在ufsta中注册了udo类,并创建了udo对象,但是,我的程序是在ok_cb中读取对话框中的值,然后add udo,但要是在construct_cb中读取udo数据,顺序是不对的。读udo数据时出错。不知道斑竹有何高招?
作者:
zzz
时间:
2003-9-11 10:27
不是有个函数UF_UDOBJ_cycle_udos_by_class()吗,你可以用这个函数把udo搜出来,如果存在的话,就编辑,如果不存在的话,就新生成一个。在ufsta中只注册类就可以了。
作者:
lianyun
时间:
2003-9-13 15:26
zzz,我觉得用udo的方法有一个限制,就是必须依附于part文件,若需要删去part,则udo的数据也就丢失了。后来,我用文本文档的形式做,因为数据量不大,所以还是很好用的!
欢迎光临 iCAx开思工具箱 (https://t.icax.org/)
Powered by Discuz! X3.3