Advertisement
Guest User

AUTOIT

a guest
Oct 22nd, 2018
143
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
AutoIt 5.06 KB | None | 0 0
  1. #include <Array.au3>
  2. #include <File.au3>
  3. #include <GUIConstantsEx.au3>
  4. #include <GuiListBox.au3>
  5.  
  6. Global $Files[0]
  7. Global $File_Attr[0][3]
  8. Global $Attr_Name[3] = ["", "", ""]
  9.  
  10. Global $DB_Name = "C:\Users\baramati\Desktop\Neuer Ordner\Database4.accdb"
  11. Global $Table_Name = "bhanu"
  12. Global $Attr_Name[3] = ["", "", ""]
  13.  
  14. _DBUpdate()
  15.  
  16. $Form_Main = GUICreate("GUI managing Database", 250, 380)
  17. $Group_Attributes = GUICtrlCreateGroup("Attributes", 20, 20, 200, 130)
  18. $Checkbox_1 = GUICtrlCreateCheckbox($Attr_Name[0], 40, 50)
  19. $Checkbox_2 = GUICtrlCreateCheckbox($Attr_Name[1], 40, 80)
  20. $Checkbox_3 = GUICtrlCreateCheckbox($Attr_Name[2], 40, 110)
  21. $idAddFile = GUICtrlCreateButton("Add", 160, 110, 50, 20)
  22. $Group_Files = GUICtrlCreateGroup("Files", 20, 160, 200, 200)
  23. $List = GUICtrlCreateList("", 40, 180, 180, 180)
  24. GUISetState(@SW_SHOW)
  25. ; GUI loop
  26. While 1
  27.     $msg = GUIGetMsg()
  28.     Switch $msg
  29.         Case $Checkbox_1, $Checkbox_2, $Checkbox_3
  30.             GUICtrlSetData($List, "")
  31.             Access($Checkbox_1)
  32.             Access($Checkbox_2)
  33.             Access($Checkbox_3)
  34.         Case $GUI_EVENT_CLOSE ; Close GUI
  35.             ExitLoop
  36.         Case $idAddFile
  37.             $sFiles = FileOpenDialog("Select Files", @ScriptDir, "Text Files(*.txt)", 5)
  38.                 If @error Then ContinueLoop
  39.             $AdoCon = ObjCreate("ADODB.Connection")
  40.             $AdoCon.Open("Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" & $DB_Name)
  41.             $AdoRs = ObjCreate("ADODB.Recordset")
  42.             $AdoRs.CursorType = 2
  43.             $AdoRs.LockType = 3
  44.             $AdoRs.Open("SELECT * FROM " & $Table_Name, $AdoCon)
  45.             $aFiles = StringSplit($sFiles, "|")
  46.             Switch $aFiles[0]
  47.                 Case 1
  48.                     $AdoRs.AddNew
  49.                     $AdoRs.Fields("Feld1").value = StringTrimLeft($aFiles[1], StringInStr($aFiles[1], "\", 0, -1))
  50.                     If BitAnd(GUICtrlRead($Checkbox_1),$GUI_CHECKED) = $GUI_CHECKED Then $AdoRs.Fields("Feld2").value = GUICtrlRead($Checkbox_1, 1)
  51.                     If BitAnd(GUICtrlRead($Checkbox_2),$GUI_CHECKED) = $GUI_CHECKED Then $AdoRs.Fields("Feld3").value = GUICtrlRead($Checkbox_2, 1)
  52.                     If BitAnd(GUICtrlRead($Checkbox_3),$GUI_CHECKED) = $GUI_CHECKED Then $AdoRs.Fields("Feld4").value = GUICtrlRead($Checkbox_3, 1)
  53.                     $AdoRs.Update
  54.                 Case 2 To $aFiles[0]
  55.                     For $i = 2 To $aFiles[0]
  56.                         $AdoRs.AddNew
  57.                         $AdoRs.Fields("Feld1").value = $aFiles[$i]
  58.                         If BitAnd(GUICtrlRead($Checkbox_1),$GUI_CHECKED) = $GUI_CHECKED Then $AdoRs.Fields("Feld2").value = GUICtrlRead($Checkbox_1, 1)
  59.                         If BitAnd(GUICtrlRead($Checkbox_2),$GUI_CHECKED) = $GUI_CHECKED Then $AdoRs.Fields("Feld3").value = GUICtrlRead($Checkbox_2, 1)
  60.                         If BitAnd(GUICtrlRead($Checkbox_3),$GUI_CHECKED) = $GUI_CHECKED Then $AdoRs.Fields("Feld4").value = GUICtrlRead($Checkbox_3, 1)
  61.                         $AdoRs.Update
  62.                     Next
  63.             EndSwitch
  64.             $AdoRs.close
  65.             $AdoCon.Close
  66.             _DBUpdate()
  67.             GUICtrlSetData($List, "")
  68.             Access($Checkbox_1)
  69.             Access($Checkbox_2)
  70.             Access($Checkbox_3)
  71.     EndSwitch
  72. WEnd
  73.  
  74. Func Access($Checkbox)
  75.     If GUICtrlRead($Checkbox) = $GUI_CHECKED Then
  76.         Local $Chkbox_label = GUICtrlRead($Checkbox, 1)
  77.         For $i = 0 To UBound($Files) - 1 Step 1
  78.             If $File_Attr[$i][0] = $Chkbox_label Or $File_Attr[$i][1] = $Chkbox_label Or $File_Attr[$i][2] = $Chkbox_label Then
  79.                 _GUICtrlListBox_AddString($List, $Files[$i])
  80.             EndIF
  81.         Next
  82.     EndIF
  83. EndFunc
  84.  
  85. Func _DBUpdate()
  86.     $AdoCon = ObjCreate("ADODB.Connection")
  87.     $AdoCon.Open("Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" & $DB_Name)
  88.  
  89.     $AdoRs = ObjCreate("ADODB.Recordset")
  90.     $AdoRs.CursorType = 1
  91.     $AdoRs.LockType = 3
  92.     $AdoRs.Open("SELECT COUNT(*) FROM " & $Table_Name, $AdoCon)
  93.     $dimension = $AdoRs.Fields(0).Value
  94.     ReDim $Files[$dimension]
  95.     ReDim $File_Attr[$dimension][3]
  96.     For $i = 0 To UBound($Files) - 1 Step 1
  97.         $AdoRs = ObjCreate("ADODB.Recordset")
  98.         $AdoRs.CursorType = 1
  99.         $AdoRs.LockType = 3
  100.         $AdoRs.Open("SELECT * FROM " & $Table_Name & " WHERE ID = " & ($i + 1), $AdoCon)
  101.         $Files[$i] = $AdoRs.Fields(1).Value
  102.         $File_Attr[$i][0] = $AdoRs.Fields(2).Value
  103.         $File_Attr[$i][1] = $AdoRs.Fields(3).Value
  104.         $File_Attr[$i][2] = $AdoRs.Fields(4).Value
  105.     Next
  106.     $AdoRs.Close
  107.     $AdoCon.Close
  108.  
  109.     Local $a = 0
  110.     For $i = 0 To UBound($Files) - 1 Step 1
  111.         For $j = 0 To 2 Step 1
  112.             If $a < 3 And Not $File_Attr[$i][$j] = "" Then
  113.                 For $k = $a To 2 Step 1
  114.                     If $Attr_Name[$k] = $File_Attr[$i][$j] Then
  115.                         ContinueLoop 2
  116.                     EndIf
  117.                 Next
  118.                 $Attr_Name[$a] = $File_Attr[$i][$j]
  119.                 $a = $a + 1
  120.             EndIf
  121.         Next
  122.     Next
  123. EndFunc
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement