Что нового

Преждевременное появление уведомления (MsgBox)

k790

Новичок
Сообщения
239
Репутация
1
Здравствуйте, подскажите пожалуйста, где у меня ошибка, касающаяся выскакивания сообщения, что бэкап завершён?(а если не трудно, то подскажите, где ещё ошибки есть, буду благодарен)
Код:
#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>

Global $Opera_Dir = 1 ;FileSelectFolder("Укажите путь к папке оперы ас", "", 5)
Global $Backup_Dir = $Opera_Dir & "\Op_Backup"
;$initial_dir = 

;$Form1 = GUICreate("Form1", 148, 129, 244, 136)

;$= GUICtrlCreateRadio("backUp", 40, 16, 105, 17)
;$ = 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("Сессии", 200, 40, 81, 25)
$Checkbox3 = GUICtrlCreateCheckbox("Контакты", 40, 70, 81, 25)
$Checkbox4 = GUICtrlCreateCheckbox("Пароли", 200, 70, 81, 25)
$Checkbox5 = GUICtrlCreateCheckbox("Список загрузок", 40, 100, 121, 25)
$Checkbox6 = GUICtrlCreateCheckbox("Глобальная история", 200, 100, 129, 25)
$Checkbox7 = GUICtrlCreateCheckbox("Набранные адреса в адресной строчке", 200, 130, 241, 25)
$Checkbox8 = GUICtrlCreateCheckbox("Поиск", 40, 130, 73, 25)
$Checkbox9 = GUICtrlCreateCheckbox("Настройки оперы", 40, 160, 73, 25)
$Checkbox10 = GUICtrlCreateCheckbox("Панели", 200, 160, 73, 25)

$Last_Checkbox = GUICtrlCreateDummy() - 1 ;Метка последнего пункта (для определения количества пунктов)
$Progress1 = GUICtrlCreateProgress(24, 354, 329, 16)
GUICtrlSetColor(-1, 0x008000)
$start="backup"
$Button1 = GUICtrlCreateButton($start, 384, 351, 139, 21, $WS_GROUP)
$Button_ALL = GUICtrlCreateButton("Выделить всё", 384, 331, 139, 21, $WS_GROUP)
$backUp  = GUICtrlCreateRadio("buckup", 200, 210, 75, 33)
$restore = GUICtrlCreateRadio("Recovery", 384, 210, 83, 33)
$Label1 = GUICtrlCreateLabel("Где находится опера АС?", 24, 222, 133, 17)
$Label2 = GUICtrlCreateLabel("$Opera_Dir", 32, 251, 490, 15)
$Label3 = GUICtrlCreateLabel("$Opera_Dir", 32, 312, 490, 15)
$Label4 = GUICtrlCreateLabel("Где (будет) находиться архив настроек?", 24, 282, 490, 15)
$Group1 = GUICtrlCreateGroup("", 24, 238, 497, 33)
$Group2 = GUICtrlCreateGroup("", 24, 298, 497, 33)

$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, $hMain_GUI)

While 1
    $nMsg = GUIGetMsg()
    
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
        Case $Button_ALL
            Local $var, $count=0, $MaxCount = 10
            For $i = $Checkbox1 To $Checkbox10 Step 1
                $var = GUICtrlRead($i)
                If $var = 1 Then
                    For $i = $Checkbox1 To $Checkbox10 Step 1
                        GUICtrlSetState($i, $GUI_UNCHECKED)
                    Next
                ElseIf GUICtrlRead($var) = 4 Then
                    $count = $count + 1
                    If $Count = $MaxCount Then
                        For $i = $Checkbox1 To $Checkbox10 Step 1
                            GUICtrlSetState($i, $GUI_CHECKED)
                        Next
                    EndIf
                EndIf
            Next

                Case $Button1, $start
            DirCreate($Backup_Dir)
            If GUICtrlRead($backUp) = $GUI_CHECKED Then
                $start = "backUp"
                
            $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
        else
            If GUICtrlRead($restore) = $GUI_CHECKED Then
                $start="Recovery"
            EndIf
            
            ;и т.д.
            
            GUICtrlSetData($Progress1, 100) ;Задаём прогресс на 100, в знак завершения резервирования
            MsgBox(64, 'Title', 'Копирование успешно завершено.', 0, $hMain_GUI) ;Выводим сообщение
            GUICtrlSetData($Progress1, 0) ;Задаём прогресс на 0, как заказывал :)
    EndSwitch
WEnd


Если поможет, то эта ошибка появилась после того, как я прописал переключатели в
Код:
Case $Button1, $start



Рабочий код:

Код:
#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>


Global $Opera_Dir = FileSelectFolder("Укажите путь к папке оперы ас", "", 5)
Global $Backup_Dir = $Opera_Dir & "\Op_Backup"
;$initial_dir = 

;$Form1 = GUICreate("Form1", 148, 129, 244, 136)

;$= GUICtrlCreateRadio("backUp", 40, 16, 105, 17)
;$ = 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("Сессии", 200, 40, 81, 25)
$Checkbox3 = GUICtrlCreateCheckbox("Контакты", 40, 70, 81, 25)
$Checkbox4 = GUICtrlCreateCheckbox("Пароли", 200, 70, 81, 25)
$Checkbox5 = GUICtrlCreateCheckbox("Список загрузок", 40, 100, 121, 25)
$Checkbox6 = GUICtrlCreateCheckbox("Глобальная история", 200, 100, 129, 25)
$Checkbox7 = GUICtrlCreateCheckbox("Набранные адреса в адресной строчке", 200, 130, 241, 25)
$Checkbox8 = GUICtrlCreateCheckbox("Поиск", 40, 130, 73, 25)
$Checkbox9 = GUICtrlCreateCheckbox("Настройки оперы", 40, 160, 73, 25)
$Checkbox10 = GUICtrlCreateCheckbox("Панели", 200, 160, 73, 25)

$Last_Checkbox = GUICtrlCreateDummy() - 1 ;Метка последнего пункта (для определения количества пунктов)
$Progress1 = GUICtrlCreateProgress(24, 354, 329, 16)
GUICtrlSetColor(-1, 0x008000)
$start="backup"
$Button1 = GUICtrlCreateButton($start, 384, 351, 139, 21, $WS_GROUP)
$Button_ALL = GUICtrlCreateButton("Выделить всё", 384, 331, 139, 21, $WS_GROUP)
$backUp  = GUICtrlCreateRadio("buckup", 200, 210, 75, 33)
$restore = GUICtrlCreateRadio("Recovery", 384, 210, 83, 33)
$Label1 = GUICtrlCreateLabel("Где находится опера АС?", 24, 222, 133, 17)
$Label2 = GUICtrlCreateLabel($Opera_Dir, 32, 251, 490, 15)
$Label3 = GUICtrlCreateLabel("$Opera_Dir", 32, 312, 490, 15)
$Label4 = GUICtrlCreateLabel("Где (будет) находиться архив настроек?", 24, 282, 490, 15)
$Group1 = GUICtrlCreateGroup("", 24, 238, 497, 33)
$Group2 = GUICtrlCreateGroup("", 24, 298, 497, 33)

$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, $hMain_GUI)

While 1
    $nMsg = GUIGetMsg()
    
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
        Case $Button_ALL
            Local $var, $count=0, $MaxCount = 10
            For $i = $Checkbox1 To $Checkbox10 Step 1
                $var = GUICtrlRead($i)
                If $var = 1 Then
                    For $i = $Checkbox1 To $Checkbox10 Step 1
                        GUICtrlSetState($i, $GUI_UNCHECKED)
                    Next
                ElseIf GUICtrlRead($var) = 4 Then
                    $count = $count + 1
                    If $Count = $MaxCount Then
                        For $i = $Checkbox1 To $Checkbox10 Step 1
                            GUICtrlSetState($i, $GUI_CHECKED)
                        Next
                    EndIf
                EndIf
            Next

                Case $Button1;, $start
            DirCreate($Backup_Dir)
    ;        If GUICtrlRead($backUp) = $GUI_CHECKED Then
     ;           $start = "backUp"
                
            $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
     ;   else
      ;      If GUICtrlRead($restore) = $GUI_CHECKED Then
       ;         $start="Recovery"
        ;    EndIf
            
            ;и т.д.
            
            GUICtrlSetData($Progress1, 100) ;Задаём прогресс на 100, в знак завершения резервирования
            MsgBox(64, 'Title', 'Копирование успешно завершено.', 0, $hMain_GUI) ;Выводим сообщение
            GUICtrlSetData($Progress1, 0) ;Задаём прогресс на 0, как заказывал :)
    EndSwitch
WEnd
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
Re: Ошибка, касающаяся выскакивания сообщения

Думаю название стоит придумать более вразумительное, когда я заходил в тему я думал оно вообще касается относительно высказываний на форуме.
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
k790
Если Вы выкладываете нерабочий код и хотите, чтобы за Вас его полностью переписали, то Вам в Стол заказов, ИМХО.
 
Автор
K

k790

Новичок
Сообщения
239
Репутация
1
madmasles
Найди в моём 1 сообщении просьбу о переписке!
Слушай, если я новичок, есть желание, но нет знаний языка, то что мне вообще забить на него?
В коде есть "ошибка", то есть вроде правильно, а не то, могу выложить ещё код(от которого я дошёл, до этого кода)
Добавил рабочий код
 
Верх