Автор Тема: [Элементы GUI] Требуется оптимизация к программе  (Прочитано 291 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн VermanVendetta13 [?]

  • Новичок
  • *
  • Сообщений: 147
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Версия AutoIt:  3.3.14.2

Описание:
Это программа  предназначенная для детей из школы Робототехники. Она открывает схемы сборки роботов. Я и преподавательский состав можем запрограммировать робота, но действительно круто написать программу для ПК нам трудно
Необходимо оптимизировать программу, так как она работает медленно и не стабильно.

Проблемы выявленные лично мной:
1) Кнопки реагируют не с первого раза ( Иногда приходится нажимать по 3-10 раз, чтоб программа сработала)
2) чтобы закрыть программу (с любой вкладки) необходимо нажать на крестик или специальную кнопку по 3-4 раза
3) Из вкладки "Для двоих" нельзя закрыть программу. так как она начинает виснуть. прога как бы закрыта, но окна не закрываются и приходится их закрывать через диспетчер
4) при выборе следующей вкладки ( пример: переходим во вкладку "Для одного") предыдущее окно не закрывается (пробовал через Exit и ExitLoop, но не справился)
5) в главном окне (где выбор урока) создана "отключенная" кнопка (В верху самая правая). В коде она отвечает за выход в окно выбора "для одного" или "для двоих". мне не получилось ее применить
6) Во вкладке "Для двоих" если урока вдруг нет, то прога автоматически закрывается
(скрипт есть в файле залитом на диск) Код программы:
Код: AutoIt [Выделить]



#Include <GUIConstantsEx.au3>
#Include <Skin.au3>
#include<WindowsConstants.au3>
#include<GuiconstantsEx.au3>
#Include <GUIScroll.au3>
#include "MouseOnEvent.au3"
#include "WinAPI.au3"
#include "ButtonConstants.au3"
#include "File.au3"
#include <GUIConstantsEx.au3>
#include <File.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <GDIPlus.au3>
#Include <WinAPI.au3>
#include <GUIConstants.au3>
#include <Word.au3>
#include <WindowsConstants.au3>
#include <StructureConstants.au3>
#include <GuiScrollBars.au3>
#include <ScrollBarConstants.au3>
#include <WinAPIFiles.au3>
#include<WindowsConstants.au3>
#include "MouseOnEvent.au3"
#include <WinAPIDiag.au3>
#include <APIDiagConstants.au3>
#Include <HotKey.au3>
#Include <Misc.au3>




MsgBox (64, "Внимание!", "Добро пожаловать в Beta-версию программы 'Концептор'! Данная версия может работать нестабильно, если у вас возникнут проблеммы при работе с программой, то обратитесь к преподавателю! ")


   Zastavka ()   ;;;;;;;;;Вывод картинки заставки
Func Zastavka ()
Global $Form1 = GUICreate("Form1", 1000, 500, -1, -1, BitOR($WS_MINIMIZEBOX,$WS_POPUP,$WS_GROUP), BitOR($WS_EX_TOOLWINDOW,$WS_EX_WINDOWEDGE,$WS_EX_LAYERED ))

_GDIPlus_StartUp()
$hImage   = _GDIPlus_ImageLoadFromFile(@ScriptDir&"\concept.png")
$hGraphic = _GDIPlus_GraphicsCreateFromHWND($Form1)

WinSetTrans($Form1, "", 0);
GUISetState(@SW_SHOW,$Form1)
For $i = 0 To 255 Step 2
    _WinAPI_RedrawWindow($Form1, 0, 0, $RDW_UPDATENOW)
    _GDIPlus_GraphicsDrawImage($hGraphic, $hImage, 0, 0)
    _WinAPI_RedrawWindow($Form1, 0, 0, $RDW_VALIDATE)
    WinSetTrans($Form1, "", $i);Прозрачность 0-255
    Sleep(10)
Next
Sleep(2000)
For $i = 255 To 0 Step -2
    _WinAPI_RedrawWindow($Form1, 0, 0, $RDW_UPDATENOW)
    _GDIPlus_GraphicsDrawImage($hGraphic, $hImage, 0, 0)
    _WinAPI_RedrawWindow($Form1, 0, 0, $RDW_VALIDATE)
    WinSetTrans($Form1, "", $i);Прозрачность 0-255
    Sleep(10)
Next
GUIDelete ($Form1 )
EndFunc
; ShellExecute ("C:\Users\Lego WeDo 5\Desktop\Для Урока 7\Схема сборки.pps")
Vibor ()
Func Vibor ()
Global $Button[5]

$hForm = GUICreate('Concepter WeDo 1.0 version 2.1', 1500, 800)

Local $idFilemenu = GUICtrlCreateMenu("Помощь")
        Local $idInfoitem1 = GUICtrlCreateMenuItem("Как работать с программой?", $idFilemenu)
        Local $idInfoitem2 = GUICtrlCreateMenuItem("Названия деталей", $idFilemenu)
        Local $idInfoitem3 = GUICtrlCreateMenuItem("Виды передач", $idFilemenu)
        Local $idInfoitem4 = GUICtrlCreateMenuItem("Расположение деталей", $idFilemenu)
Local $idHelpmenu = GUICtrlCreateMenu("?")
    Local $idInfoitem = GUICtrlCreateMenuItem("О программе", $idHelpmenu)
GUICtrlCreatePic('back.bmp', 0, 0, 1500, 800)
GUICtrlSetState(-1, $GUI_DISABLE)

; Create buttons from PNG images (images should be located in the same folder as the script)
$Button[0] = _Skin_AddButton(500 , 300, 200, 81, 'normDlya1.png', 'hoverDlya1.png', 'clickDlya1.png', 'disable.png', 'alpha.png', 1)
$Button[1] = _Skin_AddButton(850, 300, 200, 81, 'normDlya2.png', 'hoverDlya2.png', 'clickDlya2.png', 'disable.png', 'alpha.png', 1)
$Button[3] = _Skin_AddButton(1200, 500, 200, 200, 'Untitled-1.png', 'Untitled-2.png', 'Untitled-3.png', 'Untitled-1.png', 'Untitled-1.png', 1)
$Button[4] = _Skin_AddButton(0, 0, 66, 66, 'red_normal.png', 'red_hover.png', 'red_click.png', 'disable.png', 'alpha.png', 1)
#cs

; Create buttons from GDI+ HBITMAP handles
$Button[0] = _Skin_AddButtonEx(20 , 20, 64, 64, _GDIPlus_BitmapCreateFromFile('red_normal.png'), ..., 1, 1)
$Button[1] = _Skin_AddButtonEx(104, 20, 64, 64, _GDIPlus_BitmapCreateFromFile('yellow_normal.png'), ..., 1, 1)
$Button[2] = _Skin_AddButtonEx(188, 20, 64, 64, _GDIPlus_BitmapCreateFromFile('green_normal.png'), ..., 1, 1)

#ce


; Disable "Yellow" button (Optional)
_Skin_DisableButton($Button[4], 1)

; Enable keyboard input (Optional)
_Skin_EnableKBInput(1)

; Set margins for dotted focus rectangle (Optional)
For $i = 0 To 2
_Skin_SetFocusRect($Button[$i], 5, 5, 56, 56)
Next

; Enable dotted focus rectangle (Optional)
_Skin_EnableFocus(1)

GUISetState()

; _Skin_Helper() must be called continuously in the main loop
While 1
   Switch GUIGetMsg()

    Case $idInfoitem
       Sleep (100)
                MsgBox($MB_SYSTEMMODAL, "О программе", "Разработчик: Сергей Качалов |||https://vk.com/lestat.official|||///// Специально для 'Школы концепт'///// Версия программы  2.1")

             Case $idInfoitem1
                Sleep (100)
                MsgBox (0, "Внимание", "В разработке")
             Case $idInfoitem2
                Sleep (100)
                MsgBox (0, "Внимание", "В разработке")
             Case $idInfoitem3
                Sleep (100)
                MsgBox (0, "Внимание", "В разработке")
             Case $idInfoitem4
                Sleep (100)
                MsgBox (0, "Внимание", "В разработке")
                Case $GUI_EVENT_CLOSE,  $Button[3]
                ExitLoop
             EndSwitch


_Skin_Helper($hForm)
$ID = GUIGetMsg()
Switch $ID
Case 0
ContinueLoop
Case $GUI_EVENT_CLOSE
ExitLoop
Case $Button[0]
GUICtrlDelete ($hForm)
Sleep (10)
Start1 ()
Case $Button[1]
GUICtrlDelete ($hForm)
Sleep (10)
Start2 ()
Case $Button[2]
$papka = "U1"
Sleep (100)
Case $Button[3]

Case $Button[3]


Case Else
EndSwitch


WEnd


; You must delete all created buttons before destroying the appropriate window
;~For $i = 0 To 2
;~В  _Skin_DeleteButton($Button[$i])
;~Next
EndFunc


Func Start1 ()
Global $Button[35]

$hForm = GUICreate('Concepter WeDo 1.0 version 2.1', 1500, 800)

Local $idFilemenu = GUICtrlCreateMenu("Помощь")
        Local $idInfoitem1 = GUICtrlCreateMenuItem("Как работать с программой?", $idFilemenu)
        Local $idInfoitem2 = GUICtrlCreateMenuItem("Название деталей", $idFilemenu)
        Local $idInfoitem3 = GUICtrlCreateMenuItem("Название блоков", $idFilemenu)
        Local $idInfoitem4 = GUICtrlCreateMenuItem("Виды передач", $idFilemenu)
Local $idHelpmenu = GUICtrlCreateMenu("?")
    Local $idInfoitem = GUICtrlCreateMenuItem("О программе", $idHelpmenu)
GUICtrlCreatePic('back.bmp', 0, 0, 1500, 800)
GUICtrlSetState(-1, $GUI_DISABLE)

; Create buttons from PNG images (images should be located in the same folder as the script)
$Button[0] = _Skin_AddButton(10 , 10,   200, 81, 'norm1.png', 'hover1.png', 'click1.png', 'disable.png', 'alpha.png', 1)
$Button[1] = _Skin_AddButton(10, 100,   200, 81, 'norm2.png', 'hover2.png', 'click2.png', 'disable.png', 'alpha.png', 1)
$Button[2] = _Skin_AddButton(10, 190,  200, 81, 'norm3.png', 'hover3.png', 'click3.png', 'disable.png', 'alpha.png', 1)
$Button[3] = _Skin_AddButton(10, 280,  200, 81, 'norm4.png', 'hover4.png', 'click4.png', 'disable.png', 'alpha.png', 1)
$Button[4] = _Skin_AddButton(10, 370,  200, 81, 'norm5.png', 'hover5.png', 'click5.png', 'disable.png', 'alpha.png', 1)
$Button[5] = _Skin_AddButton(10, 460,  200, 81, 'norm6.png', 'hover6.png', 'click6.png', 'disable.png', 'alpha.png', 1)
$Button[6] = _Skin_AddButton(10, 550,  200, 81, 'norm7.png', 'hover7.png', 'click7.png', 'disable.png', 'alpha.png', 1)
$Button[7] = _Skin_AddButton(10, 640,  200, 81, 'norm8.png', 'hover8.png', 'click8.png', 'disable.png', 'alpha.png', 1)
$Button[8] = _Skin_AddButton(250, 10,  200, 81, 'norm9.png', 'hover9.png', 'click9.png', 'disable.png', 'alpha.png', 1)
$Button[9] = _Skin_AddButton(250, 100,  200, 81, 'norm10.png', 'hover10.png', 'click10.png', 'disable.png', 'alpha.png', 1)
$Button[10] = _Skin_AddButton(250, 190, 200, 81, 'norm11.png', 'hover11.png', 'click11.png', 'disable.png', 'alpha.png', 1)
$Button[11] = _Skin_AddButton(250, 280, 200, 81, 'norm12.png', 'hover12.png', 'click12.png', 'disable.png', 'alpha.png', 1)
$Button[12] = _Skin_AddButton(250, 370, 200, 81, 'norm13.png', 'hover13.png', 'click13.png', 'disable.png', 'alpha.png', 1)
$Button[12] = _Skin_AddButton(250, 460, 200, 81, 'norm14.png', 'hover14.png', 'click14.png', 'disable.png', 'alpha.png', 1)
$Button[13] = _Skin_AddButton(250, 550, 200, 81, 'norm15.png', 'hover15.png', 'click15.png', 'disable.png', 'alpha.png', 1)
$Button[14] = _Skin_AddButton(250, 640, 200, 81, 'norm16.png', 'hover16.png', 'click16.png', 'disable.png', 'alpha.png', 1)
$Button[15] = _Skin_AddButton(490, 10, 200, 81, 'norm17.png', 'hover17.png', 'click17.png', 'disable.png', 'alpha.png', 1)
$Button[16] = _Skin_AddButton(490, 100, 200, 81, 'norm18.png', 'hover18.png', 'click18.png', 'disable.png', 'alpha.png', 1)
$Button[17] = _Skin_AddButton(490, 190, 200, 81, 'norm19.png', 'hover19.png', 'click19.png', 'disable.png', 'alpha.png', 1)
$Button[18] = _Skin_AddButton(490, 280, 200, 81, 'norm20.png', 'hover20.png', 'click20.png', 'disable.png', 'alpha.png', 1)
$Button[19] = _Skin_AddButton(490, 370, 200, 81, 'norm21.png', 'hover21.png', 'click21.png', 'disable.png', 'alpha.png', 1)
$Button[20] = _Skin_AddButton(490, 460, 200, 81, 'norm22.png', 'hover22.png', 'click22.png', 'disable.png', 'alpha.png', 1)
$Button[21] = _Skin_AddButton(490, 550, 200, 81, 'norm23.png', 'hover23.png', 'click23.png', 'disable.png', 'alpha.png', 1)
$Button[22] = _Skin_AddButton(490, 640, 200, 81, 'norm24.png', 'hover24.png', 'click24.png', 'disable.png', 'alpha.png', 1)
$Button[23] = _Skin_AddButton(730, 10, 200, 81, 'norm25.png', 'hover25.png', 'click25.png', 'disable.png', 'alpha.png', 1)
$Button[24] = _Skin_AddButton(730, 100, 200, 81, 'norm26.png', 'hover26.png', 'click26.png', 'disable.png', 'alpha.png', 1)
$Button[25] = _Skin_AddButton(730, 190, 200, 81, 'norm27.png', 'hover27.png', 'click27.png', 'disable.png', 'alpha.png', 1)
$Button[26] = _Skin_AddButton(730, 280, 200, 81, 'norm28.png', 'hover28.png', 'click28.png', 'disable.png', 'alpha.png', 1)
$Button[27] = _Skin_AddButton(730, 370, 200, 81, 'norm29.png', 'hover29.png', 'click29.png', 'disable.png', 'alpha.png', 1)
$Button[28] = _Skin_AddButton(730, 460, 200, 81, 'norm30.png', 'hover30.png', 'click30.png', 'disable.png', 'alpha.png', 1)
$Button[29] = _Skin_AddButton(730, 550, 200, 81, 'norm1.png', 'hover1.png', 'click1.png', 'disable.png', 'alpha.png', 1)
$Button[30] = _Skin_AddButton(730, 640, 200, 81, 'norm1.png', 'hover1.png', 'click1.png', 'disable.png', 'alpha.png', 1)
$Button[31] = _Skin_AddButton(1200, 500, 200, 200, 'Untitled-1.png', 'Untitled-2.png', 'Untitled-3.png', 'Untitled-1.png', 'Untitled-1.png', 1)
$Button[32] = _Skin_AddButton(2000, 300, 200, 50, 'Norm.png', 'hover.png', 'klick.png', 'disable.png', 'Norm.png', 1) ;РґРѕРї РєРЅРѕРїРєР°
$Button[33] = _Skin_AddButton(970, 10, 200, 81, 'normDop.png', 'hoverDop.png', 'clickDop.png', 'disable.png', 'alpha.png', 1)
$Button[34] = _Skin_AddButton(1210, 10, 200, 81, 'normMenu.png', 'hoverMenu.png', 'clickMenu.png', 'disable.png', 'alpha.png', 1)
; Create buttons from GDI+ HBITMAP handles


#ce

; Disable "Yellow" button (Optional)
_Skin_DisableButton($Button[32], 1)
_Skin_DisableButton($Button[29], 1)
_Skin_DisableButton($Button[30], 1)
_Skin_DisableButton($Button[34], 1)
; Enable keyboard input (Optional)
_Skin_EnableKBInput(1)

; Set margins for dotted focus rectangle (Optional)
For $i = 0 To 2
_Skin_SetFocusRect($Button[$i], 5, 5, 56, 56)
Next

; Enable dotted focus rectangle (Optional)
_Skin_EnableFocus(1)

GUISetState()

; _Skin_Helper() must be called continuously in the main loop
While 1
   Switch GUIGetMsg()

    Case $idInfoitem
       Sleep (100)
                MsgBox($MB_SYSTEMMODAL, "О программе", "Разработчик: Сергей Качалов |||https://vk.com/lestat.official|||///// Специально для 'Школы концепт'///// Версия программы  2.1")

             Case $idInfoitem1
                Sleep (100)
                MsgBox (0, "Внимание", "В разработке")
             Case $idInfoitem2
                Sleep (100)
                MsgBox (0, "Внимание", "В разработке")
             Case $idInfoitem3
                Sleep (100)
                MsgBox (0, "Внимание", "В разработке")
             Case $idInfoitem4
                Sleep (100)
                MsgBox (0, "Внимание", "В разработке")
                Case $GUI_EVENT_CLOSE,  $Button[3]
                ExitLoop
             EndSwitch


_Skin_Helper($hForm)
$ID = GUIGetMsg()
Switch $ID
Case 0
ContinueLoop
Case $GUI_EVENT_CLOSE
ExitLoop
Case $Button[0]
ShellExecute ("C:Program Files\Conceptor WeDo 1.0\Conceptor WeDo 1.0 ver 2.1\ResursesAndProgram\ToOnePerStartPPS\FilesToStartOnButton\UforOne#1.pps")
Case $Button[1]
ShellExecute ("C:Program Files\Conceptor WeDo 1.0\Conceptor WeDo 1.0 ver 2.1\ResursesAndProgram\ToOnePerStartPPS\FilesToStartOnButton\UforOne#2.pps")
Case $Button[2]
   ShellExecute ("C:Program Files\Conceptor WeDo 1.0\Conceptor WeDo 1.0 ver 2.1\ResursesAndProgram\ToOnePerStartPPS\FilesToStartOnButton\UforOne#3.pps")
Case $Button[3]
   ShellExecute ("C:Program Files\Conceptor WeDo 1.0\Conceptor WeDo 1.0 ver 2.1\ResursesAndProgram\ToOnePerStartPPS\FilesToStartOnButton\UforOne#4.pps")
Case $Button[4]
   ShellExecute ("C:Program Files\Conceptor WeDo 1.0\Conceptor WeDo 1.0 ver 2.1\ResursesAndProgram\ToOnePerStartPPS\FilesToStartOnButton\UforOne#5.pps")
Case $Button[5]
   ShellExecute ("C:Program Files\Conceptor WeDo 1.0\Conceptor WeDo 1.0 ver 2.1\ResursesAndProgram\ToOnePerStartPPS\FilesToStartOnButton\UforOne#6.pps")
Case $Button[6]
   ShellExecute ("C:Program Files\Conceptor WeDo 1.0\Conceptor WeDo 1.0 ver 2.1\ResursesAndProgram\ToOnePerStartPPS\FilesToStartOnButton\UforOne#7.pps")
Case $Button[7]
   ShellExecute ("C:Program Files\Conceptor WeDo 1.0\Conceptor WeDo 1.0 ver 2.1\ResursesAndProgram\ToOnePerStartPPS\FilesToStartOnButton\UforOne#8.pps")
Case $Button[8]
   ShellExecute ("C:Program Files\Conceptor WeDo 1.0\Conceptor WeDo 1.0 ver 2.1\ResursesAndProgram\ToOnePerStartPPS\FilesToStartOnButton\UforOne#9.pps")
Case $Button[9]
   ShellExecute ("C:Program Files\Conceptor WeDo 1.0\Conceptor WeDo 1.0 ver 2.1\ResursesAndProgram\ToOnePerStartPPS\FilesToStartOnButton\UforOne#10.pps")
Case $Button[10]
   ShellExecute ("C:Program Files\Conceptor WeDo 1.0\Conceptor WeDo 1.0 ver 2.1\ResursesAndProgram\ToOnePerStartPPS\FilesToStartOnButton\UforOne#11.pps")
Case $Button[11]
   ShellExecute ("C:Program Files\Conceptor WeDo 1.0\Conceptor WeDo 1.0 ver 2.1\ResursesAndProgram\ToOnePerStartPPS\FilesToStartOnButton\UforOne#12.pps")
Case $Button[12]
   ShellExecute ("C:Program Files\Conceptor WeDo 1.0\Conceptor WeDo 1.0 ver 2.1\ResursesAndProgram\ToOnePerStartPPS\FilesToStartOnButton\UforOne#13.pps")
Case $Button[13]
   ShellExecute ("C:Program Files\Conceptor WeDo 1.0\Conceptor WeDo 1.0 ver 2.1\ResursesAndProgram\ToOnePerStartPPS\FilesToStartOnButton\UforOne#14.pps")
Case $Button[14]
   ShellExecute ("C:Program Files\Conceptor WeDo 1.0\Conceptor WeDo 1.0 ver 2.1\ResursesAndProgram\ToOnePerStartPPS\FilesToStartOnButton\UforOne#15.pps")
Case $Button[15]
   ShellExecute ("C:Program Files\Conceptor WeDo 1.0\Conceptor WeDo 1.0 ver 2.1\ResursesAndProgram\ToOnePerStartPPS\FilesToStartOnButton\UforOne#16.pps")
Case $Button[16]
   ShellExecute ("C:Program Files\Conceptor WeDo 1.0\Conceptor WeDo 1.0 ver 2.1\ResursesAndProgram\ToOnePerStartPPS\FilesToStartOnButton\UforOne#17.pps")
Case $Button[17]
   ShellExecute ("C:Program Files\Conceptor WeDo 1.0\Conceptor WeDo 1.0 ver 2.1\ResursesAndProgram\ToOnePerStartPPS\FilesToStartOnButton\UforOne#18.pps")
Case $Button[18]
   ShellExecute ("C:Program Files\Conceptor WeDo 1.0\Conceptor WeDo 1.0 ver 2.1\ResursesAndProgram\ToOnePerStartPPS\FilesToStartOnButton\UforOne#19.pps")
Case $Button[19]
   ShellExecute ("C:Program Files\Conceptor WeDo 1.0\Conceptor WeDo 1.0 ver 2.1\ResursesAndProgram\ToOnePerStartPPS\FilesToStartOnButton\UforOne#20.pps")
Case $Button[20]
   ShellExecute ("C:Program Files\Conceptor WeDo 1.0\Conceptor WeDo 1.0 ver 2.1\ResursesAndProgram\ToOnePerStartPPS\FilesToStartOnButton\UforOne#21.pps")
Case $Button[21]
   ShellExecute ("C:Program Files\Conceptor WeDo 1.0\Conceptor WeDo 1.0 ver 2.1\ResursesAndProgram\ToOnePerStartPPS\FilesToStartOnButton\UforOne#22.pps")
Case $Button[22]
   ShellExecute ("C:Program Files\Conceptor WeDo 1.0\Conceptor WeDo 1.0 ver 2.1\ResursesAndProgram\ToOnePerStartPPS\FilesToStartOnButton\UforOne#23.pps")
Case $Button[23]
   ShellExecute ("C:Program Files\Conceptor WeDo 1.0\Conceptor WeDo 1.0 ver 2.1\ResursesAndProgram\ToOnePerStartPPS\FilesToStartOnButton\UforOne#24.pps")
Case $Button[24]
   ShellExecute ("C:Program Files\Conceptor WeDo 1.0\Conceptor WeDo 1.0 ver 2.1\ResursesAndProgram\ToOnePerStartPPS\FilesToStartOnButton\UforOne#25.pps")
Case $Button[25]
   ShellExecute ("C:Program Files\Conceptor WeDo 1.0\Conceptor WeDo 1.0 ver 2.1\ResursesAndProgram\ToOnePerStartPPS\FilesToStartOnButton\UforOne#26.pps")
Case $Button[26]
   ShellExecute ("C:Program Files\Conceptor WeDo 1.0\Conceptor WeDo 1.0 ver 2.1\ResursesAndProgram\ToOnePerStartPPS\FilesToStartOnButton\UforOne#27.pps")
Case $Button[27]
   ShellExecute ("C:Program Files\Conceptor WeDo 1.0\Conceptor WeDo 1.0 ver 2.1\ResursesAndProgram\ToOnePerStartPPS\FilesToStartOnButton\UforOne#28.pps")
Case $Button[28]
   ShellExecute ("C:Program Files\Conceptor WeDo 1.0\Conceptor WeDo 1.0 ver 2.1\ResursesAndProgram\ToOnePerStartPPS\FilesToStartOnButton\UforOne#29.pps")
Case $Button[29]
   ShellExecute ("C:Program Files\Conceptor WeDo 1.0\Conceptor WeDo 1.0 ver 2.1\ResursesAndProgram\ToOnePerStartPPS\FilesToStartOnButton\UforOne#30.pps")
Case $Button[30]
   ShellExecute ("C:Program Files\Conceptor WeDo 1.0\Conceptor WeDo 1.0 ver 2.1\ResursesAndProgram\ToOnePerStartPPS\FilesToStartOnButton\UforOne#1.pps")
Case $Button[31]
Exit
Case $Button[33]

MsgBox (0, "Внимание" , "В разработке")
Case $Button[34]

Case Else
EndSwitch


WEnd


; You must delete all created buttons before destroying the appropriate window
;~For $i = 0 To 2
;~В  _Skin_DeleteButton($Button[$i])
;~Next
EndFunc

Func Start2 ()
Global $Button[35]

$hForm = GUICreate('Concepter WeDo 1.0 version 2.1', 1500, 800)


Local $idFilemenu = GUICtrlCreateMenu("Помощь")
        Local $idInfoitem1 = GUICtrlCreateMenuItem("Как работать с программой?", $idFilemenu)
        Local $idInfoitem2 = GUICtrlCreateMenuItem("Название деталей", $idFilemenu)
        Local $idInfoitem3 = GUICtrlCreateMenuItem("Название блоков", $idFilemenu)
        Local $idInfoitem4 = GUICtrlCreateMenuItem("Виды передач", $idFilemenu)
Local $idHelpmenu = GUICtrlCreateMenu("?")
    Local $idInfoitem = GUICtrlCreateMenuItem("О программе", $idHelpmenu)
GUICtrlCreatePic('back.bmp', 0, 0, 1500, 800)
GUICtrlSetState(-1, $GUI_DISABLE)

; Create buttons from PNG images (images should be located in the same folder as the script)
$Button[0] = _Skin_AddButton(10 , 10,   200, 81, 'norm1.png', 'hover1.png', 'click1.png', 'disable.png', 'alpha.png', 1)
$Button[1] = _Skin_AddButton(10, 100,   200, 81, 'norm2.png', 'hover2.png', 'click2.png', 'disable.png', 'alpha.png', 1)
$Button[2] = _Skin_AddButton(10, 190,  200, 81, 'norm3.png', 'hover3.png', 'click3.png', 'disable.png', 'alpha.png', 1)
$Button[3] = _Skin_AddButton(10, 280,  200, 81, 'norm4.png', 'hover4.png', 'click4.png', 'disable.png', 'alpha.png', 1)
$Button[4] = _Skin_AddButton(10, 370,  200, 81, 'norm5.png', 'hover5.png', 'click5.png', 'disable.png', 'alpha.png', 1)
$Button[5] = _Skin_AddButton(10, 460,  200, 81, 'norm6.png', 'hover6.png', 'click6.png', 'disable.png', 'alpha.png', 1)
$Button[6] = _Skin_AddButton(10, 550,  200, 81, 'norm7.png', 'hover7.png', 'click7.png', 'disable.png', 'alpha.png', 1)
$Button[7] = _Skin_AddButton(10, 640,  200, 81, 'norm8.png', 'hover8.png', 'click8.png', 'disable.png', 'alpha.png', 1)
$Button[8] = _Skin_AddButton(250, 10,  200, 81, 'norm9.png', 'hover9.png', 'click9.png', 'disable.png', 'alpha.png', 1)
$Button[9] = _Skin_AddButton(250, 100,  200, 81, 'norm10.png', 'hover10.png', 'click10.png', 'disable.png', 'alpha.png', 1)
$Button[10] = _Skin_AddButton(250, 190, 200, 81, 'norm11.png', 'hover11.png', 'click11.png', 'disable.png', 'alpha.png', 1)
$Button[11] = _Skin_AddButton(250, 280, 200, 81, 'norm12.png', 'hover12.png', 'click12.png', 'disable.png', 'alpha.png', 1)
$Button[12] = _Skin_AddButton(250, 370, 200, 81, 'norm13.png', 'hover13.png', 'click13.png', 'disable.png', 'alpha.png', 1)
$Button[12] = _Skin_AddButton(250, 460, 200, 81, 'norm14.png', 'hover14.png', 'click14.png', 'disable.png', 'alpha.png', 1)
$Button[13] = _Skin_AddButton(250, 550, 200, 81, 'norm15.png', 'hover15.png', 'click15.png', 'disable.png', 'alpha.png', 1)
$Button[14] = _Skin_AddButton(250, 640, 200, 81, 'norm16.png', 'hover16.png', 'click16.png', 'disable.png', 'alpha.png', 1)
$Button[15] = _Skin_AddButton(490, 10, 200, 81, 'norm17.png', 'hover17.png', 'click17.png', 'disable.png', 'alpha.png', 1)
$Button[16] = _Skin_AddButton(490, 100, 200, 81, 'norm18.png', 'hover18.png', 'click18.png', 'disable.png', 'alpha.png', 1)
$Button[17] = _Skin_AddButton(490, 190, 200, 81, 'norm19.png', 'hover19.png', 'click19.png', 'disable.png', 'alpha.png', 1)
$Button[18] = _Skin_AddButton(490, 280, 200, 81, 'norm20.png', 'hover20.png', 'click20.png', 'disable.png', 'alpha.png', 1)
$Button[19] = _Skin_AddButton(490, 370, 200, 81, 'norm21.png', 'hover21.png', 'click21.png', 'disable.png', 'alpha.png', 1)
$Button[20] = _Skin_AddButton(490, 460, 200, 81, 'norm22.png', 'hover22.png', 'click22.png', 'disable.png', 'alpha.png', 1)
$Button[21] = _Skin_AddButton(490, 550, 200, 81, 'norm23.png', 'hover23.png', 'click23.png', 'disable.png', 'alpha.png', 1)
$Button[22] = _Skin_AddButton(490, 640, 200, 81, 'norm24.png', 'hover24.png', 'click24.png', 'disable.png', 'alpha.png', 1)
$Button[23] = _Skin_AddButton(730, 10, 200, 81, 'norm25.png', 'hover25.png', 'click25.png', 'disable.png', 'alpha.png', 1)
$Button[24] = _Skin_AddButton(730, 100, 200, 81, 'norm26.png', 'hover26.png', 'click26.png', 'disable.png', 'alpha.png', 1)
$Button[25] = _Skin_AddButton(730, 190, 200, 81, 'norm27.png', 'hover27.png', 'click27.png', 'disable.png', 'alpha.png', 1)
$Button[26] = _Skin_AddButton(730, 280, 200, 81, 'norm28.png', 'hover28.png', 'click28.png', 'disable.png', 'alpha.png', 1)
$Button[27] = _Skin_AddButton(730, 370, 200, 81, 'norm29.png', 'hover29.png', 'click29.png', 'disable.png', 'alpha.png', 1)
$Button[28] = _Skin_AddButton(730, 460, 200, 81, 'norm30.png', 'hover30.png', 'click30.png', 'disable.png', 'alpha.png', 1)
$Button[29] = _Skin_AddButton(730, 550, 200, 81, 'norm1.png', 'hover1.png', 'click1.png', 'disable.png', 'alpha.png', 1)
$Button[30] = _Skin_AddButton(730, 640, 200, 81, 'norm1.png', 'hover1.png', 'click1.png', 'disable.png', 'alpha.png', 1)
$Button[31] = _Skin_AddButton(1200, 500, 200, 200, 'Untitled-1.png', 'Untitled-2.png', 'Untitled-3.png', 'Untitled-1.png', 'Untitled-1.png', 1)
$Button[32] = _Skin_AddButton(2000, 300, 200, 50, 'Norm.png', 'hover.png', 'klick.png', 'disable.png', 'Norm.png', 1) ;РґРѕРї РєРЅРѕРїРєР°
$Button[32] = _Skin_AddButton(970, 10, 200, 50, 'NormDop.png', 'hoverDop.png', 'klickDop.png', 'disable.png', 'Norm.png', 1)
$Button[33] = _Skin_AddButton(970, 10, 200, 81, 'normDop.png', 'hoverDop.png', 'clickDop.png', 'disable.png', 'alpha.png', 1)


; Create buttons from GDI+ HBITMAP handles



; Disable "Yellow" button (Optional)
_Skin_DisableButton($Button[29], 1)
_Skin_DisableButton($Button[30], 1)
_Skin_DisableButton($Button[32], 1)

; Enable keyboard input (Optional)
_Skin_EnableKBInput(1)

; Set margins for dotted focus rectangle (Optional)
For $i = 0 To 2
_Skin_SetFocusRect($Button[$i], 5, 5, 56, 56)
Next

; Enable dotted focus rectangle (Optional)
_Skin_EnableFocus(1)

GUISetState()

; _Skin_Helper() must be called continuously in the main loop
Global $p ,  $p2
While 1
   Switch GUIGetMsg()

    Case $idInfoitem
       Sleep (100)
                MsgBox($MB_SYSTEMMODAL, "О программе", "Разработчик: Сергей Качалов |||https://vk.com/lestat.official|||///// Специально для 'Школы концепт'///// Версия программы  2.1")

             Case $idInfoitem1
                Sleep (100)
                MsgBox (0, "Внимание", "В разработке")
             Case $idInfoitem2
                Sleep (100)
                MsgBox (0, "Внимание", "В разработке")
             Case $idInfoitem3
                Sleep (100)
                MsgBox (0, "Внимание", "В разработке")
             Case $idInfoitem4
                Sleep (100)
                MsgBox (0, "Внимание", "В разработке")
                Case $GUI_EVENT_CLOSE,  $Button[3]
                ExitLoop
             EndSwitch


_Skin_Helper($hForm)
$ID = GUIGetMsg()
Switch $ID
Case 0
ContinueLoop
Case $GUI_EVENT_CLOSE
ExitLoop
Case $Button[0]
$p = 'U1'
$p2 = 'U1.2'
Start21 ()
Case $Button[1]
$p = 'U2'
$p = 'U2.1'
Start21 ()
Case $Button[2]
   $p = 'U3'
$p2 = 'U3.1'
Start21 ()
Case $Button[3]
   $p = 'U4'
$p2 = 'U4.1'
Start21 ()
Case $Button[4]
   $p = 'U5'
$p2 = 'U5.1'
Start21 ()
Case $Button[5]
   $p = 'U6'
$p2 = 'U6.1'
Start21 ()
Case $Button[6]
   $p = 'U7'
$p2 = 'U7.1'
Start21 ()
Case $Button[7]
   $p = 'U8'
$p2 = 'U8.1'
Start21 ()
Case $Button[8]
   $p = 'U9'
$p2 = 'U9.1'
Start21 ()
Case $Button[9]
   $p = 'U10'
$p2 = 'U10.1'
Start21 ()
Case $Button[10]
   $p = 'U11'
$p2 = 'U11.1'
Start21 ()
Case $Button[11]
   $p = 'U12'
$p2 = 'U12.1'
Start21 ()
Case $Button[12]
   $p = 'U13'
$p2 = 'U13.1'
Start21 ()
Case $Button[13]
   $p = 'U14'
$p2 = 'U14.1'
Start21 ()
Case $Button[14]
   $p = 'U15'
$p2 = 'U15.1'
Start21 ()
Case $Button[15]
   $p = 'U16'
$p2 = 'U16.1'
Start21 ()
Case $Button[16]
   $p = 'U17'
$p2 = 'U17.1'
Start21 ()
Case $Button[17]
   $p = 'U18'
$p2 = 'U18.1'
Start21 ()
Case $Button[18]
   $p = 'U19'
$p2 = 'U19.1'
Start21 ()
Case $Button[19]
   $p = 'U20'
$p2 = 'U20.1'
Start21 ()
Case $Button[20]
   $p = 'U21'
$p2 = 'U21.1'
Start21 ()
Case $Button[21]
   $p = 'U22'
$p2 = 'U22.2'
Start21 ()
Case $Button[22]
   $p = 'U23'
$p2 = 'U23.1'
Start21 ()
Case $Button[23]
   $p = 'U24'
$p2 = 'U24.1'
Start21 ()
Case $Button[24]
   $p = 'U25'
$p2 = 'U25.1'
Start21 ()
Case $Button[25]
   $p = 'U26'
$p2 = 'U26.1'
Start21 ()
Case $Button[26]
   $p = 'U27'
$p2 = 'U27.1'
Start21 ()
Case $Button[27]
   $p = 'U28'
$p2 = 'U28.1'
Start21 ()
Case $Button[28]
   $p = 'U29'
$p2 = 'U29.1'
Start21 ()
Case $Button[29]
   $p = 'U30'
$p2 = 'U30.1'
Start21 ()
Case $Button[30]
   $p = 'U'
$p = 'U'
Start21 ()
Case $Button[31]
Exit
Case $Button[33]
MsgBox (0," Внимание", "В разработке")


Case Else
EndSwitch


WEnd


; You must delete all created buttons before destroying the appropriate window
;~For $i = 0 To 2
;~В  _Skin_DeleteButton($Button[$i])
;~Next
EndFunc

Func Start21 ()
Local $iWidth, $iHeight, $hGui_1, $iLabel_1, $hGui_2, $iLabel_2, $iKeyLeft, $iKeyRight

$iWidth = Floor(@DesktopWidth / 2)
$iHeight = @DesktopHeight
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

$aFiles = _FileListToArray("C:Program Files\Conceptor WeDo 1.0\Conceptor WeDo 1.0 ver 2.1\ResursesAndProgram\ToTwoPerStartFuncForPic\FilesInJPGInBox\" & $p , "*.jpg", 1, True)
If @error Then  MsgBox(16, "Внимание", "Урок не добавлен или удален. Программа будет закрыта")
Global $hGUI, $iPic, $iMsg,  $i = 1
$hGui_1 = GUICreate('Для ученика 1', $iWidth, $iHeight, 0, 0)
$iLabel_1 = GUICtrlCreateLabel('Кнопки мыши', 0, 300, $iWidth, 60, $SS_CENTER)

$iPic = GUICtrlCreatePic($aFiles[$i], 0, 0, $iWidth, $iHeight)
GUISetState()
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"C:Program Files\Conceptor WeDo 1.0\Conceptor WeDo 1.0 ver 2.1\ResursesAndProgram\ToTwoPerStartFuncForPic\FilesInJPGInBox\

$bFiles = _FileListToArray("C:Program Files\Conceptor WeDo 1.0\Conceptor WeDo 1.0 ver 2.1\ResursesAndProgram\ToTwoPerStartFuncForPic\FilesInJPGInBox\" & $p2 , "*.jpg", 1, True)
If @error Then  MsgBox(16, "Внимание", "Урок не добавлен или удален. Прогрвмма будет закрыта")

Global $gGUI, $gPic, $aMsg,  $g = 1
$gGui_2 = GUICreate('Для ученика 2', $iWidth, $iHeight, $iWidth, 0)
$iLabel_2 = GUICtrlCreateLabel('Кнопки "Стрелки"', 0, 300, $iWidth, 60, $SS_CENTER)


$gPic = GUICtrlCreatePic($bFiles[$i], 0, 0, $iWidth, $iHeight)
GUISetState()

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
$iKeyLeft = GUICtrlCreateDummy()
$iKeyRight = GUICtrlCreateDummy()

Local $aAccelKeys[2][2] = [['{LEFT}', $iKeyLeft], ['{RIGHT}', $iKeyRight]]
GUISetAccelerators($aAccelKeys)

GUISetState(@SW_SHOW, $hGui_1)
GUISetState(@SW_SHOW, $gGui_2)
WinSetOnTop($hGui_1, '', 1)
WinSetOnTop($gGui_2, '', 1)

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

 Switch $aMsg[1]
Case $hGui_1
Switch $aMsg[0]
Case $GUI_EVENT_CLOSE
GUIDelete($hGui_1)
$hGui_1 = 0
Case $GUI_EVENT_PRIMARYDOWN
$i += 1
If $i > $aFiles[0] Then $i = 1
GUICtrlSetImage($iPic, $aFiles[$i])
Case $GUI_EVENT_SECONDARYDOWN
$i -= 1
If $i < 1 Then $i = $aFiles[0]
GUICtrlSetImage($iPic, $aFiles[$i])
EndSwitch
Case $gGui_2
Switch $aMsg[0]
Case $GUI_EVENT_CLOSE
GUIDelete($gGui_2)
$gGui_2 = 0
Case  $GUI_EVENT_PRIMARYDOWN

$g += 1
If $g > $bFiles[0] Then $g = 1
GUICtrlSetImage($gPic, $bFiles[$g])
Case $GUI_EVENT_SECONDARYDOWN
$g -= 1
If $g < 1 Then $g = $bFiles[0]
GUICtrlSetImage($gPic, $bFiles[$g])
EndSwitch
EndSwitch
WEnd
EndFunc



 


Примечания:

вероятно для запуска, потребуется сменить путь файлов в скрипте

для запуска требуется библиотека Skin http://autoit-script.ru/index.php?action=dlattach;topic=24869.0;attach=2675


Ресурсы для нормального отображения в программе (Картинки кнопок и несколько файлов для запуска)  https://yadi.sk/d/4Iw--4rB3Ry6AC

в загруженном на диск файле есть ошибка. В папке ToTwo.... (Там легко понять) есть две папки "U1" и "U2.1". Последняя должна быть 1.1 ( я не стал исправлять так как уже совсем не осталось сил и времени


Если у кого есть лишнее время, то Помогите пожалуйста все это оптимизировать

« Последнее редактирование: Февраль 01, 2018, 03:46:46 от VermanVendetta13 »

Русское сообщество AutoIt

[Элементы GUI] Требуется оптимизация к программе
« Отправлен: Февраль 01, 2018, 02:02:09 »

Оффлайн hedji [?]

  • Осваивающий
  • **
  • Сообщений: 199
  • Репутация: 30
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Зачем Sleep'ы в основном цикле?
Попробуйте OnEvent

Онлайн Alofa [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 1317
  • Репутация: 191
  • Пол: Мужской
  • Windows 7 /10 [x64]
    • Награды
  • Версия AutoIt: 3.3.12.0
... все это оптимизировать...
Да тут по видимому конкретно заняться проектом нужно.
Если никто не возьмется, то пишите в личку. Дети - это святое.

Единственный вопрос: почему Autoit? Ведь есть же специализированные программу для создания презентаций.

Оффлайн VermanVendetta13 [?]

  • Новичок
  • *
  • Сообщений: 147

  • Автор темы
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
... все это оптимизировать...
Да тут по видимому конкретно заняться проектом нужно.
Если никто не возьмется, то пишите в личку. Дети - это святое.

Единственный вопрос: почему Autoit? Ведь есть же специализированные программу для создания презентаций.

Autoit - потому что я с ним более менее дружу и потому что с ним я давно знаком. Что касается презентаций. То вкладка для одно и открывает power point. Но в пауре нет возможности создать 2 окна на весь экран чтобы каждым можно было управлять отдельно, а это необходимо в нашем случае, так как на некоторых занятиях сидят по два человека и не хотят собирать по очереди. И мы пришли к выводу , что нужно разбить сборку на двух человек. Во вкладке для двоих это и реализованно(правда иногда с жуткими перебоями)

Русское сообщество AutoIt

Re: [Элементы GUI] Требуется оптимизация к программе
« Ответ #3 Отправлен: Февраль 01, 2018, 15:00:57 »

Оффлайн VermanVendetta13 [?]

  • Новичок
  • *
  • Сообщений: 147

  • Автор темы
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Обновляю Актуальность темы.

Русское сообщество AutoIt

Re: [Элементы GUI] Требуется оптимизация к программе
« Ответ #4 Отправлен: Февраль 11, 2018, 16:26:40 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
6 Ответов
4994 Просмотров
Последний ответ Ноябрь 25, 2009, 10:57:54
от oneDmitry
8 Ответов
5106 Просмотров
Последний ответ Февраль 17, 2011, 23:41:15
от CreatoR
0 Ответов
2091 Просмотров
Последний ответ Март 20, 2011, 21:28:12
от winstan
4 Ответов
2312 Просмотров
Последний ответ Август 27, 2011, 19:27:42
от Zalman1980
6 Ответов
3460 Просмотров
Последний ответ Февраль 06, 2013, 14:03:04
от madmasles
3 Ответов
832 Просмотров
Последний ответ Июль 29, 2014, 10:49:02
от sasha-ld
2 Ответов
853 Просмотров
Последний ответ Июнь 03, 2015, 12:14:00
от WSWR
7 Ответов
996 Просмотров
Последний ответ Сентябрь 03, 2016, 15:20:35
от Skif_off
1 Ответов
462 Просмотров
Последний ответ Сентябрь 13, 2016, 00:28:06
от Alofa
6 Ответов
1352 Просмотров
Последний ответ Февраль 15, 2017, 16:43:26
от cobain31