Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <TabConstants.au3>
- #include <SQLite.au3>
- #include <Array.au3>
- $sPathBase = @ScriptDir & '\base.db'
- _SQLite_Startup() ; загрузка SQLite.dll в память (2мб)
- _SQLite_Open($sPathBase) ; Открывает базу данных
- _SQLite_Exec(-1, "Create Table IF NOT Exists 'Clients' ('ФИО' Text, 'Телефон' Text);") ; Создаёт таблицу "Clients" с 3 колонки ФИО, Телефон
- _SQLite_Exec(-1, "Create Table IF NOT Exists 'Master' ('ФИО' Text, 'Телефон' Text);") ; Создаёт таблицу "Master" с 3 колонки ФИО, Телефон
- _SQLite_Exec(-1, "Create Table IF NOT Exists 'Service' ('Сервис' Text);") ; Создаёт таблицу "Service" с 2 колонки Сервис
- _SQLite_Exec(-1, "Create Table IF NOT Exists 'Assot' ('Мастер' Text, 'Клиент' Text, 'Дата' Text, 'Услуга' Text, 'Размер оплаты' Text);") ; Создаёт таблицу "Assot" с 6 колонки Мастер - Клиент - Дата - Услуга - Размер оплаты
- $hGui = GUICreate('Программа', 450, 460)
- $tab = GUICtrlCreateTab(0, 0, 790, 370, $TCS_BUTTONS) ; Вкладки со стилем в виде кнопок
- $tab0 = GUICtrlCreateTabItem("Заявки")
- $iBtnAddApp = GUICtrlCreateButton('Добавить заявку', 10, 40, 120, 28)
- $iBtnAddSrv = GUICtrlCreateButton('Добавить вид услуги', 10, 70, 120, 28)
- $iBtnAddMaster = GUICtrlCreateButton('Добавить мастера', 10, 100, 120, 28)
- $tab1 = GUICtrlCreateTabItem("Отчёт")
- GUICtrlCreateTabItem('') ; конец вкладок
- ; $iBtn = GUICtrlCreateButton('Start', 10, 10, 120, 22)
- $iStatusBar = GUICtrlCreateLabel('StatusBar', 5, 460 - 20, 443, 17)
- GUISetState()
- OnAutoItExitRegister('_Exit') ; При выходе закрывает базу и выгружает dll
- Func _Exit()
- _SQLite_Close($sPathBase)
- _SQLite_Shutdown()
- EndFunc ;==>_Exit
- While 1
- Switch GUIGetMsg()
- Case $iBtnAddApp ; Добавить заявку
- $sNameTable = 'Service'
- $aNames = _NameCol($sNameTable) ; Пока возвращает имена колонок
- _ArrayDisplay($aNames, 'Array')
- Case $iBtnAddSrv ; Добавить вид услуги
- $tmp = InputBox('Добавить услугу', ' ', '', '', 170, 100)
- If Not @error Then _Insert_Service($tmp)
- Case $iBtnAddMaster ; Добавить мастера
- $sNameTable = 'Service'
- MsgBox(0, 'Сообщение', _CountRowInTable($sNameTable)) ; Пока возвращает количество строк в таблице
- Case -3
- Exit
- EndSwitch
- WEnd
- Func _Insert_Service($tmp) ; функция добавления элементов в файл базы
- Local $hQuery, $sRow
- If _SQLite_QuerySingleRow(-1, "SELECT ROWID,* FROM Service WHERE Сервис = '" & $tmp & "';", $sRow) = $SQLITE_OK Then
- GUICtrlSetData($iStatusBar, 'Уже существует эта услуга в списке')
- Else
- _SQLite_Exec(-1, "INSERT INTO 'Service'(Сервис) VALUES ('" & $tmp & "');") ; Вставка новой
- GUICtrlSetData($iStatusBar, 'Строка изменена, |' & $sRow & '|')
- EndIf
- EndFunc ;==>_Insert_Service
- Func _NameCol($sNameTable) ; функция добавления элементов в файл базы
- Local $hQuery, $aNames
- _SQLite_Query(-1, "SELECT ROWID,* FROM " & $sNameTable & ";", $hQuery)
- _SQLite_FetchNames($hQuery, $aNames)
- Return $aNames
- EndFunc ;==>_CountRowInTable
- Func _CountRowInTable($sNameTable) ; функция добавления элементов в файл базы
- Local $hQuery, $aRow
- _SQLite_Query(-1, "SELECT COUNT(*) FROM " & $sNameTable & ";", $hQuery)
- If _SQLite_FetchData($hQuery, $aRow, False, False) = $SQLITE_OK Then
- Return $aRow[0]
- Else
- Return SetError(1, 0, 0)
- EndIf
- _SQLite_QueryFinalize($hQuery) ; завершает запрос
- EndFunc ;==>_CountRowInTable
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement