Top.Mail.Ru
Ответы

AHK GUI v2: Сократить код (Оптимизация кода)

У меня есть огромный код, часть из него я буду сокращать по типу 1, 2, ... , 10

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
#SingleInstance Force
#NoEnv
OnMessage(0x201,"Check_Control")

SetBatchLines -1 ; Это не знаю что значит

way := "data/info.egl" ; Расположение файла с сохранениями
SetWorkingDir %A_ScriptDir%
IniRead savea1, %way%, HOTKEY, savea1 ; Считывает текст из файла %way% и переносит его в переменную "savea1", "HOTKEY" - это что-то вроде раздела каталога
IniRead savea2, %way%, HOTKEY, savea2
;...
IniRead savea35, %way%, HOTKEY, savea35

Gui 2: +AlwaysOnTop hwndMainWin ; Поверх экрана и создание окна
Gui 2: Color, White ; цвет окна
Gui 2: font, s10,, Verdanat ; Изменение шрифта
 
Gui 2: Add, Hotkey, w100 h20 x7 y7 vChosenHotkey1 vsave1 gSav1, %savea1% ; Создание места, куда будет вводиться комбинация клавиш, то-есть Hotkey
Gui 2: Add, Hotkey, w100 h20 x7 y27 vChosenHotkey2 vsave2 gSav2, %savea2%
;...
Gui 2: Add, Hotkey, w100 h20 x7 y687 vChosenHotkey35 vsave35 gSav35, %savea35%

Loop 35
{
	save%A_Index% := savea%A_Index% ; тоже нужно, но не помню зачем
}

Gui 2: Add, Button, w100 h23 x7 y707 gSaveBind, Сохранить ; Кнопки и много текста
Gui 2: Add, Button, w180 h23 x107 y707 gDefault, По умолчанию

Gui 2: Add, Text, x110 y7, – Часы
Gui 2: Add, Text, x110 y27, – Удостоверение
Gui 2: Add, Text, x110 y667, – Поставить капельницу
;... ;Текст: – Приветствие, – Осмотр, – Выдать лекарство, – Осмотреть и зашить рану, – Дефибриллятор, – Бинты, – Носилки, – Рентген, – Следы уколов, – Анализ на наркотики, – Гипс, – Клизма, – Нашатырь, – Ветрянка, – Анализ на “COVID-19”, – Вакцина от “COVID-19”, – Дежурство (Палата №1), – Дежурство (Палата №2), – Патруль, – Разгрузка медикаментов, – Морг, – Доклад об учениях, – Взять документы на проверку, – Вернуть документы владельцу, – Выдать медицинскую карту, – Справка о нетрудоспособности, – Аппендицит, – Проверить на алкогольное опьянение, – Ингаляция, – Операция (обычная), – Сеанс для наркозависимых
Gui 2: Add, Text, x110 y687, – Проверить давление

Gui 2: Show, x870 yCenter h755, Подробнее

Sav1: ; Это нужно, чтобы когда ты изменил Hotkey или добавил его, ты мог его применить (то-есть обновить переменную Actio1 и запустить его работу)
	Hotkey, % PrKey%A_Gui%%A_GuiControl%, Off, UseErrorLevel
	GuiControlGet, Key, %A_Gui%:, %A_GuiControl%
	Hotkey, % PrKey%A_Gui%%A_GuiControl% := Key, Actio1, On, UseErrorLevel
Return
Sav2:
	Hotkey, % PrKey%A_Gui%%A_GuiControl%, Off, UseErrorLevel
	GuiControlGet, Key, %A_Gui%:, %A_GuiControl%
	Hotkey, % PrKey%A_Gui%%A_GuiControl% := Key, Actio2, On, UseErrorLevel
Return
;...
Sav35:
	Hotkey, % PrKey%A_Gui%%A_GuiControl%, Off, UseErrorLevel
	GuiControlGet, Key, %A_Gui%:, %A_GuiControl%
	Hotkey, % PrKey%A_Gui%%A_GuiControl% := Key, Actio35, On, UseErrorLevel
Return

SaveBind: ; Метод для сохранения всех Hotkey-ев
	IniWrite %save1%, %way%, HOTKEY, savea1 ; Обновляет текст в файле по пути %way%, заменяя его на свой
	IniWrite %save2%, %way%, HOTKEY, savea2
	;...
	IniWrite %save35%, %way%, HOTKEY, savea35

	WinSetTitle, *Подробнее, , Подробнее ; Надо так
return
  
Default: ; выставляет значения по умолчанию
; Здесь сокращать ничего не нужно, оно просто есть
return
;Actio1: - это тоже используется в бинде, но здесь не хватит символов что-бы его показать 

Целый код можно найти на моём Google Drive, но он значительно больше и без комментариев.


Мне нужно максимально его сократить, но при этом он должен остаться читабельным (не в плане комментариев, но пусть будут)

*Текст вопроса немного изменён в связи с обновлением сайта Ответы Mail.ru

По дате
По Рейтингу
Аватар пользователя
Новичок
1мес
Аватар пользователя
Профи
1мес

бро там функциями сокращай и циклы юзай а то простыня прям капец получилась

Аватар пользователя
Ученик
1мес

Кидай

Аватар пользователя
Ученик
1мес

Гипотеза не истинна и не должна получив подтверждение гипотеза становится научной истиной а гипотеза которая не находит
Подтверждения превращается в научную проблему? Связано ли это с текстом ниже?
Идея о том, что мы проживаем одну и ту же жизнь бесконечное количество раз, является философской гипотезой. 25

Согласно ей, всё во вселенной циклично: после Большого взрыва вселенная расширяется, появляется планета Земля, на ней зарождается жизнь. Через невообразимое количество лет вселенная опять сужается до микроскопических размеров, и всё повторяется вновь. При этом для людей гигантские перерывы между жизнями не заметны, они фактически застряли в бесконечной петле и раз за разом проживают одну и ту же жизнь. 1

Также существует мнение, что при наличии бесконечного количества шансов мы прожили бы одну и ту же жизнь бесконечное количество раз. 2

Следует отметить, что подобные гипотезы не имеют научного подтверждения.