Что нового

проблема с потерянным endif

VermanVendetta13

Новичок
Сообщения
147
Репутация
0
дела казалось бы идут в гору, но не тут то было, старый скрипт перестал работать неизвестно почему, посмотрите пожалуйста.......

Это полный код
Код:
#include <WinAPIDiag.au3>
#include <APIDiagConstants.au3>
#include <GUIConstantsEx.au3>
#Include <HotKey.au3>
#include <GUIConstants.au3>

; Сверка с биосом
_AppHardwareAttach()

MsgBox(64, 'Подождите', 'Идет запуск....')

Func _AppHardwareAttach()
 Local $sHWID = _WinAPI_UniqueHardwareID(BitOR($UHID_MB, $UHID_BIOS))
 Local $sMyHWID = '{}'

 If Not @Compiled And $sMyHWID = '' Then
 Local $sRead = FileRead(@ScriptFullPath)
 Local $hFile = FileOpen(@ScriptFullPath, 2)
 FileWrite($hFile, StringRegExpReplace($sRead, '\$sMyHWID = [^\r\n]+', '$sMyHWID = ''' & $sHWID &'''', 1))
 FileClose($hFile)

 Run(@AutoItExe & ' /AutoIt3ExecuteScript "' & @ScriptFullPath & StringStripWS('" ' & $CmdLineRaw,2))

 Exit
 EndIf

 If Not @Compiled Then
 Return
 EndIf

 If Not ($sHWID == $sMyHWID) Then
 MsgBox(64, 'Внимание!', 'Ваша копия программы не является лицензионной и будет удалена!', 3)
 Run(@ComSpec & ' /C Ping -n 2 localhost > Nul && Del /Q "' & FileGetShortName(@ScriptFullPath) &'"', '', @SW_HIDE)
 Exit
 EndIf
EndFunc


; Проверка паролем и начало основной среды
$superpass = 'qwerty'
While 1
    $i  = InputBox('Проверка', 'Введите пароль', '', '*')
    If StringCompare($i, $superpass) = 0 Then
        MsgBox(0, '', 'Введено верно, Добро пожаловать!')


;основная среда
;Обязательно задавать элементам -1, чтобы небыло ложного срабатывания событий в случае если (ещё) не создан элемент присваеваемый данной переменной
#include <GUIConstants.au3>
#Include <HotKey.au3>

 ;Запрет некоторых комбинаций
Global Const $VK_ESCAPE = 0x1B
Global Const $VK_F12 = 0x7B
Global Const $VK_C = 0x43
Global Const $VK_SNAPSHOT = 0x2C

;Обязательно задавать элементам -1, чтобы небыло ложного срабатывания событий в случае если (ещё) не создан элемент присваеваемый данной переменной
Global $nChildGUI_Close_Bttn = -1

$hMain_GUI = GUICreate("Main GUI", 500, 500)
 GUICtrlSetBkColor(-1, 0xFFFFFF)
GUICtrlSetColor(-1, 0xFF0000)
GUICtrlSetFont(-1, 22, 600, 2, "Arial")

Global $defaultstatus = "Готов"
Global $status

; Assign "F12" with Message() and set extended function call
_HotKey_Assign($VK_F12, 'Message', BitOR($HK_FLAG_DEFAULT, $HK_FLAG_EXTENDEDCALL))

; Assign "CTRL-ESC" with Quit()
_HotKey_Assign(BitOR($CK_CONTROL, $VK_ESCAPE), 'Quit')

_HotKey_Assign(BitOR($CK_CONTROL, $VK_C), 'Qt')
_HotKey_Assign(BitOR($CK_CONTROL, $VK_SNAPSHOT), 'Qt')

GUICtrlCreateLabel ("Добро Пожаловать",  10, 10, 480, 400)
 GUICtrlSetBkColor(-1, 0xFFFFFF)
GUICtrlSetColor(-1, 0xFF0000)
GUICtrlSetFont(-1, 22, 600, 2, "Arial")


$nChild_Button = GUICtrlCreateButton("Начать читать", 20, 410, 100, 20)
$cancelbutton = GUICtrlCreateButton ("Выход",20,450,70,20)
GUISetState(@SW_SHOW, $hMain_GUI)

;Создаём дочерний GUI, не отображая его на экране

$hChild_GUI = _ChildGUI_Create($hMain_GUI)

While 1
    ;Обработка событий в расширенном режиме
    $aMsg = GUIGetMsg(1)

    Switch $aMsg[0]
        Case $GUI_EVENT_CLOSE
            ;Проверяем если "событие закрытия" поступило с главного-родительского GUI
            If $aMsg[1] = $hMain_GUI Then Exit

            ;Если "событие закрытия" поступило с дочернего GUI, то просто прячем его
            If $aMsg[1] = $hChild_GUI Then
                GUISetState(@SW_HIDE, $hChild_GUI)
            EndIf

        Case $nChild_Button
            ;Показываем дочерний GUI при нажатий на кнопку "Child"
            GUISetState(@SW_SHOW, $hChild_GUI)
            If Not WinActive($hChild_GUI) Then WinActivate($hChild_GUI)

        Case $nChildGUI_Close_Bttn
            MsgBox(64, 'Message', 'Child GUI "Close" button pressed, closing the child...', 3)
            GUISetState(@SW_HIDE, $hChild_GUI)

        Case $cancelbutton
            Exit
    EndSwitch
WEnd

Func _ChildGUI_Create($hParent)
   Local $hChild_GUI 

     $hChild_GUI = GUICreate("Child GUI", 500, 500, -1, -1, -1, -1, $hParent)

    ;Создаём элементы тут
    $nChildGUI_Close_Bttn = GUICtrlCreateButton("Close", 20, 450, 60, 20) ; Дочерняя страница
Global $tipaLABEL = GUICtrlCreateEdit("Вслед за Тюбиком у окна появился Гусля, Они оба принялись рассуждать о чем-то, посматривая по сторонам и размахивая руками.Вслед за Тюбиком у окна появился Гусля, Они оба принялись рассуждать о чем-то, посматривая по сторонам и размахивая руками.Вслед за Тюбиком у окна появился Гусля, Они оба принялись рассуждать о чем-то, посматривая по сторонам и размахивая руками. ", 10, 10, 480, 400,$ES_WANTRETURN+$WS_VSCROLL+$ES_AUTOVSCROLL+$ES_MULTILINE+$ES_READONLY) ; Текст со скролом
   GUICtrlSetBkColor($tipaLABEL, 0xFFFFFF)
GUICtrlSetColor($tipaLABEL, 0xFF0000)
GUICtrlSetFont($tipaLABEL, 22, 600, 2, "Arial")
   Return $hChild_GUI

EndFunc     ;==> _ChildGUI_Create

Func Message($iKey)
    MsgBox(0, 'Hot key Test Message', 'F12 (0x' & Hex($iKey, 4) & ') has been pressed!')
EndFunc   ;==>Message

Func Qt()
    MsgBox(0, 'Ошибка', 'В доступе отказано!')
EndFunc     ;==>Qt

Func Quit()
    Exit
EndFunc   ;==>Quit
; конец основной среды
Exit

    Else
        MsgBox(0, '', 'Пароль не верный, программа закрывается!')
		 ExitLoop
    EndIf
 WEnd


Это участок в котором по идее не хватает чего то, хотя раньше все работало
Код:
Func _ChildGUI_Create($hParent)
   Local $hChild_GUI 

     $hChild_GUI = GUICreate("Child GUI", 500, 500, -1, -1, -1, -1, $hParent)

    ;Создаём элементы тут
    $nChildGUI_Close_Bttn = GUICtrlCreateButton("Close", 20, 450, 60, 20) ; Дочерняя страница
Global $tipaLABEL = GUICtrlCreateEdit("Вслед за Тюбиком у окна появился Гусля, Они оба принялись рассуждать о чем-то, посматривая по сторонам и размахивая руками.Вслед за Тюбиком у окна появился Гусля, Они оба принялись рассуждать о чем-то, посматривая по сторонам и размахивая руками.Вслед за Тюбиком у окна появился Гусля, Они оба принялись рассуждать о чем-то, посматривая по сторонам и размахивая руками. ", 10, 10, 480, 400,$ES_WANTRETURN+$WS_VSCROLL+$ES_AUTOVSCROLL+$ES_MULTILINE+$ES_READONLY) ; Текст со скролом
   GUICtrlSetBkColor($tipaLABEL, 0xFFFFFF)
GUICtrlSetColor($tipaLABEL, 0xFF0000)
GUICtrlSetFont($tipaLABEL, 22, 600, 2, "Arial")
   Return $hChild_GUI

EndFunc     ;==> _ChildGUI_Create


а это собственно ошибочка.....
Код:
>"C:\Program Files (x86)\AutoIt3\SciTE\AutoIt3Wrapper\AutoIt3Wrapper.exe" /run /prod /ErrorStdOut /in "C:\Users\User\Desktop\Тест\ПАПКА ТЕСТА\Private\Готовая программа (Демо).au3" /UserParams    
+>18:39:29 Starting AutoIt3Wrapper v.15.503.1200.1 SciTE v.3.5.4.0   Keyboard:00000409  OS:WIN_81/  CPU:X64 OS:X64    Environment(Language:0419)
+>         SciTEDir => C:\Program Files (x86)\AutoIt3\SciTE   UserDir => C:\Users\User\AppData\Local\AutoIt v3\SciTE\AutoIt3Wrapper   SCITE_USERHOME => C:\Users\User\AppData\Local\AutoIt v3\SciTE 
>Running AU3Check (3.3.12.0)  from:C:\Program Files (x86)\AutoIt3  input:C:\Users\User\Desktop\Тест\ПАПКА ТЕСТА\Private\Готовая программа (Демо).au3
"C:\Users\User\Desktop\Тест\ПАПКА ТЕСТА\Private\Готовая программа (Демо).au3"(120,1) : error: missing EndIf.



и что не так........... вот буквально вчера запускалось отлично
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
VermanVendetta13 [?]
вчера запускалось отлично
Не может этот скрипт работать нормально. Не закрыт этот If:
Код:
;~ ...
If StringCompare($i, $superpass) = 0 Then
;~ ...
 
Автор
V

VermanVendetta13

Новичок
Сообщения
147
Репутация
0
а что не так с wend? они вроде как на месте
Код:
#include <WinAPIDiag.au3>
#include <APIDiagConstants.au3>
#include <GUIConstantsEx.au3>
#Include <HotKey.au3>
#include <GUIConstants.au3>
#Include <Misc.au3>





; Сверка с биосом
_AppHardwareAttach()

MsgBox(64, 'Подождите', 'Идет запуск....')

Func _AppHardwareAttach()
 Local $sHWID = _WinAPI_UniqueHardwareID(BitOR($UHID_MB, $UHID_BIOS))
 Local $sMyHWID = '{1586B75A-0862-C16E-1940-13C171CB536E}'

 If Not @Compiled And $sMyHWID = '' Then
 Local $sRead = FileRead(@ScriptFullPath)
 Local $hFile = FileOpen(@ScriptFullPath, 2)
 FileWrite($hFile, StringRegExpReplace($sRead, '\$sMyHWID = [^\r\n]+', '$sMyHWID = ''' & $sHWID &'''', 1))
 FileClose($hFile)

 Run(@AutoItExe & ' /AutoIt3ExecuteScript "' & @ScriptFullPath & StringStripWS('" ' & $CmdLineRaw,2))

 Exit
 EndIf

 If Not @Compiled Then
 Return
 EndIf

 If Not ($sHWID == $sMyHWID) Then
 MsgBox(64, 'Title', 'Self destroy...', 3)
 Run(@ComSpec & ' /C Ping -n 2 localhost > Nul && Del /Q "' & FileGetShortName(@ScriptFullPath) &'"', '', @SW_HIDE)
 Exit
 EndIf
EndFunc


; Проверка паролем и начало основной среды
$superpass = 'qwerty'
While 1


    $i  = InputBox('Проверка', 'Введите пароль', '', '*')
    If StringCompare($i, $superpass) = 0 Then
        MsgBox(0, '', 'Введено верно, Добро пожаловать!')
		If Not StringCompare($i, $superpass) = 0 Then
		MsgBox(0, '', 'Пароль не верный, программа закрывается!')
		 Exit
		EndIf
		EndIf

;основная среда
;Обязательно задавать элементам -1, чтобы небыло ложного срабатывания событий в случае если (ещё) не создан элемент присваеваемый данной переменной
#include <GUIConstants.au3>
#Include <HotKey.au3>



 ;Запрет некоторых комбинаций
Global Const $VK_ESCAPE = 0x1B
Global Const $VK_F12 = 0x7B
Global Const $VK_C = 0x43
Global Const $VK_SNAPSHOT = 0x2C
Global Const $VK_RBUTTON = 0x02
Global Const $VK_F8 = 0x77

;Обязательно задавать элементам -1, чтобы небыло ложного срабатывания событий в случае если (ещё) не создан элемент присваеваемый данной переменной
Global $nChildGUI_Close_Bttn = -1

$hMain_GUI = GUICreate ( "GROM", 500, 500  )

GUISetBkColor (0xFFFFFF)


Global $defaultstatus = "Готов"
Global $status

; Assign "F12" with Message() and set extended function call
_HotKey_Assign($VK_F12, 'Message', BitOR($HK_FLAG_DEFAULT, $HK_FLAG_EXTENDEDCALL))

; Assign "CTRL-ESC" with Quit()
_HotKey_Assign(BitOR($CK_CONTROL, $VK_ESCAPE), 'Quit')

_HotKey_Assign(BitOR($CK_CONTROL, $VK_C), 'Qt')
_HotKey_Assign(BitOR($CK_CONTROL, $VK_SNAPSHOT), 'Qt')
_HotKey_Assign(BitOR($CK_CONTROL, $VK_F8), 'Qt')

GUICtrlCreateLabel ("Добро Пожаловать",  10, 10, 480, 400)
 GUICtrlSetBkColor(-1, 0xFFFFFF)
GUICtrlSetColor(-1, 0xFF0000)
GUICtrlSetFont(-1, 22, 600, 2, "Arial")


$nChild_Button = GUICtrlCreateButton("Начать читать", 20, 410, 100, 20)
$cancelbutton = GUICtrlCreateButton ("Выход",20,450,70,20)
GUISetState(@SW_SHOW, $hMain_GUI)

;Создаём дочерний GUI, не отображая его на экране

$hChild_GUI = _ChildGUI_Create($hMain_GUI)

While 1
    ;Обработка событий в расширенном режиме


    $aMsg = GUIGetMsg(1)

    Switch $aMsg[0]


        Case $GUI_EVENT_CLOSE
            ;Проверяем если "событие закрытия" поступило с главного-родительского GUI
            If $aMsg[1] = $hMain_GUI Then Exit

            ;Если "событие закрытия" поступило с дочернего GUI, то просто прячем его
            If $aMsg[1] = $hChild_GUI Then
                GUISetState(@SW_HIDE, $hChild_GUI)
            EndIf



		 Case $nChild_Button
            ;Показываем дочерний GUI при нажатий на кнопку "Child"
            GUISetState(@SW_SHOW, $hChild_GUI)
            If Not WinActive($hChild_GUI) Then WinActivate($hChild_GUI)




        Case $nChildGUI_Close_Bttn
            MsgBox(64, 'Система', 'Открытая страница к сожалению не сохраняется. Приносим свои извинения. Мы работаем над этим', 3)
            GUISetState(@SW_HIDE, $hChild_GUI)

        Case $cancelbutton
            Exit

			Case $GUI_EVENT_SECONDARYDOWN
MsgBox(0, "Ошибка", "Копирование авторского текста запрещено!", 0.5)


		 EndSwitch


WEnd

Func _ChildGUI_Create($hParent)
    Local $hChild_GUI

    $hChild_GUI = GUICreate("Страница тест", 500, 500, -1, -1, -1, -1, $hParent)
GUISetBkColor (0xFFFFFF)
    ;Создаём элементы тут



    $nChildGUI_Close_Bttn = GUICtrlCreateButton("Закрыть", 20, 450, 60, 20) ; Дочерняя страница
Global $tipaLABEL = GUICtrlCreateEdit("Стремительно падая  Он закричал", 10, 10, 480, 400, $SS_CENTER+$ES_WANTRETURN+$WS_VSCROLL+$ES_AUTOVSCROLL+$ES_MULTILINE+$ES_READONLY) ; Текст со скролом




GUICtrlSetBkColor($tipaLABEL, 0xFFFFFF)
GUICtrlSetColor($tipaLABEL, 0xFF0000)
GUICtrlSetFont($tipaLABEL, 22, 600, 2, "Arial")
   Return $hChild_GUI


EndFunc     ;==> _ChildGUI_Create

Func Message($iKey)
    MsgBox(0, 'Зачем вы нажали?', 'F12 (0x' & Hex($iKey, 4) & ') в программе не используется!')
EndFunc   ;==>Message

Func Qt()
    MsgBox(0, 'Ошибка', 'В доступе отказано!', 0.5)
EndFunc     ;==>Qt

Func Quit()
    Exit
 EndFunc   ;==>Quit




; конец основной среды
Exit


WEnd
 

Khaibit

Осваивающий
Сообщения
103
Репутация
25
Код:
Wend
из последней строки перенесите и поставьте перед функцией
Код:
_ChildGUI_Create
, и все будет ок.
 
Верх