VB中如何简单的实现撤消(undo)和恢复(redo)功能不经过优化最简单的就是记录每一步的操作,然后反向操作回去就好了··,比方说你可以加两个visible为FALSE的list(list1和list2)
其中list1用来存储现在当前的操作,list2用来存储历史操作 。
你每操作一步,比方说点击了label2,那list1中就additem "label2"
其中list1增加项目时候,list2复制为list1
要撤销的时候,就是将list1的最后一项删除掉,这个时候list2保持不变 。要还原的话 , 先判断list1.listcount 是否和 list2.listcount相同 。若相同则不进行还原(可以提示说已经是最新的操作了),若不相同,则list1.additem list2.list(list1.listcount)
上面说的只是记录还原和撤销的记录,其关联的是还原和撤销的功能 , 比方说你简单点的可以将所有的line的颜色以及text全部初始化,然后只要你激发了撤销恢复功能,不论你是还原还是撤销,都是重新执行一遍list1中的存在的信息记录 。比方说你list1中的记录是 label1 label3 label4,那就相当于顺序执行 label1_click label3_click label4_click 那就可以了··
如果你要效率高一点的话,那就你在编程的时候对每一个执行任务编写一个反向编程 比方说你有label1_click那你就变写一个还原label1_click的函数比方说是anti_label1,那你撤销时候就调用这个函数好了··,还原的时候当然还是调用原来的那个函数 。不过基本上不是特别多的话,用第一种方法就够用了··省事···呵呵···不知不觉地说了这么多··呵呵·· 当然也可以用数组来存储当前操作和历史操作的···
用VB.NET 和SQL Server2000做项目,请问,怎么实现数据库的备份和还原 。谢谢SQL的备份语句
备份整个数据库:
BACKUP DATABASE { database_name | @database_name_var }
TObackup_device[ ,...n ]
[ WITH
[ BLOCKSIZE = { blocksize | @blocksize_variable } ]
[ [ , ] DESCRIPTION = { 'text' | @text_variable } ]
[ [ , ] DIFFERENTIAL ]
[ [ , ] EXPIREDATE = { date | @date_var }
| RETAINDAYS = { days | @days_var } ]
[ [ , ] PASSWORD = { password | @password_variable } ]
[ [ , ] FORMAT | NOFORMAT ]
[ [ , ] { INIT | NOINIT } ]
[ [ , ] MEDIADESCRIPTION = { 'text' | @text_variable } ]
[ [ , ] MEDIANAME = { media_name | @media_name_variable } ]
[ [ , ] MEDIAPASSWORD = { mediapassword | @mediapassword_variable } ]
[ [ , ] NAME = { backup_set_name | @backup_set_name_var } ]
[ [ , ] { NOSKIP | SKIP } ]
[ [ , ] { NOREWIND | REWIND } ]
[ [ , ] { NOUNLOAD | UNLOAD } ]
[ [ , ] RESTART ]
[ [ , ] STATS [ = percentage ] ]
]
备份特定的文件或文件组:
BACKUP DATABASE { database_name | @database_name_var }
file_or_filegroup[ ,...n ]
TObackup_device[ ,...n ]
[ WITH
[ BLOCKSIZE = { blocksize | @blocksize_variable } ]
[ [ , ] DESCRIPTION = { 'text' | @text_variable } ]
[ [ , ] DIFFERENTIAL ]
[ [ , ] EXPIREDATE = { date | @date_var }
| RETAINDAYS = { days | @days_var } ]
[ [ , ] PASSWORD = { password | @password_variable } ]
[ [ , ] FORMAT | NOFORMAT ]
[ [ , ] { INIT | NOINIT } ]
[ [ , ] MEDIADESCRIPTION = { 'text' | @text_variable } ]
[ [ , ] MEDIANAME = { media_name | @media_name_variable } ]
[ [ , ] MEDIAPASSWORD = { mediapassword | @mediapassword_variable } ]
[ [ , ] NAME = { backup_set_name | @backup_set_name_var } ]
[ [ , ] { NOSKIP | SKIP } ]
[ [ , ] { NOREWIND | REWIND } ]
[ [ , ] { NOUNLOAD | UNLOAD } ]
[ [ , ] RESTART ]
[ [ , ] STATS [ = percentage ] ]
]
备份一个事务日志:
BACKUP LOG { database_name | @database_name_var }
{
TObackup_device[ ,...n ]
[ WITH
[ BLOCKSIZE = { blocksize | @blocksize_variable } ]
推荐阅读
- ppt转pdf可以压缩么,ppt转pdf怎么压缩
- 西部长青如何推广,西部长青谁开发的
- 搞笑视频如何做公众号推广,搞笑视频公众号取什么名字
- 陶阳云圣抖音直播,陶阳云圣微博热搜
- vb.net打开ip vbnet padleft
- 荣耀magic2支持鸿蒙系统吗,honor magic2能不能升级鸿蒙系统
- 网站建设app开发,网站建设app开发流程图
- 夜晚背景直播素材下载,背景 夜晚
- mysql主键怎么设置 mysql主键设置为两个列