找回密码
 加入
搜索
查看: 2312|回复: 3

[AU3基础] 【已解决】AU3备份,路径更新问题...

[复制链接]
发表于 2011-11-1 22:02:05 | 显示全部楼层 |阅读模式
本帖最后由 丶Test 于 2011-11-16 14:07 编辑

问题描述:

1、大家看图吧,下面是程序的界面,注意 Test 栏是空白的

2、这个是BAK栏,简单的一个备份界面,其中默认路径是 C:\Program Files ,

3、这里的路径,我选择了H盘,

4、问题来了,因为代码的不完善(菜鸟源码,大家海涵),会出现下面的问题, 当我选择TEST栏的时候,上次备份时间 和 容量 会在这里显示出来,麻烦大家帮忙修整下这个错误,谢谢了。


源码:
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <ProgressConstants.au3>
#include <StaticConstants.au3>
#include <TabConstants.au3>
#include <WindowsConstants.au3>
#include <WinAPI.au3>
#include <ComboConstants.au3>
#include <GUIConstants.au3>
#include <GuiStatusBar.au3>
#include <EditConstants.au3>
#include <GuiTreeView.au3>
#include <TreeViewConstants.au3>
#include <StaticConstants.au3>

Opt("TrayIconHide", 1) ;隐藏托盘图标
Opt("GUICloseOnESC", 0) ;按下WSC键时,不停止程序运行

;主窗体
$Form = GUICreate("test", 520, 403, -1, -1)
$Top_Pic = GUICtrlCreatePic(@TempDir & "\logo.jpg", 0, 0, 520, 73)
$PageControl1 = GUICtrlCreateTab(1, 80, 520, 267)

$TabSheet1 = GUICtrlCreateTabItem("test")

$TabSheet2 = GUICtrlCreateTabItem("bak")
$Button4 = GUICtrlCreateButton("开始备份", 434, 282, 67, 25)
$Group3 = GUICtrlCreateGroup("备份设置", 231, 181, 280, 137)
$Path_bak = "C:\Program Files"
$Size = DirGetSize("C:\Program Files")
$GetTimer = FileGetTime($Path_bak, 0)
$Timer = $GetTimer[0] & "/" & $GetTimer[1] & "/" & $GetTimer[2] & "  " & $GetTimer[3] & ":" & $GetTimer[4]
$Label2 = GUICtrlCreateLabel("上次备份时间:" & $Timer, 1, 327, 517, 18, 0x0300)
GUICtrlSetBkColor(-1, 0x007392E7)
$Input1 = GUICtrlCreateInput($Path_bak, 315, 231, 187, 22)
$Drivename = StringSplit($Path_bak, "")
$Label4 = GUICtrlCreateLabel("备份位置", 450, 210, 64, 18)
$Button3 = GUICtrlCreateButton("浏览(&O)", 240, 229, 67, 25)
$Label5 = GUICtrlCreateLabel("备份文件总大小:" & Round($Size / 1024 / 1024) & "MB", 240, 265, 231, 18)
$Label6 = GUICtrlCreateLabel("驱动器" & $Drivename[1] & "" & Round(DriveSpaceTotal($Path_bak), 0) & "MB" & "  " & Round(DriveSpaceFree($Path_bak), 0) & "MB 可用", 240, 290, 230, 18)
GUICtrlCreateGroup("", -99, -99, 1, 1)

$TabSheet3 = GUICtrlCreateTabItem("test")

GUISetState(@SW_SHOW)
#endregion ### END Koda GUI section ###

While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit
                Case $Button4
                        $open = bak()
                Case $Button3
                        $open = open()
        EndSwitch
WEnd

;设置安装目录
Func open()
        $Path_bak = FileSelectFolder("选择备份位置", "") ;显示一个文件夹选择对话框
        If Not @error Then
                If StringRight($Path_bak, 1) = "" Then ;StringRight为返回字符串中从右开始指定数量的字符
                        GUICtrlSetData($Input1, $Path_bak & "") ;GUICtrlSetData为修改指定控件的相关数据
                Else
                        GUICtrlSetData($Input1, $Path_bak & "")
                EndIf
        EndIf
        $Drivename = StringSplit($Path_bak, "")
        $Label6 = GUICtrlCreateLabel("驱动器" & $Drivename[1] & "" & Round(DriveSpaceTotal($Path_bak), 0) & "MB" & "  " & Round(DriveSpaceFree($Path_bak), 0) & "MB 可用", 240, 290, 180, 18)
        $GetTimer = FileGetTime($Path_bak, 0)
        $Timer = $GetTimer[0] & "/" & $GetTimer[1] & "/" & $GetTimer[2] & "  " & $GetTimer[3] & ":" & $GetTimer[4]
        $Label2 = GUICtrlCreateLabel("上次备份时间:" & $Timer, 1, 327, 516, 18, 0x0300)
        GUICtrlSetBkColor(-1, 0x007392E7)
EndFunc   ;==>open

Func bak()
        RunWait('"' & @ComSpec & '" /c cmd', '', @SW_HIDE)
EndFunc   ;==>bak

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2011-11-1 22:54:47 | 显示全部楼层
71行改为
GUICtrlSetData($Label6, "驱动器" & $Drivename[1] & "" & Round(DriveSpaceTotal($Path_bak), 0) & "MB" & "  " & Round(DriveSpaceFree($Path_bak), 0) & "MB 可用")
同理,74行改为
GUICtrlSetData($Label2, "上次备份时间:" & $Timer)
注释掉75行
 楼主| 发表于 2011-11-2 09:14:05 | 显示全部楼层
回复 2# afan

谢谢A版,我也试过SETDATA,但参数没用对,惭愧了...

问题追加:

当我把路径选择为跟目录下,(例:备份路径为 C:\ ),就会出现以下错误,

查了下,是说不能有 “ \ ”,这个问题求解,麻烦了,

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
 楼主| 发表于 2011-11-9 09:35:52 | 显示全部楼层
回复  afan

谢谢A版,我也试过SETDATA,但参数没用对,惭愧了...

问题追加:

当我 ...
丶Test 发表于 2011-11-2 09:14



    代码优化了下,问题已解决,
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-10-1 09:43 , Processed in 0.087218 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表