中国开发网: 论坛: 程序员情感CBD: 贴子 221522
haitao
【技术贴】一个具体的技术实现(多级缓冲)相关的问题,需要形式化
一个具体的技术实现相关的问题,需要形式化

作了一个类似台历的工具软件,同时显示n周的日历,每个日期占一个框,框里显示该日期的备忘(如果没有备忘就空着)。每天的备忘分4类,如:工作、私事、财务、其他。
由于是单机版小工具程序,每日备忘的信息打算以本文文件存储,为了提高修改的速度,决定把每个月的备忘存为一个名为Note_2005_09.txt的文件
每个文件的内部格式为:
1.0=该月1日的工作记录
1.1=该月1日的私事
1.3=该月1日的其他信息
5.2=该月5日的财务往来记录
依此类推
如果备忘信息有换行回车,则以特别的字符串替换掉后再存储,取出时先把这些特别的字符串替换回回车再使用

编辑每天的备忘时,提供一个4页的Tab和一个Tmemo,选择哪页就等于选择哪一类,自动把当天该类的备忘放在Tmemo里显示并允许用户继续改写,用户一切换Tab,就自动保存当前类的备忘,再把新页对应 的备忘放在Tmemo里显示并允许用户继续改写。
切换日期或终止编辑时,如果都是在同一个月的,可以不把当前对本月其他日期的备忘的修改立即保存,而是在离开本月(选择了其他月份的日期)或程序关闭时,才真正保存到对应的月份文件。

显示台历时,需要显示可见范围内每个日期的备忘信息,这时就需要取对应日期的备忘信息了。如果之前10月20日的备忘被修改过,还没存入文件,显示需要从8月5日开始,则需要先自动保存10月份的备忘信息到对应的文件,然后取8月份的备忘文件(没有就是空)。

由于没有形式化、考虑清楚、周全,程序随着事件的增多,出现了:关闭程序时,一些修改的信息没有保存,保存某些日期的备忘时会丢掉另一些日期的备忘。

如何形式化这个应用?相当于多级缓冲:
每个月一个文件,它可以完整读入内存
每天有4行(类)信息(多行的替换成单行)
用户可以选择具体某一行修改、自动保存(切换类或日期都将导致当前类的信息自动存到内存)
切换月份时,才把内存的修改保存到月份文件。
我的blog:http://szhaitao.blog.hexun.com & http://www.hoolee.com/user/haitao
--以上均为泛泛之谈--
不尽牛人滚滚来,无边硬伤纷纷现 人在江湖(出来的),哪能不挨刀(总归是要的)
网络对话,歧义纷生;你以为明白了对方的话,其实呢?

您所在的IP暂时不能使用低版本的QQ,请到:http://im.qq.com/下载安装最新版的QQ,感谢您对QQ的支持和使用

相关信息:


欢迎光临本社区,您还没有登录,不能发贴子。请在 这里登录