B Babyfloppy Unregistered / Unconfirmed GUEST, unregistred user! 1999-11-02 #1 通常,每次启动程序,他都会按原先设定的模式显出窗口, 那么如何能让程序记住退出时的状态,而当再开启时,他呈现出 退出时的状态呢? 是要写一个*.ini吗? 望指教.
A Another_eYes Unregistered / Unconfirmed GUEST, unregistred user! 1999-11-02 #3 不一定写ini, 只要按自己定义的格式保存相关信息即可. 随便保存到哪里, 最隐蔽的方法是保存到注册表. 好点的保存到数据库(随便这个用户在 哪台机器上运行都能呈现他上次退出时的状态).
C cAkk Unregistered / Unconfirmed GUEST, unregistred user! 1999-11-02 #4 同意eyes. 如果你做的是一个数据库程序,可以自己建一个所谓"系统表",专门保存程序参数. 如果没有数据库,就保存到注册表里去吧.不推荐ini文件.
C cytown Unregistered / Unconfirmed GUEST, unregistred user! 1999-11-02 #5 就是, 存在什么地方都可以, 如ini,dat文件中... 如果存在服务器上(不一定数据库中, 服务器的共享目录中就可以), 可以实现你要 的结果. 如果配合自毁文件的编写方法(看以前的帖子), 还可以存在当前exe文件上.
就是, 存在什么地方都可以, 如ini,dat文件中... 如果存在服务器上(不一定数据库中, 服务器的共享目录中就可以), 可以实现你要 的结果. 如果配合自毁文件的编写方法(看以前的帖子), 还可以存在当前exe文件上.
Y youtoo Unregistered / Unconfirmed GUEST, unregistred user! 1999-11-02 #7 还是写ini文件吧,注册表那个 <font color="red">垃圾桶</font> 难道被塞的还不够满么? 用Delphi中的Tinifile类,生成 ini文件,自己给它赋各种参数 和值,起码不象注册表中常有 没用的键。
还是写ini文件吧,注册表那个 <font color="red">垃圾桶</font> 难道被塞的还不够满么? 用Delphi中的Tinifile类,生成 ini文件,自己给它赋各种参数 和值,起码不象注册表中常有 没用的键。
D DreamTiger Unregistered / Unconfirmed GUEST, unregistred user! 1999-11-02 #8 推荐使用ini文件。注册表不方便,而且删除程序 后很可能有遗留,不符合绿色软件要求,嘿嘿。 同时,如果想在一台机子上设定几种不同功能的 界面,注册表就很麻烦了。最好就是放在运行目 录下的ini文件。
C cAkk Unregistered / Unconfirmed GUEST, unregistred user! 1999-11-02 #9 youtoo: 正相反,windows希望程序员往注册表里写东西.ini文件是以前win31里面 的东西.正是因为windows讨厌别人写ini文件,所以从win95后改成了注册 表.况且,看看delphi的帮助也可以知道,ini的函数只是为了和以前兼容 才保留下来的. 至于说到注册表内容太多的问题,那不是你我应该关心的,windows会处理 好的,而且注册表处理速度也比ini文件快.
youtoo: 正相反,windows希望程序员往注册表里写东西.ini文件是以前win31里面 的东西.正是因为windows讨厌别人写ini文件,所以从win95后改成了注册 表.况且,看看delphi的帮助也可以知道,ini的函数只是为了和以前兼容 才保留下来的. 至于说到注册表内容太多的问题,那不是你我应该关心的,windows会处理 好的,而且注册表处理速度也比ini文件快.
J JinBo Unregistered / Unconfirmed GUEST, unregistred user! 1999-11-02 #10 我认同youtoo的意见,虽然注册表的速度快,但INI使用方便,容易管理,不会产生垃圾。 具体的做法可以参考RXLIB中的做法。
J JinBo Unregistered / Unconfirmed GUEST, unregistred user! 1999-11-02 #12 Ini一般存放在程序的当前目录下,删除,或反安装该程序时,用户很容易对INI进行清理。如果存放在Windows/System中,则也会成为垃圾。 而据我的观察,大部分程序保存在注册中的数据在反安装时都没有清除。 长期安装,删除程序将会在注册中保留很多的多余数据,这也是Regclean等软件存在的原因。
Ini一般存放在程序的当前目录下,删除,或反安装该程序时,用户很容易对INI进行清理。如果存放在Windows/System中,则也会成为垃圾。 而据我的观察,大部分程序保存在注册中的数据在反安装时都没有清除。 长期安装,删除程序将会在注册中保留很多的多余数据,这也是Regclean等软件存在的原因。
C cAkk Unregistered / Unconfirmed GUEST, unregistred user! 1999-11-02 #13 天!你作为程序员是干什么的,不彻底删除不是你自己的责任吗?
J JinBo Unregistered / Unconfirmed GUEST, unregistred user! 1999-11-02 #14 比如说Delphi的DSK文件,Borland不把它写在注册表中,是因为INI具有一定的灵活 性,在注册表中实现就有一定的困难。 INI与注册表读写各有各的好处。就要看具体的工作需求了。
C cAkk Unregistered / Unconfirmed GUEST, unregistred user! 1999-11-02 #15 看看注册表吧! delphi写到注册表里的东西可比ini文件多多了!!! >>在注册表中实现就有一定的困难。 有什么困难可以提出来,大家可以帮你解决. BTW: 用ini文件如何实现树型的键系列????如何保存二进制数据??
看看注册表吧! delphi写到注册表里的东西可比ini文件多多了!!! >>在注册表中实现就有一定的困难。 有什么困难可以提出来,大家可以帮你解决. BTW: 用ini文件如何实现树型的键系列????如何保存二进制数据??
D DreamTiger Unregistered / Unconfirmed GUEST, unregistred user! 1999-11-02 #16 呵呵,不要这么极端么。INI文件和注册表之争,其实就 是要不要把配置信息写到注册表中,跟INI能干什么已经 没什么大关系了。INI不能保存二进制数据,那就写个能 保存二进制的DAT文件,但是它跟INI有什么区别呢?反正 都是不写到WINDOWS的文件中。如果说INI有其不足之处, 那么如果我想在一台机子上运行10个不同的设置,注册表 怎么写?20个呢?100个呢?至于WINDOWS希望程序员往注 册表里写,我不知道是什么道理。如果各个程序自己管理 好自己的INI,有什么不好的?
呵呵,不要这么极端么。INI文件和注册表之争,其实就 是要不要把配置信息写到注册表中,跟INI能干什么已经 没什么大关系了。INI不能保存二进制数据,那就写个能 保存二进制的DAT文件,但是它跟INI有什么区别呢?反正 都是不写到WINDOWS的文件中。如果说INI有其不足之处, 那么如果我想在一台机子上运行10个不同的设置,注册表 怎么写?20个呢?100个呢?至于WINDOWS希望程序员往注 册表里写,我不知道是什么道理。如果各个程序自己管理 好自己的INI,有什么不好的?
C cAkk Unregistered / Unconfirmed GUEST, unregistred user! 1999-11-02 #17 DreamTiger: 越复杂的结构越适合注册表,因为他是树型的结构. >>INI不能保存二进制数据,那就写个能保存二进制的DAT文件, 这样值得吗? 这里讨论的是如何用简单的方法,就为了不用windows专门提供 的注册表,而专门自己写一个???而且功能肯定还赶不上注册表. 是不是有点走极端了? >>注册表怎么写?20个呢?100个呢? 你觉得管理100个注册表键方便还是管理100个文件方便??? >>至于WINDOWS希望程序员往注册表里写,我不知道是什么道理 我也不知道,我只知道windows把大部分以前放在system.ini,win.ini 里面的东西现在放到注册表里了.
DreamTiger: 越复杂的结构越适合注册表,因为他是树型的结构. >>INI不能保存二进制数据,那就写个能保存二进制的DAT文件, 这样值得吗? 这里讨论的是如何用简单的方法,就为了不用windows专门提供 的注册表,而专门自己写一个???而且功能肯定还赶不上注册表. 是不是有点走极端了? >>注册表怎么写?20个呢?100个呢? 你觉得管理100个注册表键方便还是管理100个文件方便??? >>至于WINDOWS希望程序员往注册表里写,我不知道是什么道理 我也不知道,我只知道windows把大部分以前放在system.ini,win.ini 里面的东西现在放到注册表里了.
D DreamTiger Unregistered / Unconfirmed GUEST, unregistred user! 1999-11-02 #18 cAKK: >>越复杂的结构越适合注册表,因为他是树型的结构. 这个不错,不过,考虑到这个问题提出的原因,你就可以看到, 其实我们并不需要那么复杂的结构。比如说程序退出的位置、 上面的开关按钮设置情况等等。 >>INI不能保存二进制数据,那就写个能保存二进制的DAT文件, >>这样值得吗? 这里讨论的是如何用简单的方法,就为了不用windows专门提供 >>的注册表,而专门自己写一个???而且功能肯定还赶不上注册表. >>是不是有点走极端了? 我只不过是举个例子,其实真正复杂的东西,是没法写到注册表中的。 我想没有人会在注册表中保存数据库的,呵呵。我是从来没有在注册 表中保存过数据,所以我也没有用它来保存过二进制的东西。在注册 表中,那些项是用二进制保存的?(我是真的不知道,可不是抬杠哦) >>注册表怎么写?20个呢?100个呢? >> 你觉得管理100个注册表键方便还是管理100个文件方便??? 呵呵,我想你误会我的意思了。我的意思是,一个程序只管理运行目 录下的INI,如果想要20个不同的运行环境,那就可以建立20个快捷 方式,或者跟Foxmail一样,根据Param设定的目录,建立相应的INI文 件,就可以有不同的配置了。而不是在一个程序中管理20个(或者100 个)INI文件。 >>至于WINDOWS希望程序员往注册表里写,我不知道是什么道理 我也不知道,我只知道windows把大部分以前放在system.ini,win.ini 里面的东西现在放到注册表里了. 呵呵,windows自己怎么干,就不好说了。如果别的软件都这么干, 到真的要好好想想了。
cAKK: >>越复杂的结构越适合注册表,因为他是树型的结构. 这个不错,不过,考虑到这个问题提出的原因,你就可以看到, 其实我们并不需要那么复杂的结构。比如说程序退出的位置、 上面的开关按钮设置情况等等。 >>INI不能保存二进制数据,那就写个能保存二进制的DAT文件, >>这样值得吗? 这里讨论的是如何用简单的方法,就为了不用windows专门提供 >>的注册表,而专门自己写一个???而且功能肯定还赶不上注册表. >>是不是有点走极端了? 我只不过是举个例子,其实真正复杂的东西,是没法写到注册表中的。 我想没有人会在注册表中保存数据库的,呵呵。我是从来没有在注册 表中保存过数据,所以我也没有用它来保存过二进制的东西。在注册 表中,那些项是用二进制保存的?(我是真的不知道,可不是抬杠哦) >>注册表怎么写?20个呢?100个呢? >> 你觉得管理100个注册表键方便还是管理100个文件方便??? 呵呵,我想你误会我的意思了。我的意思是,一个程序只管理运行目 录下的INI,如果想要20个不同的运行环境,那就可以建立20个快捷 方式,或者跟Foxmail一样,根据Param设定的目录,建立相应的INI文 件,就可以有不同的配置了。而不是在一个程序中管理20个(或者100 个)INI文件。 >>至于WINDOWS希望程序员往注册表里写,我不知道是什么道理 我也不知道,我只知道windows把大部分以前放在system.ini,win.ini 里面的东西现在放到注册表里了. 呵呵,windows自己怎么干,就不好说了。如果别的软件都这么干, 到真的要好好想想了。
C cAkk Unregistered / Unconfirmed GUEST, unregistred user! 1999-11-02 #19 >>其实我们并不需要那么复杂的结构。 问题是操作注册表并不比ini文件复杂,你不用注册表也不是因为它太复杂吧! 事实上,二者函数基本一样. >>我想没有人会在注册表中保存数据库的, 那到不至于,不过你知道注册表本身就是一个数据库吗? >>或者跟Foxmail一样,根据Param设定的目录,建立相应的INI文件,就可以有不同的配置了。 看来你的确没怎么用过注册表. >>如果别的软件都这么干,到真的要好好想想了。 大凡正规点的软件,都会把信息保存到注册表里面,不信你可以到注册表里面找一找, 建议你到下面几个地方看看,你会发现很多熟悉的名字: HKEY_LOCAL_MACHINE/Software HKEY_LOCAL_MACHINE/Software/Borland HKEY_CURRENT_USER/Software HKEY_CURRENT_USER/Software/Borland
>>其实我们并不需要那么复杂的结构。 问题是操作注册表并不比ini文件复杂,你不用注册表也不是因为它太复杂吧! 事实上,二者函数基本一样. >>我想没有人会在注册表中保存数据库的, 那到不至于,不过你知道注册表本身就是一个数据库吗? >>或者跟Foxmail一样,根据Param设定的目录,建立相应的INI文件,就可以有不同的配置了。 看来你的确没怎么用过注册表. >>如果别的软件都这么干,到真的要好好想想了。 大凡正规点的软件,都会把信息保存到注册表里面,不信你可以到注册表里面找一找, 建议你到下面几个地方看看,你会发现很多熟悉的名字: HKEY_LOCAL_MACHINE/Software HKEY_LOCAL_MACHINE/Software/Borland HKEY_CURRENT_USER/Software HKEY_CURRENT_USER/Software/Borland
J jobsxy Unregistered / Unconfirmed GUEST, unregistred user! 1999-11-02 #20 WINDOWS肯定不希望用INI文件而主张用注册表,我一直担心以后会不支持INI文件, 万一在64位的WINDOWS废弃INI文件,我们开发的程序就玩完了