Здравствуйте, как можно сделать, чтобы нажав на кнопку, "Выделить всё"-выделялись все чекбоксы(а лучше из списка, на всякий случай)?
код:
код:
Код:
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_icon=..\..\..\Мои документы\Web\_Images\AutoIt Black Avatar.ico
#AutoIt3Wrapper_Res_Language=1049
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <ProgressConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=C:\Documents and Settings\Admin\Рабочий стол\AutoIt\opera_ac_backup\backup_opera_AC_0.4.kxf
Global $Opera_Dir = FileSelectFolder("Укажите путь к папке оперы ас", "", 5)
Global $Backup_Dir = $Opera_Dir & "\Op_Backup"
;$initial_dir =
$Form1 = GUICreate("Form1", 148, 129, 244, 136)
$backUp = GUICtrlCreateRadio("backUp", 40, 16, 105, 17)
$restore = GUICtrlCreateRadio("restore", 40, 40, 105, 17)
$Button_Next = GUICtrlCreateButton("Далее", 40, 72, 65, 25, $WS_GROUP)
$hMain_GUI = GUICreate("OAC Backup & Recovery", 546, 386, 212, 90)
GUISetIcon($Opera_Dir & "\OperaAC.exe")
GUISetCursor(2)
$First_Checkbox = GUICtrlCreateDummy() + 1 ;Метка первого пункта
$Checkbox1 = GUICtrlCreateCheckbox("Почта", 40, 40, 81, 25)
$Checkbox2 = GUICtrlCreateCheckbox("Сессии", 40, 70, 81, 25)
$Checkbox3 = GUICtrlCreateCheckbox("Контакты", 40, 100, 81, 25)
$Checkbox4 = GUICtrlCreateCheckbox("Пароли", 40, 130, 81, 25)
$Checkbox5 = GUICtrlCreateCheckbox("Список загрузок", 40, 160, 121, 25)
$Checkbox6 = GUICtrlCreateCheckbox("Глобальная история", 40, 190, 129, 25)
$Checkbox7 = GUICtrlCreateCheckbox("Набранные адреса в адресной строчке", 40, 220, 241, 25)
$Checkbox8 = GUICtrlCreateCheckbox("Поиск", 40, 250, 73, 25)
$Checkbox9 = GUICtrlCreateCheckbox("Настройки оперы", 40, 280, 73, 25)
$Checkbox10 = GUICtrlCreateCheckbox("Панели", 40, 310, 73, 25)
$Last_Checkbox = GUICtrlCreateDummy() - 1 ;Метка последнего пункта (для определения количества пунктов)
$Progress1 = GUICtrlCreateProgress(32, 354, 329, 16)
GUICtrlSetColor(-1, 0x008000)
$Button1 = GUICtrlCreateButton("backup", 384, 351, 139, 21, $WS_GROUP)
$Button_ALL = GUICtrlCreateButton("Выделить всё", 384, 331, 139, 21, $WS_GROUP)
$Label1 = GUICtrlCreateLabel($Opera_Dir, 40, 20, 492, 17)
$size1 = DirGetSize($Opera_Dir & "\profile\mail")
$size2 = DirGetSize($Opera_Dir & "\profile\sessions")
$size3 = FileGetSize($Opera_Dir & "\profile\contacts.adr")
$size4 = FileGetSize($Opera_Dir & "\profile\wand.dat")
$size5 = FileGetSize($Opera_Dir & "\profile\download.dat")
$size6 = FileGetSize($Opera_Dir & "\profile\mail\global_history.dat")
$size7 = FileGetSize($Opera_Dir & "\profile\mail\typed_history.xml")
$size8 = FileGetSize($Opera_Dir & "\defaults\search.ini")
;$size_percent=
GUISetState(@SW_SHOW, $Form1)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button_Next
If GUICtrlRead($backUp) = $GUI_UNCHECKED & GUICtrlRead($restore) = $GUI_UNCHECKED Then
else
If GUICtrlRead($backUp) = $GUI_CHECKED Then GUISetState(@SW_SHOW, $hMain_GUI)
GUISetState(@SW_HIDE, $Form1);перейти к форме бэкапа
If GUICtrlRead($restore) = $GUI_CHECKED Then MsgBox(64, 'Title', 'Временно не работает. Пожалуйста выберите первый пункт', 0, $Form1)
GUISetState(@SW_SHOW, $Form1);перейти к форме бэкапа
EndIf
Case $Button1
DirCreate($Backup_Dir)
$iProgress = 10 ;Задаём начальный прогресс
$iPrgrs_Step = 100 / (($Last_Checkbox - $First_Checkbox) + 1) ;Вычисляем степень прогресса (100 делим на общее число птичек)
If GUICtrlRead($Checkbox1) = $GUI_CHECKED Then
GUICtrlSetData($Progress1, $iProgress) ;Задаём прогресс
$iProgress += $iPrgrs_Step ;Прибавляем к прогрессу вычесленную степень прогресса
Sleep(3000) ;Пауза для отладки, вместо копирования
DirCopy($Opera_Dir & "\profile\mail", $Backup_Dir & "\profile\mail", 1)
EndIf
if DirCopy($Opera_Dir & "\profile\mail", $Backup_Dir & "\profile\mail") = 1 then
$Pic1 = GUICtrlCreatePic("C:\Documents and Settings\Admin\Мои документы\Web\_Images\topicsolved48.gif", 16, 70, 22, 22)
GUICtrlSetState(-1, $GUI_HIDE)
Endif
;почта
If GUICtrlRead($Checkbox2) = $GUI_CHECKED Then
GUICtrlSetData($Progress1, $iProgress) ;Тут уже используется уровень прогресса в зависимости от предыдущего пункта (если тут отмечен, прогресс увеличился)
$iProgress += $iPrgrs_Step ;Прибавляем к прогрессу вычесленную степень прогресса
Sleep(3000) ;Пауза для отладки, вместо копирования
DirCopy($Opera_Dir & "\profile\sessions", $Backup_Dir & "\profile\sessions", 1)
EndIf
;сессии
If GUICtrlRead($Checkbox3) = $GUI_CHECKED Then
GUICtrlSetData($Progress1, $iProgress) ;Тут уже используется уровень прогресса в зависимости от предыдущего пункта (если тут отмечен, прогресс увеличился)
$iProgress += $iPrgrs_Step ;Прибавляем к прогрессу вычесленную степень прогресса
Sleep(3000) ;Пауза для отладки, вместо копирования
FileCopy($Opera_Dir & "\profile\contacts.adr", $Backup_Dir & "\profile\", 9)
EndIf
;контакты
If GUICtrlRead($Checkbox4) = $GUI_CHECKED Then
GUICtrlSetData($Progress1, $iProgress)
$iProgress += $iPrgrs_Step
Sleep(3000)
FileCopy($Opera_Dir & "\profile\wand.dat", $Backup_Dir & "\profile\", 9)
EndIf
;пароли
If GUICtrlRead($Checkbox5) = $GUI_CHECKED Then
GUICtrlSetData($Progress1, $iProgress)
$iProgress += $iPrgrs_Step
Sleep(3000)
FileCopy($Opera_Dir & "\profile\download.dat", $Backup_Dir & "\profile\", 9)
EndIf
;список загрузок
If GUICtrlRead($Checkbox6) = $GUI_CHECKED Then
GUICtrlSetData($Progress1, $iProgress)
$iProgress += $iPrgrs_Step
Sleep(3000)
FileCopy($Opera_Dir & "\profile\global_history.dat", $Backup_Dir & "\profile\", 9)
EndIf
;глобальная история
If GUICtrlRead($Checkbox7) = $GUI_CHECKED Then
GUICtrlSetData($Progress1, $iProgress)
$iProgress += $iPrgrs_Step
Sleep(3000)
FileCopy($Opera_Dir & "\profile\typed_history.xml", $Backup_Dir & "\profile\", 9)
EndIf
;Набранные адреса в адресной строчке
If GUICtrlRead($Checkbox8) = $GUI_CHECKED Then
GUICtrlSetData($Progress1, $iProgress)
$iProgress += $iPrgrs_Step
Sleep(3000)
FileCopy($Opera_Dir & "\defaults\search.ini", $Backup_Dir & "\profile\", 9)
EndIf
;поиск
If GUICtrlRead($Checkbox9) = $GUI_CHECKED Then
GUICtrlSetData($Progress1, $iProgress)
$iProgress += $iPrgrs_Step
Sleep(3000)
FileCopy($Opera_Dir & "\profile\operaprefs.ini", $Backup_Dir & "\profile\", 9)
EndIf
If GUICtrlRead($Checkbox10) = $GUI_CHECKED Then
GUICtrlSetData($Progress1, $iProgress)
$iProgress += $iPrgrs_Step
Sleep(3000)
FileCopy($Opera_Dir & "\ui\standard_toolbar.ini", $Backup_Dir & "\ui\", 9)
EndIf
;и т.д.
GUICtrlSetData($Progress1, 100) ;Задаём прогресс на 100, в знак завершения резервирования
MsgBox(64, 'Title', 'Копирование успешно завершено.', 0, $hMain_GUI) ;Выводим сообщение
GUICtrlSetData($Progress1, 0) ;Задаём прогресс на 0, как заказывал :)
EndSwitch
WEnd