自动备份易语言的临时保存文件-源码

2012/12/10 2 条评论 12.81k 次阅读 0 人点赞

之前在易语言官方论坛发了个自动备份“~~AutoBak.tmp”文件的工具,查看详情

易语言每次调试或者定时备份时都会在临时目录生成一个名为~~AutoBak.tmp的文件,正常关闭IDE后该文件自动删除,非正常关闭后该文件还保留着,可以在下次打开易语言时使用这个备份文件。但是,这并不保险,存在于临时目录中的文件随时都可能被清理,而且一旦调试另一个程序的代码就会被该程序代替。本工具的用途就是自动备份该文件,尽量防止源代码丢失。

源码文件下载:自动备份~~AutoBak.tmp文件,易IDE崩溃也不怕!

主要源码示例:

  1. .程序集 窗口程序集1 
  2.   
  3. .子程序 _窗口1_创建完毕 
  4. 设置窗口透明度 (窗口1.取窗口句柄 (), 200)
  5. 编辑框1.内容取特定目录 (#临时文件目录) + “~~AutoBak.tmp”
  6. 编辑框2.内容“D:\文件\自动备份”
  7.   
  8. .子程序 _窗口1_位置被改变 
  9. 窗口2.移动 (窗口1.左边, 窗口1.顶边, , )
  10.   
  11. .子程序 _透明标签2_鼠标左键被放开,逻辑型 
  12. .参数 横向位置,整数型 
  13. .参数 纵向位置,整数型 
  14. .参数 功能键状态,整数型 
  15. 窗口2.位置2
  16.   
  17. .子程序 _透明标签1_鼠标左键被放开,逻辑型 
  18. .参数 横向位置,整数型 
  19. .参数 纵向位置,整数型 
  20. .参数 功能键状态,整数型 
  21. .如果真 (信息框 (“退出备份程序?”, #询问图标#是否钮, “退出”) = #是钮)
  22.   窗口2.销毁 ()
  23.   .如果真结束
  24. .子程序 _透明标签3_鼠标左键被放开,逻辑型 
  25. .参数 横向位置,整数型 
  26. .参数 纵向位置,整数型 
  27. .参数 功能键状态,整数型 
  28. 通用对话框1.初始目录 = 编辑框1.内容
  29. .如果真 (通用对话框1.打开 ())
  30.   编辑框1.内容 = 通用对话框1.文件名
  31.   .如果真结束
  32. .子程序 _透明标签4_鼠标左键被放开,逻辑型 
  33. .参数 横向位置,整数型 
  34. .参数 纵向位置,整数型 
  35. .参数 功能键状态,整数型 
  36. 编辑框2.内容浏览文件夹 (“选择备份路径”, )
  37.   
  38. .子程序 _透明标签5_鼠标左键被放开,逻辑型 
  39. .参数 横向位置,整数型 
  40. .参数 纵向位置,整数型 
  41. .参数 功能键状态,整数型 
  42. .如果真 (取反 (改变目录 (删首尾空 (编辑框2.内容))))
  43.   信息框 (“备份路径不存在!”, #警告图标, “路径不存在”)
  44.   返回 ()
  45.   .如果真结束
  46. .如果真 (时钟1.时钟周期0)
  47.   时钟1.时钟周期100
  48.   透明标签5.标题“已开启”
  49.   透明标签6.标题“停止备份”
  50.   连续赋值 (, 编辑框1.禁止, 编辑框2.禁止, 编辑框3.禁止)
  51.   .如果真结束
  52. .子程序 _透明标签6_鼠标左键被放开,逻辑型 
  53. .参数 横向位置,整数型 
  54. .参数 纵向位置,整数型 
  55. .参数 功能键状态,整数型 
  56. .如果真 (时钟1.时钟周期0)
  57.   时钟1.时钟周期0
  58.   透明标签5.标题“开启备份”
  59.   透明标签6.标题“已停止”
  60.   上次备份 = “”
  61.   清除数组 (所有备份)
  62.   连续赋值 (, 编辑框1.禁止, 编辑框2.禁止, 编辑框3.禁止)
  63.   .如果真结束
  64. .子程序 _时钟1_周期事件 
  65. .局部变量 当前文件,文本型 
  66. .局部变量 文件名称,文本型 
  67. .局部变量 本次备份,文本型 
  68. .局部变量 i 
  69. 当前文件 = 删首尾空 (编辑框1.内容)
  70. .如果真 (文件是否存在 (当前文件))
  71.   本次备份 = 格式化时间 (取文件时间 (当前文件)) + 到文本 (取文件尺寸 (当前文件))
  72.  .如果真 (本次备份 ≠ 上次备份)
  73.     文件名称 = “AutoBak_”格式化时间 (取现行时间 ()) + “_”到文本 (取启动时间 ()) + “.tmp”
  74.    .如果真 (复制文件 (当前文件, 文件名称)) ' 开启备份时已改变目录到备份路径
  75.       上次备份 = 本次备份
  76.       加入成员 (所有备份, 文件名称)
  77.       .如果真结束
  78.     .如果真结束
  79.   .如果真结束
  80. .如果真 (到整数 (编辑框3.内容) > 0 取数组成员数 (所有备份) > 到整数 (编辑框3.内容))
  81.   i = 取数组成员数 (所有备份) - 到整数 (编辑框3.内容)
  82.  .计次循环首 (i, )
  83.     删除文件 (所有备份 [1])
  84.     删除成员 (所有备份, 1, 1)
  85.  .计次循环尾 ()
  86.   .如果真结束
  87. .子程序 格式化时间,文本型 
  88. .参数 时间,日期时间型 
  89. .局部变量 格式,文本型 
  90. .局部变量 分割,整数型,,"6" 
  91. .局部变量 i 
  92. 分割 [1] = 取年份 (时间)
  93. 分割 [2] = 取月份 (时间)
  94. 分割 [3] = 取日 (时间)
  95. 分割 [4] = 取小时 (时间)
  96. 分割 [5] = 取分钟 (时间)
  97. 分割 [6] = 取秒 (时间)
  98.   
  99. .计次循环首 (6, i)
  100.  .如果真 (分割 [i] ≤ 9)
  101.     格式 = 格式 + “0”
  102.     .如果真结束
  103.   格式 = 格式 + 到文本 (分割 [i])
  104. .计次循环尾 ()
  105.   
  106. 返回 (格式)
  107. #鸿言_易代码格式化模块 HyStudio.Net
人脉管理软件

鸿言

鸿言软件工作室

文章评论(2)

  • 求索

    :grin: 多谢前辈的赐教 :grin:

    2014/09/18
  • 点击发消息