#include <Access_UDF.au3>
#include <ButtonConstants.au3>
#include <Constants.au3>
#include <File.au3>
#Include <FileOperations.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <String.au3>
#include <UserGUI.au3>
#include <WindowsConstants.au3>
Const $TMP_FILEPATH = @ScriptDir
Const $DataFile = $TMP_FILEPATH & "/DataAIRU.accdb"
;Папка c прикрепляемыми файлами по умолчанию
Const $FilesPath = @ScriptDir
;Пароль
Const $p = "123"
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;Открываем соединение
Local $Connection = _Start_Connection($DataFile,"",$p)
ConsoleWrite($Connection & " connected" & @CRLF)
;Закрываем соединение
_Close_Connection()
;Запускаем интерфейс
RunGUI()
;Удалим окно загнруки (инициализации)
GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")
GUISetState()
Do
;Читаем GUI
$idMsg = GUIGetMsg(1)
;Выбираем по типу события
Select
;Закрытие окна
Case $idMsg[0]=$GUI_EVENT_CLOSE
ExitLoop
;Кнопка Добавления записи
cASE $idMsg[0] = $ButtonADD
Add()
;Кнопка диалогового окна выбора файла
Case $idMsg[0] = $ButtonFILE
FileO(FileOpenDialog("Выберите файл ", $FilesPath, "(*.jpg;*.bmp;*.pdf;*.gif;*.doc;*.docx;*.xls;*.xlsx)", 1 + 2))
EndSelect
Until $idMsg[0]=$GUI_EVENT_CLOSE
_GUICtrlRichEdit_Destroy($iInputRASS)
GUIDelete()
;DllClose($hDLL)
Exit
;Запускаем интерфейс
Func RunGUI()
Global $hGUI = GUICreate("Журнал", 1006, 1000, 0, 0, $WS_OVERLAPPEDWINDOW, $WS_EX_ACCEPTFILES)
;Элемент добавления файла
Global $iInputFile = GUICtrlCreateInput('', 538, 244, 182, 22)
GUICtrlSetState(-1, $GUI_DROPACCEPTED)
GUICtrlSetResizing (-1, 802)
GUICtrlSetTip(-1, "Путь прикрепляемого файла")
;Кнопка адреса файла
Global $ButtonFILE = GUICtrlCreateButton(" ", 730, 243, 46, 23)
GUICtrlSetResizing ($ButtonFILE, 802)
GUICtrlSetTip(-1, "Выбор файла")
;Кнопка Добавления записи
Global $ButtonADD = GUICtrlCreateButton("Добавить", 298, 242, 99, 38, $BS_DEFPUSHBUTTON)
GUICtrlSetResizing ($ButtonADD, 802)
EndFunc
Func Add()
Local $Connection = _Start_Connection($DataFile,"",$p)
if GUICtrlRead($iInputFILE) <> "" Then
;Имя таблицы
$filetablename = "files1"
$format = "test"
;Если файл существует
If FileExists(GUICtrlRead($iInputFILE)) Then
;Читаем как бинарный файл
$hFile = FileOpen(GUICtrlRead($iInputFILE), 16)
;Проверяет, является ли файл открытым, перед тем как использовать функции чтения/записи в файл
If $hFile <> -1 Then
$filesource = FileRead($hFile)
If @error = 1 Then
$filesource = ""
MsgBox(8192,"", "Ошибка при чтении файла")
EndIf
Else
$filesource = ""
MsgBox(8192,"", "Невозможно открыть файл.")
EndIf
FileClose($hFile)
Else
$filesource = ""
MsgBox(8192,"", "Файл не найден. Регистрация будет проведена без приложенного файла.")
EndIf
Local $res = _Create_Table("CREATE TABLE " & $filetablename & "(id int, order_num int, format CHAR, filesource OLEObject, PRIMARY KEY (id));")
if StringLeft($res, 6) = "Failed" Then
MsgBox(8192, "Ошибка", "Работа будет остановлена.")
GUIDelete()
Exit
EndIf
$res = _Insert_Data("INSERT INTO " & $filetablename & "([id], [format], [filesource]) VALUES ('1', '" & $format & "', " & $filesource & ")")
if StringLeft($res, 6) <> "Failed" Then
MsgBox(8192, "Ok", "Успешно добавлено")
GUIDelete()
Exit
EndIf
EndIf
_Close_Connection()
EndFunc
;Функция выбора файла
;$adress - адрес файла
Func FileO($adress)
If @error Then
MsgBox(4096, "", "Ошибка при выборе файла")
Else
GUICtrlSetData($iInputFILE, $adress)
EndIf
EndFunc