Тема: AutoHotKey: Домашняя Бухгалтерия
#NoTrayIcon
SetBatchLines -1
StringCaseSense Off
AutoTrim Off
SetFormat, float, 0.2 ; ============ Количество нолей после точки
Slot1_16 = грн.
Slot1_17 = руб.
Slot1_18 = usd.
Slot1 = Январь
Slot2 = Февраль
Slot3 = Март
Slot4 = Апрель
Slot5 = Май
Slot6 = Июнь
Slot7 = Июль
Slot8 = Август
Slot9 = Сентябрь
Slot10 = Октябрь
Slot11 = Ноябрь
Slot12 = Декабрь
Slot13 := "--------------------"
Slot14 = %A_MMMM%
Gosub, Load ; ============ Переходим к разделу загрузки
Gosub, PasswordChek ; ============ Переходим к разделу Проверки пароля
Return
PasswordChek:
CountPass = 0
Gosub, StartPassword
Return
StartPassword: ; ============ Метка проверки пароля
If (PasswordCheck = 0) { ; ============ Если пароля нет - Создать новый пароль
MsgBox, Введите Новый Пароль
InputBox,PasswordCheck,New Passwrd 1, `n Введите Новый Пароль , HIDE, 200,150,,,,120
if ErrorLevel <> 0 ; ============ Если нажата Отмена - Выход закрыть скрипт
ExitApp
InputBox,PasswordCheck1,New Passwrd 2, `n Повторите Новый Пароль , HIDE, 200,150,,,,120
if ErrorLevel <> 0
ExitApp
If (PasswordCheck = PasswordCheck1) {
LCU = 1
Loop 12 {
Line%LCU% := PasswordCheck
LCU += 42
}
MsgBox, Пароль Сохранен
Goto, StartPassword
}
Else {
PasswordCheck = 0
MsgBox, Пароли несовпадают `n Повторите попытку
Goto, StartPassword
}
}
If (CountPass > 3) {
ExitApp
}
Else {
InputBox,Password,Passwrd, `n Введите пароль , HIDE, 200,150,,,,120
if ErrorLevel <> 0
ExitApp
If (Password = PasswordCheck) {
goto, gui8
}
Else {
CountPass += 1
Попыток := % 4 - CountPass
MsgBox, Неправельный Пароль!!! `n У вас осталось %Попыток% Попыток ввода
}
Gosub, StartPassword
}
Return
PasswordChange:
Gui, Destroy,
InputBox,Password,Passwrd, `n Введите старый пароль , HIDE, 250,150,,,,120
if ErrorLevel <> 0
{
Goto, Gui1
}
If (Password = PasswordCheck) {
Goto, NewPass
}
Else
{
MsgBox, Внимание!!! `nВы ввели неверный старый пароль
Goto, PasswordChange
}
Return
NewPass:
MsgBox, Введите Новый Пароль
InputBox,PasswordCheck,New Passwrd 1, `n Введите Новый Пароль , HIDE, 200,150,,,,120
if ErrorLevel <> 0
Goto, Gui1
InputBox,PasswordCheck1,New Passwrd 2, `n Повторите Новый Пароль , HIDE, 200,150,,,,120
if ErrorLevel <> 0
Goto, Gui1
If (PasswordCheck = PasswordCheck1) {
LCU = 1
Loop 12 {
Line%LCU% := PasswordCheck
LCU += 42
}
MsgBox, Новый Пароль Сохранен!
Goto, Gui1
}
Else {
MsgBox, Пароли не совпадают ! `nПовторите попытку
Goto, NewPass
}
Return
Load: ; ============ Загрузка данных в переменную
IfNotExist, %A_ScriptDir%\DataBase ; ============ Если нет папки для хранения базы данных -
{
FileCreateDir, %A_ScriptDir%\DataBase ; ============ - создать Папку.
}
IfNotExist, %A_ScriptDir%\DataBase\params.buh ; ============ Если база данных не найдена -
{
If XXStart <> 1
{
Loop 504 { ; ============ Создаем базовые значения для переменных
CountPrice += 1
If CountPrice <= 30 ; ============ Для переменных Line1 - Line 30 -
Line%A_Index% := 0.00 ; ============ - задается значение 0.00
Else ; ============ Для переменных Line31 - Line 42 -
{
CountPriceD += 1
Line%A_Index% := "Доп. Расходы " CountPriceD ; ============ - задается значение Доп. Расходы 1 - Доп. Расходы 12
If CountPriceD >= 12
{
CountPrice := "0", CountPriceD := "0"
}
}
}
; ============ --------------------------------
; ============ В Этом разделе, рабочим переменным гуи, задается значение, согласно текущего месяца
LC := A_MM * 42 - 42
LC += 1, PasswordCheck := Line%LC%
LC += 1, UE := Line%LC%
}
Else {
LC := MonthNow * 42 - 42
LC += 1, PasswordCheck := Line%LC%
LC += 1, UE := Line%LC%
}
}
Else ; ============ Если база данных существует
{
FileRead, VAL, %A_ScriptDir%\DataBase\params.buh ; ============ Считать базу данных в переменную
Gosub, DEcrypt ; ============ отправляем переменную на расшифровку
count := ""
Loop, parse, VAL, `n, `r ; ============ Цикл считывает строки переменной, и последовательно присваивает значения строк переменным Line1- Line504
if InStr(A_LoopField, "=")
{
count++
Line%count% := RegExReplace(A_LoopField, ".*=(.*)", "$1")
}
VAL := "" ; ============ по избежание наслаивания строк, очищаем значение переменной
LC := A_MM * 42 - 42
LC += 1, PasswordCheck := Line%LC%
LC += 1, UE := Line%LC%1
}
WinName := "Домашняя Бухгалтерия 2.06"
SpaseS := " "
Cont = 0
Cont1 = 1
Return
; ============ =========================================
gui8: ; ============ Метка выбора месяца
Gui, Destroy
Gui, Font, cBlue
Gui, +AlwaysOnTop
Gui, Add, Text , , За какой месяц Вы хотите редактировать `n Доходи и расходы?
Gui, Add, DropDownList,w100 r7 vDropDownList2 gDropDownList2, %Slot14%|%Slot13%|%Slot1%|%Slot2%|%Slot3%|%Slot4%|%Slot5%|%Slot6%|%Slot7%|%Slot8%|%Slot9%|%Slot10%|%Slot11%|%Slot12%|
Gui, Add, Button, gNTR, Продолжить
Gui, Show, , Выбор месяца
Gui, -Caption ; Убираем Границы окна
Return
DropDownList2:
Gui, Submit, NoHide
Month := % DropDownList2
GuiControl, , Static1, Внимание! `nВы выбрали месяц %Month%
Gui, Font, cRed
GuiControl, Font, Static1
return
; ==============================================================================
; ============ В Этом разделе, рабочим переменным гуи, задается значение, согласно текущего месяца
NTR:
Gui, Destroy,
If (Month = "--------------------") { ; ============ Если месяц выбран неправильно -
MsgBox, Внимание! `nВы выбрали несуществующий месяц `n Сделайте правильный выбор
Goto, gui8 ; ============ - вернутся к выбору месяца
}
Gosub, ChekMonth
LC := MonthNow * 42 - 42
LC += 1, PasswordCheck := Line%LC%
LC += 1, UE := Line%LC%
LC += 1, Input := Line%LC%
LC += 1, Input1 := Line%LC%
LC += 1, Input2 := Line%LC%
LC += 1, Input3 := Line%LC%
LC += 1, Out1 := Line%LC%
LC += 1, Out2 := Line%LC%
LC += 1, Out3 := Line%LC%
LC += 1, Out4 := Line%LC%
LC += 1, Out5 := Line%LC%
LC += 1, Out6 := Line%LC%
LC += 1, Out7 := Line%LC%
LC += 1, Out8 := Line%LC%
LC += 1, Out9 := Line%LC%
LC += 1, Out10 := Line%LC%
LC += 1, Out19 := Line%LC%
LC += 1, Out21 := Line%LC%
LC += 1, Out12 := Line%LC%
LC += 1, Out13 := Line%LC%
LC += 1, Out14 := Line%LC%
LC += 1, Out15 := Line%LC%
LC += 1, Out16 := Line%LC%
LC += 1, Out17 := Line%LC%
LC += 1, Out18 := Line%LC%
LC += 1, CashNow := Line%LC%
LC += 1, Свет := Line%LC%
LC += 1, Газ := Line%LC%
LC += 1, Вода := Line%LC%
LC += 1, Комун := Line%LC%
LC += 1, Доп_Расход_1 := Line%LC%
LC += 1, Доп_Расход_2 := Line%LC%
LC += 1, Доп_Расход_3 := Line%LC%
LC += 1, Доп_Расход_4 := Line%LC%
LC += 1, Доп_Расход_5 := Line%LC%
LC += 1, Доп_Расход_6 := Line%LC%
LC += 1, Доп_Расход_7 := Line%LC%
LC += 1, Доп_Расход_8 := Line%LC%
LC += 1, Доп_Расход_9 := Line%LC%
LC += 1, Доп_Расход_10 := Line%LC%
LC += 1, Доп_Расход_11 := Line%LC%
LC += 1, Доп_Расход_12 := Line%LC%
Gosub, Gui1
Return
; ==============================================================================
ChekMonth:
If (Month = "Январь") {
MonthNow = 1
}
If (Month = "Февраль") {
MonthNow = 2
}
If (Month = "Март") {
MonthNow = 3
}
If (Month = "Апрель") {
MonthNow = 4
}
If (Month = "Май") {
MonthNow = 5
}
If (Month = "Июнь") {
MonthNow = 6
}
If (Month = "Июль") {
MonthNow = 7
}
If (Month = "Август") {
MonthNow = 8
}
If (Month = "Сентябрь") {
MonthNow = 9
}
If (Month = "Октябрь") {
MonthNow = 10
}
If (Month = "Ноябрь") {
MonthNow = 11
}
If (Month = "Декабрь") {
MonthNow = 12
}
Return
; ==============================================================================
; ============= Метка выбора денежной единицы
gui:
If (FirstStart = "1") {
Gosub, Start
}
Else {
Money:
Gosub, Save
Gui, Destroy,
Gui, +AlwaysOnTop
Gui, Add, Text , , Выберите Денежную Единицу
Gui, Add, DropDownList,w100 r3 vDropDownList1 gDropDownList1, %Slot1_16%|%Slot1_17%|%Slot1_18%
Gui, Show, , Выбор Денежной Единицы
Gui, -Caption ; Убираем Границы окна
Return
}
Return
DropDownList1:
Gui, Submit, NoHide
UE := % DropDownList1
LCU = 2
Loop 12 {
Line%LCU% := UE
LCU += 42
}
Gui, Destroy,
Gosub, Start
return
; ==============================================================================
Start:
Gosub, Gui1
Gosub, In
Return
; ==============================================================================
; ========================Загрузка основного окна Гуи
Gui1:
If UE = 0
Goto, gui
GUI,font,s8
Menu, Properties, Add, &Изменить Денежную Еденицу, Money
Menu, Properties, Add, &Изменить Пароль, PasswordChange
Menu, FileMenu, Add, &Открыть Другой Месяц, Chenge
Menu, FileMenu, Add, &Настройки, :Properties
Menu, FileMenu, Add, &Выход, GuiClose
Menu, HelpMenu, Add, &Описание, MenuHandler
Menu, MyMenuBar, Add, &Меню, :FileMenu ; Присоединяем два подменю, созданные выше.
Menu, MyMenuBar, Add, &Помощь, :HelpMenu
Gui, Menu, MyMenuBar
Gui, Add, Text, x182 y2 w130 h20 , Домашняя Бухгалтерия
Gui, Add, Edit, x32 y52 w90 h20 vInput gIn, %Input%
Gui, Add, Edit, x162 y52 w70 h20 vInput1 gIn, %Input1%
Gui, Add, Edit, x262 y52 w70 h20 vInput2 gIn, %Input2%
Gui, Add, Edit, x362 y52 w70 h20 vInput3 gIn, %Input3%
Gui, Add, Text, x332 y82 w90 h20 vInput_All, % Input_All SpaseS UE
Gui, Add, GroupBox, x12 y12 w460 h100 , ДОХОДЫ за %Month% Месяц
Gui, Add, Text, x162 y32 w90 h20 , Доп. Доход 1
Gui, Add, Text, x262 y32 w90 h20 , Доп. Доход 2
Gui, Add, Text, x362 y32 w90 h20 , Доп. Доход 3
Gui, Add, Text, x122 y52 w30 h20 , % UE
Gui, Add, Text, x232 y52 w30 h20 , % UE
Gui, Add, Text, x332 y52 w30 h20 , % UE
Gui, Add, Text, x22 y32 w110 h20 , Основной Доход
Gui, Add, Text, x432 y52 w30 h20 , % UE
Gui, Add, Text, x252 y82 w80 h20 , Общий Доход
Gui, Add, Button, x22 y132 w70 h20 gКвартплата, Квартплата
Gui, Add, Text, x172 y132 w70 h20 vOut1 gIn, % Out1 SpaseS UE
Gui, Add, Text, x22 y152 w70 h20 , Питание
Gui, Add, Edit, x172 y152 w50 h20 vOut2 gIn, %Out2%
Gui, Add, Text, x22 y172 w70 h20 , Бензин
Gui, Add, Edit, x172 y172 w50 h20 vOut3 gIn, %Out3%
Gui, Add, Text, x22 y192 w70 h20 , Транспорт
Gui, Add, Edit, x172 y192 w50 h20 vOut4 gIn, %Out4%
Gui, Add, Text, x22 y212 w80 h20 , Медикаменты
Gui, Add, Edit, x172 y212 w50 h20 vOut5 gIn, %Out5%
Gui, Add, Text, x22 y232 w80 h20 , Развлечения
Gui, Add, Edit, x172 y232 w50 h20 vOut6 gIn, %Out6%
Gui, Add, Edit, x172 y252 w50 h20 vOut7 gIn, %Out7%
Gui, Add, Edit, x172 y272 w50 h20 vOut8 gIn, %Out8%
Gui, Add, Edit, x172 y292 w50 h20 vOut9 gIn, %Out9%
Gui, Add, Edit, x382 y132 w50 h20 vOut10 gIn, %Out10%
Gui, Add, Edit, x382 y152 w50 h20 vOut21 gIn, %Out21%
Gui, Add, Edit, x382 y172 w50 h20 vOut12 gIn, %Out12%
Gui, Add, Edit, x382 y192 w50 h20 vOut13 gIn, %Out13%
Gui, Add, Edit, x382 y212 w50 h20 vOut14 gIn, %Out14%
Gui, Add, Edit, x382 y232 w50 h20 vOut15 gIn, %Out15%
Gui, Add, Edit, x382 y252 w50 h20 vOut16 gIn, %Out16%
Gui, Add, Edit, x382 y272 w50 h20 vOut17 gIn, %Out17%
Gui, Add, Edit, x382 y292 w50 h20 vOut18 gIn, %Out18%
Gui, Add, Text, x332 y342 w80 h20 , % Out_All SpaseS UE
Gui, Add, Edit, x22 y252 w140 h20 vДоп_Расход_1 gInt, %Доп_Расход_1%
Gui, Add, Edit, x22 y272 w140 h20 vДоп_Расход_2 gInt, %Доп_Расход_2%
Gui, Add, Edit, x22 y292 w140 h20 vДоп_Расход_3 gInt, %Доп_Расход_3%
Gui, Add, Edit, x252 y132 w120 h20 vДоп_Расход_4 gInt, %Доп_Расход_4%
Gui, Add, Edit, x252 y152 w120 h20 vДоп_Расход_5 gInt, %Доп_Расход_5%
Gui, Add, Edit, x252 y172 w120 h20 vДоп_Расход_6 gInt, %Доп_Расход_6%
Gui, Add, Edit, x252 y192 w120 h20 vДоп_Расход_7 gInt, %Доп_Расход_7%
Gui, Add, Edit, x252 y212 w120 h20 vДоп_Расход_8 gInt, %Доп_Расход_8%
Gui, Add, Edit, x252 y232 w120 h20 vДоп_Расход_9 gInt, %Доп_Расход_9%
Gui, Add, Edit, x252 y252 w120 h20 vДоп_Расход_10 gInt, %Доп_Расход_10%
Gui, Add, Edit, x252 y272 w120 h20 vДоп_Расход_11 gInt, %Доп_Расход_11%
Gui, Add, Edit, x252 y292 w120 h20 vДоп_Расход_12 gInt, %Доп_Расход_12%
Gui, Add, Text, x332 y322 w100 h20 , ИТОГО РАСХОДЫ:
Gui, Add, GroupBox, x12 y112 w460 h260 , РАСХОДЫ за %Month% Месяц
Gui, Add, GroupBox, x12 y372 w460 h80 , ОСТАТОК за %Month% Месяц
Gui, Add, Text, x32 y392 w150 h20 , Чистая прибыль за месяц:
Gui, Add, Text, x36 y410 w90 h20 , % CashNow SpaseS UE
Gui, Add, Text, x222 y152 w30 h20 , % UE
Gui, Add, Text, x222 y172 w30 h20 , % UE
Gui, Add, Text, x222 y192 w30 h20 , % UE
Gui, Add, Text, x222 y212 w30 h20 , % UE
Gui, Add, Text, x222 y232 w30 h20 , % UE
Gui, Add, Text, x222 y252 w30 h20 , % UE
Gui, Add, Text, x222 y272 w30 h20 , % UE
Gui, Add, Text, x222 y292 w30 h20 , % UE
Gui, Add, Text, x432 y132 w30 h20 , % UE
Gui, Add, Text, x432 y152 w30 h20 , % UE
Gui, Add, Text, x432 y172 w30 h20 , % UE
Gui, Add, Text, x432 y192 w30 h20 , % UE
Gui, Add, Text, x432 y212 w30 h20 , % UE
Gui, Add, Text, x432 y232 w30 h20 , % UE
Gui, Add, Text, x432 y252 w30 h20 , % UE
Gui, Add, Text, x432 y272 w30 h20 , % UE
Gui, Add, Text, x432 y292 w30 h20 , % UE
Gui, 1:Show, x396 y175 h455 w479, % WinName
XXStart = 1
ИтогоКвартплата := % Свет + Газ + Вода + Комун
Out1 = % ИтогоКвартплата
Gui, Font, cBlue
GuiControl, Font, Static12
GuiControl,,Static12,% Out1 SpaseS UE
Gosub, ReCountInput
Return
; ==============================================================================
; ==============================================================================
; ============================ Метка относится к меню - Описание
MenuHandler:
Gosub, 99GuiClose
MigoLink := "http://migo.ucoz.ru"
ForumLink := "http://forum.script-coding.com"
About =
(
Возможности программы:
1. Ведение учета основных расходов, за 12 месяцев.
2. Парольная защита (конечно, от взлома это не защитит, но все равно - лучше чем ничего).
3. Есть возможность смены Денежной единицы (см. Меню)
4. Есть возможность переходить от месяца к месяцу. (см. Меню)
5. Есть возможность смены пароля. (см. Меню)
6. Данные регистрируются автоматически
)
Gui, 99: +ToolWindow
GUI,font,s6
Gui, 99:add, text, ,%About%
Gui, 99:add, text, cBlue gMigoLink , www.migo.ucoz.ru
Gui, 99:add, text, cBlue gForumLink , www.forum.script-coding.com
Gui, 99:Show, AutoSize, %WinName% - Описание
return
99GuiClose:
Gui, 99:Destroy
Return
MigoLink:
Run, http://migo.ucoz.ru
Return
ForumLink:
Run, http://forum.script-coding.com/
Return
; ==============================================================================
; ==============================================================================
In:
Gosub, InCheck
Gosub, ReCountInput
Return
Int:
Gui, 1:Submit, NoHide
Return
; ==============================================================================
; ========================Проверка, является ли введенные символи Числом
InCheck:
GuiControlGet, CurrValue,, %A_GuiControl%
If CurrValue Is Number
{
Gui, Font, cBlue
GuiControl, Font, %A_GuiControl% ; ===Если введенный символ - Число - Задать синий цвет Шрита
} Else {
Gui, Font, cRed
GuiControl, Font, %A_GuiControl% ; ===Если введенный символ - Не Число - Задать красный цвет, и переменные игнорируют ввод
Exit
}
Return
; ==============================================================================
; ==============================================================================
; ==============================================================================
; ========================арифметические действия
ReCountInput:
Gui, 1:Submit, NoHide
Input_All := Input + Input1 + Input2 + Input3
CashNow := Input_All - Out1 - Out2 - Out3 - Out4 - Out5 - Out6 - Out7 - Out8 - Out9 - Out10 - Out21 - Out12 - Out13 - Out14 - Out15 - Out16 - Out17 - Out18
Out_All := Out1 + Out2 + Out3 + Out4 + Out5 + Out6 + Out7 + Out8 + Out9 + Out10 + Out21 + Out12 + Out13 + Out14 + Out15 + Out16 + Out17 + Out18
Gui, Font, cBlue
GuiControl, Font, Static2
GuiControl,,Static2,% Input_All SpaseS UE
Gui, Font, cBlue
GuiControl, Font, Static18
GuiControl,,Static18,% Out_All SpaseS UE
Gui, Font, cBlue
GuiControl, Font, Static21
GuiControl,,Static21,% CashNow SpaseS UE
Return
; ==============================================================================
; ==============================================================================
; ==============================================================================
; =======================Раздел промежуточного сохранения данных из рабочих переменных окна гуи, в переменных сохранения в базе
Save:
LC := MonthNow * 42 - 42
LC += 1, Line%LC% := PasswordCheck
LC += 1, Line%LC% := UE
LC += 1, Line%LC% := Input
LC += 1, Line%LC% := Input1
LC += 1, Line%LC% := Input2
LC += 1, Line%LC% := Input3
LC += 1, Line%LC% := Out1
LC += 1, Line%LC% := Out2
LC += 1, Line%LC% := Out3
LC += 1, Line%LC% := Out4
LC += 1, Line%LC% := Out5
LC += 1, Line%LC% := Out6
LC += 1, Line%LC% := Out7
LC += 1, Line%LC% := Out8
LC += 1, Line%LC% := Out9
LC += 1, Line%LC% := Out10
LC += 1, Line%LC% := Out19
LC += 1, Line%LC% := Out21
LC += 1, Line%LC% := Out12
LC += 1, Line%LC% := Out13
LC += 1, Line%LC% := Out14
LC += 1, Line%LC% := Out15
LC += 1, Line%LC% := Out16
LC += 1, Line%LC% := Out17
LC += 1, Line%LC% := Out18
LC += 1, Line%LC% := CashNow
LC += 1, Line%LC% := Свет
LC += 1, Line%LC% := Газ
LC += 1, Line%LC% := Вода
LC += 1, Line%LC% := Комун
LC += 1, Line%LC% := Доп_Расход_1
LC += 1, Line%LC% := Доп_Расход_2
LC += 1, Line%LC% := Доп_Расход_3
LC += 1, Line%LC% := Доп_Расход_4
LC += 1, Line%LC% := Доп_Расход_5
LC += 1, Line%LC% := Доп_Расход_6
LC += 1, Line%LC% := Доп_Расход_7
LC += 1, Line%LC% := Доп_Расход_8
LC += 1, Line%LC% := Доп_Расход_9
LC += 1, Line%LC% := Доп_Расход_10
LC += 1, Line%LC% := Доп_Расход_11
LC += 1, Line%LC% := Доп_Расход_12
Return
; ==============================================================================
; ==============================================================================
; ==============================================================================
; ============== В случае закрытия скрипта, или выхода из него, данные базы данных, записываются последовательно в одну переменную
SaveExit:
MonthNow = 1
Count = 0
VAL .= "[Month" MonthNow "]" "`n"
Loop 504 {
Count += 1
Line := Line%A_Index%
VAL_%A_Index%_%MonthNow% := Line%A_Index%
VAL .= "VAL_" A_Index "_" MonthNow "=" Line "`n"
If Count >= 42
{
MonthNow += 1
Count = 0
VAL .= "[Month" MonthNow "]" "`n"
}
}
Gosub, Encrypt ; == Зашифровуем базу данных перед сохранением в файл
FileAppend, %VAL%, %A_ScriptDir%\DataBase\params.buh
ExitApp
; ==============================================================================
; ==============================================================================
GuiClose:
MsgBox, 4, Выход из Программы, Вы действительно хотите закрыть программу??, 10
IfMsgBox Yes
{
FileDelete, %A_ScriptDir%\DataBase\params.buh
Gosub, Save
Gui, Destroy
Goto, SaveExit
}
else
Return
; ==============================================================================
; ===================== Квартплата ================
Квартплата:
СветВнесен = 0
If СветВнесен = 0
{
InputBox, Свет, Оплата За Свет, %Свет%, , 200 , 100, 300, 200, , 120,%Свет%
ГазВнесен = 0
}
If ГазВнесен = 0
{
InputBox, Газ, Оплата За Газ, %Газ%, , 200 , 100, 300, 200, , 120,%Газ%
ВодаВнесен = 0
}
If ВодаВнесен = 0
{
InputBox, Вода, Оплата За Воду,%Вода% , , 200 , 100, 300, 200, , 120, %Вода%
КомунВнесен = 0
}
If КомунВнесен = 0
{
InputBox, Комун, Оплата За Комунальные Услуги,%Комун% , , 300 , 100, 300, 200, , 120, %Комун%
Просчеты = 0
}
If Просчеты = 0
{
ИтогоКвартплата := % Свет + Газ + Вода + Комун
MsgBox,Оплата за Свет %Свет% %UE% `nОплата за Газ %Газ% %UE% `nОплата за Воду %Вода% %UE% `nОплата за Комунальные Услуги %Комун% %UE% `n `n Итого: %ИтогоКвартплата% %UE%
Out1 = % ИтогоКвартплата
Gui, Font, cBlue
GuiControl, Font, Static12
GuiControl,,Static12,% Out1 SpaseS UE
Gosub, ReCountInput
}
Return
; ==============================================================================
; ==============================================================================
Chenge:
Gui, Destroy,
Gosub, Save
Gosub, gui8
Return
; ==============================================================================
; ===============================Шифрование данных
Encrypt:
Key = 185 ; Ключ шифра — число не более 255.
Shifr =
Loop, Parse, VAL ; Шифровка.
{
Code := Asc(A_LoopField)
Shifr .= Chr(Code = Key ? Key : Key ^ Code)
}
VAL := "", VAL := Shifr
Return
DEcrypt:
Key = 185 ; Ключ шифра — число не более 255.
Text =
Loop, Parse, VAL ; Расшифровка.
{
Code := Asc(A_LoopField)
Text .= Chr(Code = Key ? Key : Key ^ Code)
}
VAL := "", VAL := Text
Return
Описание:
Программа Домашняя Бухгалтерия 2.06 создана для ведения учета личных расходов.
Возможности программы:
1. Ведение учета основных расходов, за 12 месяцев.
2. Парольная защита (конечно, от взлома это не защитит, но все равно - лучше чем ничего).
3. Есть возможность смены Денежной единицы (см. Меню)
4. Есть возможность переходить от месяца к месяцу. (см. Меню)
5. Есть возможность смены пароля. (см. Меню)
6. Данные регистрируются автоматически
Отдельное спасибо за помощь в написании скрипта:
YMP, teadrinker, Nellex
Не спеши, а то успеешь..