BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #48615同步于 2011/1/5
CPP机器人发帖

[合集] 请教一下,应用软件是怎么保存上次退出的时候的状态的啊

shenlei
2011/1/5镜像同步0 回复
☆─────────────────────────────────────☆ pigg (猪宝宝) 于 (Thu Dec 23 18:53:34 2010) 提到: 嗯,自己顶一下。 ☆─────────────────────────────────────☆ math (3664.2436498) 于 (Thu Dec 23 19:03:29 2010) 提到: 参数少的话可以改注册表,不过现在都不用这种办法了。 应该是在退出前修改运行状态文件,你可以在程序目录下按照修改时间排序找一下,最新的文件就是。 【 在 pigg 的大作中提到: 】 : 感谢大家在我上次提的那个怎么编界面问题的回答,后来我觉得像我这种需要迅速做完的情况下,就用MFC吧。 : 另外软件需要在启动时,能够恢复上次退出时的状态,就像比如我们用酷我听歌的时候,启动酷我时,它会自动记得上次的音量,播放到那首歌了。我想知道这样的话,那些上次运行时的状态数据是怎么保存的,又怎么恢复的呢? : -- : ................... ☆─────────────────────────────────────☆ rebirthatsix (茫犭者-算法盲) 于 (Thu Dec 23 23:13:34 2010) 提到: 恩,配置文件,或者序列化 ☆─────────────────────────────────────☆ wks (cloverprince) 于 (Fri Dec 24 00:12:37 2010) 提到: 就是配置文件。试试gconf和gsetting,专业干这种事的。windows可以用注册表。 或者sqlite,自己存数据。 ☆─────────────────────────────────────☆ pigg (猪宝宝) 于 (Fri Dec 24 10:27:00 2010) 提到: 【 在 wks 的大作中提到: 】 : 就是配置文件。试试gconf和gsetting,专业干这种事的。windows可以用注册表。 : 或者sqlite,自己存数据。 : -- : ................... 同学,可以详细讨论下吗,我没有这方面的知识背景,所以听不太懂你上面所说的,如果不介意可以QQ聊吗,我的QQ是307534618,谢谢。 ☆─────────────────────────────────────☆ a206206 (每天都被人超级鄙视的寂寞帝和悲剧帝) 于 (Fri Dec 24 10:41:24 2010) 提到: 【 在 pigg 的大作中提到: 】 : : 就是配置文件。试试gconf和gsetting,专业干这种事的。windows可以用注册表。 : : 或者sqlite,自己存数据。 : : -- : ................... 注册表的话去查看下windows api的相关文档,其他的我就不知道了 ☆─────────────────────────────────────☆ buptrh (【ipv6粉丝团】团帐房|emi大婶) 于 (Fri Dec 24 16:44:40 2010) 提到: 简单点写个文件就成了吧,你想存啥就写啥,下次再读出来。 ☆─────────────────────────────────────☆ kissme (kissme) 于 (Fri Dec 24 17:25:48 2010) 提到: 【 在 pigg 的大作中提到: 】 : 同学,可以详细讨论下吗,我没有这方面的知识背景,所以听不太懂你上面所说的,如果不介意可以QQ聊吗,我的QQ是307534618,谢谢。 不要说什么没有相关方面的背景啦,就是将配置写在一个地方,然后读出来的功能而已。 工作量是肯定有的,就是要现成的,网上也一大堆,但现成的也要学会怎么用吧,这就是工作量。 还要人指点的话就告诉你,上网BAIDU关键字:读写注册表,读写配置文件。 那位同学都给你举出这么多关键字了,自己搜不出来吗? 别老指望别人把函数代码全给你准备好好的啦。 搞开发这种事,有多少人是“有了知识背景”才去搞的, 如果这样那些刚毕业的学生啥都没搞过怎么找工作啊, 要有吃苦的心理准备,要学习解决问题的方法。 ☆─────────────────────────────────────☆ pigg (猪宝宝) 于 (Fri Dec 24 17:58:37 2010) 提到: 【 在 kissme 的大作中提到: 】 : : 【 在 pigg 的大作中提到: 】 : : 同学,可以详细讨论下吗,我没有这方面的知识背景,所以听不太懂你上面所说的,如果不介意可以QQ聊吗,我的QQ是307534618,谢谢。 : ................... 好吧,惭愧! ☆─────────────────────────────────────☆ loneliness (伤逝) 于 (Fri Dec 24 19:56:06 2010) 提到: 我觉得最直接的就是把历史存成日志然后再初始化时加载过去。。。 或者存进数据库,在程序中提供调用历史的查询语句。。 ☆─────────────────────────────────────☆ wks (cloverprince) 于 (Fri Dec 24 21:09:39 2010) 提到: 其实gconf和gsetting我自己都没搞过的。只是读过别人写的代码。一行c代码就能读出(或者写入)一个存储起来的数值。 sqlite就是sql语句嘛。图书馆里,sql的书多的要死的。人家官方也有文档,很详细的。用着也方便,整个库就是一个.c文件,放到你的工程里就行了。 【 在 wks 的大作中提到: 】 : 就是配置文件。试试gconf和gsetting,专业干这种事的。windows可以用注册表。 : 或者sqlite,自己存数据。 : -- : ................... ☆─────────────────────────────────────☆ guozi (果子) 于 (Fri Dec 24 21:14:12 2010) 提到: 写个文本文件都行 【 在 pigg (猪宝宝) 的大作中提到: 】 : 感谢大家在我上次提的那个怎么编界面问题的回答,后来我觉得像我这种需要迅速做完的情况下,就用MFC吧。 : 另外软件需要在启动时,能够恢复上次退出时的状态,就像比如我们用酷我听歌的时候,启动酷我时,它会自动记得上次的音量,播放到那首歌了。我想知道这样的话,那些上次运行时的状态数据是怎么保存的,又怎么恢复的呢? ☆─────────────────────────────────────☆ Bluerainer (Blue) 于 (Sat Dec 25 15:37:40 2010) 提到: wks又吸引了一个MM啊 ☆─────────────────────────────────────☆ pigg (猪宝宝) 于 (Sat Dec 25 21:40:55 2010) 提到: 查了下资料,ms用INI文件的方式比较简单 ☆─────────────────────────────────────☆ richlm (银剑山庄) 于 (Sat Dec 25 22:11:09 2010) 提到: window下ini文件的操作函数GetPrivateProfileString,WritePrivateProfileString ☆─────────────────────────────────────☆ richlm (银剑山庄) 于 (Sat Dec 25 22:13:55 2010) 提到: 可参考http://www.codeproject.com/kb/cpp/cinifileByCabadam.aspx ☆─────────────────────────────────────☆ pigg (猪宝宝) 于 (Sat Dec 25 22:41:04 2010) 提到: 嗯,谢谢。现在就是找到让应用程序启动时读取ini文件的方法了。 ☆─────────────────────────────────────☆ pigg (猪宝宝) 于 (Sun Dec 26 22:35:35 2010) 提到: 刚在MSDN查了下,上面文档说.ini文件的方法是比较老的方式了。。。 ☆─────────────────────────────────────☆ a206206 (右将军大人的副手||玻璃杯,碎) 于 (Sun Dec 26 22:38:06 2010) 提到: 【 在 pigg 的大作中提到: 】 : 刚在MSDN查了下,上面文档说.ini文件的方法是比较老的方式了。。。 : -- 确实,教材上也说了,用注册表,详细请参看:vc++深入讲解 ☆─────────────────────────────────────☆ renne (歼灭天使 玲) 于 (Sun Dec 26 22:41:34 2010) 提到: ……对用户来说,ini比注册表好吧…… 【 在 a206206 (右将军大人的副手||玻璃杯,碎) 的大作中提到: 】 : 确实,教材上也说了,用注册表,详细请参看:vc++深入讲解 ☆─────────────────────────────────────☆ zzjin (zzjin) 于 (Sun Dec 26 23:24:34 2010) 提到: 顶SQLITE..话说上半年写了个外挂双重加密库..结果下半年根本碰都没碰sqlite了..惭愧啊... ☆─────────────────────────────────────☆ pigg (猪宝宝) 于 (Mon Dec 27 10:01:12 2010) 提到: 嗯,羞愧的我就想这两天就得弄出来。之前ini文件看了好几天了,觉得自己写一个ini文件,一个CPP文件和一个.h文件没什么问题了。但是我现在就是不知道该该怎么实现,一双击exe文件(打开),然后,应用程序就能自动使用ini文件初始化了,因为现在看到的例子大多是使用打开一个应用程序,然后按某个按钮读取初始值的例子。 ☆─────────────────────────────────────☆ FadeToBlack (口口口 <- codepage error again?) 于 (Mon Dec 27 21:13:45 2010) 提到: 写死在程序里,打开失败就创建一个 【 在 pigg (猪宝宝) 的大作中提到: 】 : 嗯,羞愧的我就想这两天就得弄出来。之前ini文件看了好几天了,觉得自己写一个ini文件,一个CPP文件和一个.h文件没什么问题了。但是我现在就是不知道该该怎么实现,一双击exe文件(打开),然后,应用程序就能自动使用ini文件初始化了,因为现在看到的例子大多是使用打� ☆─────────────────────────────────────☆ guozi (果子) 于 (Mon Dec 27 21:15:14 2010) 提到: re。。 这么干过 【 在 FadeToBlack (口口口 <- codepage error again?) 的大作中提到: 】 : 写死在程序里,打开失败就创建一个 ☆─────────────────────────────────────☆ pigg (猪宝宝) 于 (Tue Dec 28 00:00:13 2010) 提到: 嗯,有点明白。 ☆─────────────────────────────────────☆ pigg (猪宝宝) 于 (Tue Dec 28 18:47:30 2010) 提到: void CcaraudioDlg::OnBnClickedCancel() { // TODO: Add your control notification handler code here LPCTSTR strTemp; const int keyval=m_slider1.GetPos();const strTemp.Format(_T("%d"),vol) ::WritePrivateProfileString((LPCTSTR)"Section1",(LPCTSTR)"Key1",Keyval,(LPCTSTR)".\\myfile.ini"); OnCancel(); } 这段代码的问题,我想让程序结束时,保存值到.ini,文件里,但是问题是WritePrivateProfileString要送的键值必须是LPCTSTR或CString类型,我得到的滑杆位置是个int类型,怎么转换啊,怎么老出现下面的这些错误啊,头大,求解释 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [ema1] error C2143: syntax error : missing ';' before '.' error C2373: 'strTemp' : redefinition; different type modifiers ☆─────────────────────────────────────☆ wks (cloverprince) 于 (Tue Dec 28 20:19:56 2010) 提到: 放到CWinApp::InitInstance里面怎么样? ☆─────────────────────────────────────☆ pigg (猪宝宝) 于 (Tue Dec 28 20:21:09 2010) 提到: 这个,没明白。。。太笨。 ☆─────────────────────────────────────☆ pigg (猪宝宝) 于 (Tue Dec 28 20:25:39 2010) 提到: 我觉得是我把Format函数用错了,可是网上都这么写的。 ☆─────────────────────────────────────☆ a206206 (右将军大人的副手||玻璃杯,碎||云湿胸) 于 (Tue Dec 28 20:58:45 2010) 提到: lz还没搞定啊。。。。深深地bless ☆─────────────────────────────────────☆ pigg (猪宝宝) 于 (Tue Dec 28 21:09:42 2010) 提到: 好吧,让我不好意思了。 ☆─────────────────────────────────────☆ a206206 (右将军大人的副手||玻璃杯,碎||云湿胸) 于 (Tue Dec 28 21:16:07 2010) 提到: 【 在 pigg 的大作中提到: 】 : 好吧,让我不好意思了。 : -- 我没不好的意思,就是感觉这是必须打的一场持久战。。。 ☆─────────────────────────────────────☆ pigg (猪宝宝) 于 (Tue Dec 28 22:19:12 2010) 提到: 嗯,呵呵,知道怎么回事了。
订阅后,新回复会通过你的通知中心匿名送达。
0 条回复
暂无回复 · 你可以订阅本帖等待新回复。