EckOp

VietGenius Source code

Jan 1st, 2016
281
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
AutoIt 94.91 KB | None | 0 0
  1. ; các thư viện sử dụng
  2. #include <ButtonConstants.au3>
  3. #include <GUIConstantsEx.au3>
  4. #include <GuiStatusBar.au3>
  5. #include <StaticConstants.au3>
  6. #include <WindowsConstants.au3>
  7. #include <Icons.au3>
  8. #include <EditConstants.au3>
  9. #include <GUIConstantsEx.au3>
  10. #include <Static_ButtonHover.au3>
  11. #include <GUIListBox.au3>
  12. #include <TabConstants.au3>
  13. #include <_ControlHover.au3>
  14. #include <Array.au3>
  15. #AutoIt3Wrapper_icon=VietGenius.ico
  16. #AutoIt3Wrapper_Res_Comment=Phần mềm dự thi
  17. #AutoIt3Wrapper_Res_Description=Viet Genius
  18. #AutoIt3Wrapper_Res_Fileversion=1.0.0.0
  19. #AutoIt3Wrapper_Res_LegalCopyright=MĐC
  20.  
  21. Global $kt, $causai[57], $socau_control[20], $socau_List[3][57], $Dapan_C[57][5], $Cautraloi[57], $thutucau[57], $caudung, $socauht, $thoigian, $phut, $GUI2, $socau, $ini, $dir
  22. Global $GUI1_Control[50], $GUI2_Control_Text[10][30][7], $GUI_Button[11], $id, $tv, $GUI_Button_Admin[5], $Admin_Gui1_Control[20], $tacvu
  23. Global $Admin_GUI2_Control[13], $anh, $caucu
  24.  
  25. ; Sử dụng unicode cho Database.dat
  26. $old = FileRead(@ScriptDir & '\Data\Database.dat')
  27. $file = FileOpen(@ScriptDir & '\Data\Database.dat', 32 + 2)
  28. FileWrite($file, $old)
  29. FileClose($file)
  30.  
  31. $GUIHo = GUICreate("Công cụ tiện ích học tập", 800, 600, -1, -1)
  32. $StatusBar2 = _GUICtrlStatusBar_Create($GUIHo)
  33. Dim $StatusBar2_PartsWidth[1] = [-1]
  34. _GUICtrlStatusBar_SetParts($StatusBar2, $StatusBar2_PartsWidth)
  35. _GUICtrlStatusBar_SetText($StatusBar2, "Công cụ tiện ích hỗ trợ học tập Viet-Genius - Hãy đăng nhập", 0)
  36. _GUICtrlStatusBar_SetMinHeight($StatusBar2, 25)
  37. GUISetBkColor(0xC0C0C0)
  38. GUISetState(@SW_SHOW)
  39. $taikhoan = DangNhap()
  40. If $taikhoan = 'giaovien' Then
  41.     $loaitk = 'admin'
  42. Else
  43.     $loaitk = 'none'
  44. EndIf
  45.  
  46.  
  47.  
  48. ; GUI
  49. $GUI = GUICreate("Công cụ tiện ích học tập", 800, 600, -1, -1)
  50. GUISetFont(10, 400, 0, "Tahoma")
  51. GUISetBkColor(0xFFFFFF)
  52. GUICtrlCreatePic("", 0, 0, 800, 117)
  53. _setimage(-1, @ScriptDir & '\Data\Picture\hinhanh' & Random(2, 3, 1) & '.png')
  54. GUICtrlCreatePic("", 8, 16, 84, 76)
  55. _setimage(-1, @ScriptDir & '\Data\Picture\icon.png')
  56. GUICtrlCreateLabel("Viet-Genius", 86, 10, 328, 81)
  57. GUICtrlSetFont(-1, 48, 400, 2, "Tahoma")
  58. GUICtrlSetColor(-1, 0xFFFFFF)
  59. GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
  60. GUICtrlCreateLabel("- Phần mềm dự thi -", 600, 60)
  61. GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
  62. GUICtrlCreateGroup("Thông tin", 160, 120, 633, 441)
  63. GUICtrlCreateGroup("", -99, -99, 1, 1)
  64. $StatusBar1 = _GUICtrlStatusBar_Create($GUI)
  65. Dim $StatusBar1_PartsWidth[1] = [-1]
  66. _GUICtrlStatusBar_SetParts($StatusBar1, $StatusBar1_PartsWidth)
  67. _GUICtrlStatusBar_SetText($StatusBar1, "Công cụ tiện ích hỗ trợ học tập Viet-Genius", 0)
  68. _GUICtrlStatusBar_SetMinHeight($StatusBar1, 25)
  69. ; Member
  70. $GUI1_Control[1] = GUICtrlCreatePic("", 216, 152, 153, 137, -1, BitOR($WS_EX_CLIENTEDGE, $WS_EX_STATICEDGE))
  71. If FileExists(@ScriptDir & '\Data\' & $taikhoan & '\avatar.jpg') Then
  72.     _setimage(-1, @ScriptDir & '\Data\' & $taikhoan & '\avatar.jpg')
  73. Else
  74.     _setimage(-1, @ScriptDir & '\Data\Picture\no_avatar.png')
  75. EndIf
  76. $GUI1_Control[2] = GUICtrlCreateLabel("[Đổi hình đại điện]", 240, 296, 104, 18)
  77. GUICtrlSetFont(-1, 9, 400, 2, "Tahoma")
  78. GUICtrlSetCursor(-1, 0)
  79. $GUI1_Control[3] = GUICtrlCreateLabel("Tên tài khoản: " & $taikhoan, 416, 160, 200, 20)
  80. $GUI1_Control[4] = GUICtrlCreateLabel("Họ tên của bạn: " & GText(IniRead(@ScriptDir & '\Data\Database.dat', PText($taikhoan), '2', '')), 416, 192, 200, 20)
  81. $GUI1_Control[5] = GUICtrlCreateLabel("Học sinh lớp: " & GText(IniRead(@ScriptDir & '\Data\Database.dat', PText($taikhoan), '3', '')), 416, 224, 200, 20)
  82. $GUI1_Control[7] = GUICtrlCreateLabel("Mật khẩu: **************", 416, 288, 177, 20)
  83. $GUI1_Control[8] = GUICtrlCreateLabel("Điểm năng động: " & GText(IniRead(@ScriptDir & '\Data\Database.dat', PText($taikhoan), '5', '')), 216, 336, 200, 20)
  84. $GUI1_Control[13] = GUICtrlCreateLabel("Điểm tài năng: " & GText(IniRead(@ScriptDir & '\Data\Database.dat', PText($taikhoan), '6', '')), 216, 368, 200, 20)
  85. $GUI1_Control[9] = GUICtrlCreatePic(@ScriptDir & "\Data\Picture\rate-" & Round(GText(IniRead(@ScriptDir & '\Data\Database.dat', PText($taikhoan), '5', '')) / 10) & ".gif", 384, 340, 70, 11)
  86. $GUI1_Control[14] = GUICtrlCreatePic(@ScriptDir & "\Data\Picture\rate-" & Round(GText(IniRead(@ScriptDir & '\Data\Database.dat', PText($taikhoan), '6', '')) / 20) & ".gif", 384, 372, 70, 11)
  87. $GUI1_Control[10] = GUICtrlCreateLabel("Email: " & GText(IniRead(@ScriptDir & '\Data\Database.dat', PText($taikhoan), '4', '')), 416, 256, 200, 20)
  88. $GUI1_Control[6] = GUICtrlCreateButton("Thay đổi", 656, 221, 75, 25)
  89. $GUI1_Control[11] = GUICtrlCreateButton("Thêm vào", 656, 253, 75, 25)
  90. $GUI1_Control[12] = GUICtrlCreateButton("Thay đổi", 656, 285, 75, 25)
  91. $GUI1_Control[15] = GUICtrlCreateButton("Thay đổi", 656, 189, 75, 25)
  92. $GUI1_Control[16] = GUICtrlCreateLabel("Bạn có thể tìm thêm điểm năng động và điểm tài năng qua việc làm thêm các bài tập trắc nghiệm, các bài tập làm quen với bàn phím, pascal,...", 216, 400, 549, 140)
  93.  
  94. If IniRead(@ScriptDir & '\Data\Database.dat', PText($taikhoan), '4', '') <> '' Then GUICtrlSetData($GUI1_Control[11], 'Thay đổi')
  95.  
  96. ; GUI ADMIN
  97. $Admin_Gui1_Control[1] = GUICtrlCreateList("", 176, 152, 153, 214)
  98. $taikhoan1 = IniReadSectionNames(@ScriptDir & '\Data\Database.dat')
  99. $ten = ''
  100. For $i = 1 To $taikhoan1[0]
  101.     If $taikhoan1[$i] <> '' Then $ten = $ten & '|' & Gtext($taikhoan1[$i])
  102. Next
  103. GUICtrlSetData($Admin_Gui1_Control[1], $ten)
  104. $Admin_Gui1_Control[2] = GUICtrlCreateLabel("Họ tên:", 344, 160, 254, 20)
  105. $Admin_Gui1_Control[3] = GUICtrlCreateLabel("Lớp:", 344, 192, 253, 20)
  106. $Admin_Gui1_Control[4] = GUICtrlCreateLabel("Email:", 344, 224, 256, 20)
  107. $Admin_Gui1_Control[5] = GUICtrlCreateLabel("Mật khẩu:", 344, 256, 253, 20)
  108. $Admin_Gui1_Control[6] = GUICtrlCreateLabel("Điểm năng động:", 344, 288, 256, 20)
  109. $Admin_Gui1_Control[7] = GUICtrlCreateLabel("Điểm tài năng:", 344, 320, 254, 20)
  110. $Admin_Gui1_Control[8] = GUICtrlCreatePic("", 632, 144, 137, 129, -1, BitOR($WS_EX_CLIENTEDGE, $WS_EX_STATICEDGE))
  111. _setimage($Admin_Gui1_Control[8], @ScriptDir & '\Data\Picture\no_avatar.png')
  112. $Admin_Gui1_Control[9] = GUICtrlCreateLabel("[Xóa hình đại diện]", 648, 280, 107, 18)
  113. GUICtrlSetFont(-1, 9, 400, 2, "Tahoma")
  114. GUICtrlSetCursor(-1, 0)
  115. $Admin_Gui1_Control[10] = GUICtrlCreateGroup("Tùy chỉnh", 160, 384, 633, 177)
  116. $Admin_Gui1_Control[11] = GUICtrlCreateCheckbox("Cho phép đăng ký thành viên", 368, 432, 225, 17)
  117. If IniRead(@ScriptDir & '\Data\System.dat', 'System', '1', '') = 0 Then GUICtrlSetState(-1, $GUI_CHECKED)
  118. $Admin_Gui1_Control[12] = GUICtrlCreateCheckbox("Cho phép đăng nhập vào hệ thống", 368, 464, 241, 17)
  119. If IniRead(@ScriptDir & '\Data\System.dat', 'System', '2', '') = 0 Then GUICtrlSetState(-1, $GUI_CHECKED)
  120. $Admin_Gui1_Control[13] = GUICtrlCreateCheckbox("Cho phép học sinh làm bài", 368, 496, 185, 17)
  121. If IniRead(@ScriptDir & '\Data\System.dat', 'System', '3', '') = 0 Then GUICtrlSetState(-1, $GUI_CHECKED)
  122. GUICtrlCreateGroup("", -99, -99, 1, 1)
  123. $Admin_Gui1_Control[14] = GUICtrlCreateButton("Xóa điểm năng động", 336, 344, 139, 25)
  124. $Admin_Gui1_Control[15] = GUICtrlCreateButton("Xóa điểm tài năng", 488, 344, 139, 25)
  125. $Admin_Gui1_Control[16] = GUICtrlCreateButton("Xóa thành viên", 640, 344, 139, 25)
  126. GUICtrlSetState($Admin_Gui1_Control[14], $GUI_DISABLE)
  127. GUICtrlSetState($Admin_Gui1_Control[15], $GUI_DISABLE)
  128. GUICtrlSetState($Admin_Gui1_Control[16], $GUI_DISABLE)
  129. GUICtrlSetState($Admin_Gui1_Control[9], $GUI_DISABLE)
  130. GUICtrlCreateGroup("", -99, -99, 1, 1)
  131. ;2
  132. $Admin_GUI2_Control[9] = GUICtrlCreatePic(@ScriptDir & "\Data\Picture\Up.bmp", 300, 220, 14, 20)
  133. GUICtrlSetCursor(-1, 0)
  134. $Admin_GUI2_Control[10] = GUICtrlCreatePic(@ScriptDir & "\Data\Picture\Down.bmp", 300, 240, 14, 20)
  135. GUICtrlSetCursor(-1, 0)
  136. $Admin_GUI2_Control[11] = GUICtrlCreatePic(@ScriptDir & "\Data\Picture\Up.bmp", 560, 220, 14, 20)
  137. GUICtrlSetCursor(-1, 0)
  138. $Admin_GUI2_Control[12] = GUICtrlCreatePic(@ScriptDir & "\Data\Picture\Down.bmp", 560, 240, 14, 20)
  139. GUICtrlSetCursor(-1, 0)
  140.  
  141. $Admin_GUI2_Control[1] = GUICtrlCreateList("", 176, 152, 120, 214, BitOR($LBS_NOTIFY, $WS_VSCROLL, $WS_BORDER))
  142. $Admin_GUI2_Control[6] = GUICtrlCreateList("", 328, 152, 230, 214, BitOR($LBS_NOTIFY, $WS_VSCROLL, $WS_BORDER))
  143. $thongtin = ''
  144. For $i = 1 To Number(IniRead(@ScriptDir & '\Data\List.dat', 'List', 'tong', ''))
  145.     $thongtin = $thongtin & '|' & '[' & $i & ']' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $i, '')
  146. Next
  147. GUICtrlSetData($Admin_GUI2_Control[1], $thongtin)
  148. $Admin_GUI2_Control[2] = GUICtrlCreateButton("Xóa", 176, 376, 67, 25)
  149. $Admin_GUI2_Control[3] = GUICtrlCreateButton("Thêm", 248, 376, 67, 25)
  150. $Admin_GUI2_Control[4] = GUICtrlCreateLabel("Vui lòng chọn một đề kiểm tra", 592, 152, 185, 212)
  151. GUICtrlSetFont(-1, 9, 400, 0, "Tahoma")
  152. $Admin_GUI2_Control[5] = GUICtrlCreateButton("Sửa thông tin", 632, 376, 115, 25)
  153. $Admin_GUI2_Control[7] = GUICtrlCreateButton("Thêm đề kiểm tra", 456, 376, 123, 25)
  154. $Admin_GUI2_Control[8] = GUICtrlCreateButton("Xóa đề kiểm tra", 328, 376, 123, 25)
  155. GUICtrlSetState($Admin_GUI2_Control[8], $GUI_DISABLE)
  156. GUICtrlSetState($Admin_GUI2_Control[5], $GUI_DISABLE)
  157. GUICtrlSetState($Admin_GUI2_Control[7], $GUI_DISABLE)
  158. GUICtrlSetState($Admin_GUI2_Control[2], $GUI_DISABLE)
  159. If $loaitk <> 'admin' Then
  160.     For $i = 1 To 16
  161.         GUICtrlSetState($Admin_Gui1_Control[$i], $GUI_HIDE)
  162.         If $i <= 12 Then GUICtrlSetState($Admin_GUI2_Control[$i], $GUI_HIDE)
  163.     Next
  164. Else
  165.     For $i = 1 To 12
  166.         GUICtrlSetState($Admin_GUI2_Control[$i], $GUI_HIDE)
  167.     Next
  168. EndIf
  169. $Up = GUICtrlCreatePic(@ScriptDir & "\Data\Picture\Up.bmp", 776, 313, 14, 20)
  170. GUICtrlSetCursor(-1, 0)
  171. $Down = GUICtrlCreatePic(@ScriptDir & "\Data\Picture\Down.bmp", 776, 337, 14, 20)
  172. GUICtrlSetCursor(-1, 0)
  173. GUICtrlSetState($Up, $GUI_HIDE)
  174. GUICtrlSetState($Down, $GUI_HIDE)
  175. For $j = 1 To Number(IniRead(@ScriptDir & '\Data\List.dat', 'List', 'tong', ''))
  176.     $v = 1
  177.     For $i = 1 To Number(IniRead(@ScriptDir & '\Data\List.dat', 'List', $j & '_t', ''))
  178.         $GUI2_Control_Text[$j][$i][2] = GUICtrlCreatePic(@ScriptDir & "\Data\Picture\ButtonA1.bmp", 708, 153 + ($v - 1) * 104, 57, 88)
  179.         GUICtrlSetCursor(-1, 0)
  180.         $GUI2_Control_Text[$j][$i][1] = GUICtrlCreatePic(@ScriptDir & "\Data\Picture\Bode.bmp", 184, 152 + ($v - 1) * 104, 582, 89)
  181.         $tenthumuc = IniRead(@ScriptDir & '\Data\List.dat', 'List', $j & '_d', '')
  182.  
  183.         $GUI2_Control_Text[$j][$i][3] = GUICtrlCreateLabel($i & '. ' & IniRead(@ScriptDir & '\Data\' & $tenthumuc & '\de' & $i & '.dat', 'Thongtin', 'ten', ''), 200, 165 + ($v - 1) * 104, 322, 61, BitOR($SS_CENTER, $SS_CENTERIMAGE))
  184.         GUICtrlSetFont(-1, 16, 400, 0, "Tahoma")
  185.         GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
  186.         $GUI2_Control_Text[$j][$i][4] = GUICtrlCreateLabel("Tổng cộng có " & IniRead(@ScriptDir & '\Data\' & $tenthumuc & '\de' & $i & '.dat', 'Thongtin', 'socau', '') & " câu hỏi", 536, 163 + ($v - 1) * 104)
  187.         GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
  188.         $GUI2_Control_Text[$j][$i][5] = GUICtrlCreateLabel("Bạn chưa từng làm đề này", 536, 211 + ($v - 1) * 104)
  189.         GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
  190.         If IniRead(@ScriptDir & '\Data\Database.dat', PText($taikhoan), IniRead(@ScriptDir & '\Data\' & $tenthumuc & '\de' & $i & '.dat', 'Thongtin', 'made', ''), '') <> '' Then GUICtrlSetData(-1, 'Điểm của bạn: ' & Gtext(IniRead(@ScriptDir & '\Data\Database.dat', PText($taikhoan), IniRead(@ScriptDir & '\Data\' & $tenthumuc & '\de' & $i & '.dat', 'Thongtin', 'made', ''), '')))
  191.  
  192.         $GUI2_Control_Text[$j][$i][6] = GUICtrlCreateLabel("Đề không có giải thích", 536, 187 + ($v - 1) * 104)
  193.         GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
  194.         If IniRead(@ScriptDir & '\Data\' & $tenthumuc & '\de' & $i & '.dat', 'Thongtin', 'giaithich', '') = 1 Then GUICtrlSetData(-1, 'Đề có giải thích')
  195.         For $u = 1 To 6
  196.             GUICtrlSetState($GUI2_Control_Text[$j][$i][$u], $GUI_HIDE)
  197.         Next
  198.         $v += 1
  199.         If Mod($i, 4) = 0 Then $v = 1
  200.     Next
  201. Next
  202. GUICtrlCreateGroup("", -99, -99, 1, 1)
  203. If $loaitk <> 'admin' Then
  204.     $GUI_Button[1] = CreateButtonHover("THÔNG TIN", 16, 128, 132, 36, _Icons_Bitmap_Load("Data\Picture\Button1.jpg"), _Icons_Bitmap_Load(@ScriptDir & "\Data\Picture\Button2.jpg"), _Icons_Bitmap_Load(@ScriptDir & "\Data\Picture\Button3.jpg"), 0xFFFFFF)
  205.     GUICtrlSetFont(-1, 10, 800, 0, "Tahoma")
  206.     $GUI_Button_Admin[1] = GUICtrlCreateButton('', 1000, 1000, 5, 5)
  207. Else
  208.     $GUI_Button[1] = CreateButtonHover("THÀNH VIÊN", 16, 128, 132, 36, _Icons_Bitmap_Load("Data\Picture\Button1.jpg"), _Icons_Bitmap_Load(@ScriptDir & "\Data\Picture\Button2.jpg"), _Icons_Bitmap_Load(@ScriptDir & "\Data\Picture\Button3.jpg"), 0xFFFFFF)
  209.     GUICtrlSetFont(-1, 10, 800, 0, "Tahoma")
  210.     $GUI_Button_Admin[1] = CreateButtonHover("ĐỀ KIỂM TRA", 16, 171, 132, 36, _Icons_Bitmap_Load("Data\Picture\Button1.jpg"), _Icons_Bitmap_Load(@ScriptDir & "\Data\Picture\Button2.jpg"), _Icons_Bitmap_Load(@ScriptDir & "\Data\Picture\Button3.jpg"), 0xFFFFFF)
  211.     GUICtrlSetFont(-1, 10, 800, 0, "Tahoma")
  212. EndIf
  213. If $loaitk <> 'admin' Then
  214.     For $i = 1 To Number(IniRead(@ScriptDir & '\Data\List.dat', 'List', 'tong', ''))
  215.         $GUI_Button[$i + 1] = CreateButtonHover(IniRead(@ScriptDir & '\Data\List.dat', 'List', $i, ''), 16, 128 + $i * 43, 132, 36, _Icons_Bitmap_Load("Data\Picture\Button1.jpg"), _Icons_Bitmap_Load(@ScriptDir & "\Data\Picture\Button2.jpg"), _Icons_Bitmap_Load(@ScriptDir & "\Data\Picture\Button3.jpg"), 0xFFFFFF)
  216.         GUICtrlSetFont(-1, 10, 800, 0, "Tahoma")
  217.     Next
  218. Else
  219.     For $i = 1 To Number(IniRead(@ScriptDir & '\Data\List.dat', 'List', 'tong', ''))
  220.         $GUI_Button[$i + 1] = GUICtrlCreateButton('', 1000, 1000, 1, 1)
  221.     Next
  222. EndIf
  223.  
  224. If $loaitk = 'admin' Then
  225.     For $i = 1 To 16
  226.         GUICtrlSetState($GUI1_Control[$i], $GUI_HIDE)
  227.     Next
  228.     For $j = 1 To Number(IniRead(@ScriptDir & '\Data\List.dat', 'List', 'tong', ''))
  229.         For $i = 1 To Number(IniRead(@ScriptDir & '\Data\List.dat', 'List', $j & '_t', ''))
  230.             For $u = 1 To 6
  231.                 GUICtrlSetState($GUI2_Control_Text[$j][$i][$u], $GUI_HIDE)
  232.             Next
  233.         Next
  234.     Next
  235. EndIf
  236. $id = 0
  237. GUISetState(@SW_SHOW)
  238. GUIDelete($GUIHo)
  239. While 1
  240.     $nMsg = GUIGetMsg()
  241.     Switch $nMsg
  242.         Case $Admin_GUI2_Control[7]
  243.             $num1 = StringSplit(GUICtrlRead($Admin_GUI2_Control[1]), ']')
  244.             $num = StringRight($num1[1], StringLen($num1[1]) - 1)
  245.             $num1 = StringSplit(GUICtrlRead($Admin_GUI2_Control[6]), ']')
  246.             $num2 = StringRight($num1[1], StringLen($num1[1]) - 1)
  247.             TaoSuaDe(1, IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_d', ''), $num, $num2)
  248.             $num1 = StringSplit(GUICtrlRead($Admin_GUI2_Control[1]), ']')
  249.             $num = StringRight($num1[1], StringLen($num1[1]) - 1)
  250.             $thongtin = ''
  251.             For $i = 1 To Number(IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_t', ''))
  252.                 $thongtin = $thongtin & '|' & '[' & $i & ']' & IniRead(@ScriptDir & '\Data\' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_d', '') & '\de' & $i & '.dat', 'Thongtin', 'ten', '')
  253.             Next
  254.             GUICtrlSetData($Admin_GUI2_Control[6], $thongtin)
  255.             GUICtrlSetState($Admin_GUI2_Control[8], $GUI_DISABLE)
  256.             GUICtrlSetState($Admin_GUI2_Control[5], $GUI_DISABLE)
  257.             GUICtrlSetData($Admin_GUI2_Control[4], "Vui lòng chọn một đề kiểm tra")
  258.         Case $Admin_GUI2_Control[3]
  259.             If Number(IniRead(@ScriptDir & '\Data\List.dat', 'List', 'tong', '')) < 11 Then
  260.                 $ok = 1
  261.                 Do
  262.                     $input = InputBox('Tên gói đề', 'Nhập tên gói đề', '', '', 150, 150)
  263.                     If @error Then ExitLoop
  264.                 Until $input <> ''
  265.  
  266.                 If $input <> '' Then
  267.                     For $i = 1 To Number(IniRead(@ScriptDir & '\Data\List.dat', 'List', 'tong', ''))
  268.                         If StringUpper($input) = IniRead(@ScriptDir & '\Data\List.dat', 'List', $i, '') Then
  269.                             MsgBox(64, 'Thông báo', 'Bạn đã có gói đề này trước đó')
  270.                             $ok = 0
  271.                             ExitLoop
  272.                         EndIf
  273.                     Next
  274.  
  275.  
  276.                     If $ok = 1 Then
  277.                         Do
  278.                             $input2 = InputBox('Tên thư mục gói đề', 'Nhập thư mục cho gói đề (không sử dụng khoảng cách và tiếng Việt có dấu hay chữ số)', '', '', 150, 150)
  279.                             If @error Then ExitLoop
  280.                         Until $input2 <> ''
  281.                         If StringIsASCII($input2) <> 1 Or StringIsAlpha($input2) <> 1 Or $input2 = '' Or FileExists(@ScriptDir & '\Data\' & $input2) Then
  282.                             $ok = 0
  283.                             If FileExists(@ScriptDir & '\Data\' & $input2) Then
  284.                                 MsgBox(64, 'Thông báo', 'Tên này đã được sử dụng')
  285.                             Else
  286.                                 MsgBox(64, 'Thông báo', 'Không sử dụng khoảng cách và tiếng Việt có dấu hay chữ số')
  287.                             EndIf
  288.                         EndIf
  289.                         If $ok = 1 Then
  290.                             IniWrite(@ScriptDir & '\Data\List.dat', 'List', 'tong', IniRead(@ScriptDir & '\Data\List.dat', 'List', 'tong', '') + 1)
  291.                             IniWrite(@ScriptDir & '\Data\List.dat', 'List', IniRead(@ScriptDir & '\Data\List.dat', 'List', 'tong', ''), StringUpper($input))
  292.                             IniWrite(@ScriptDir & '\Data\List.dat', 'List', IniRead(@ScriptDir & '\Data\List.dat', 'List', 'tong', '') & '_t', 0)
  293.                             IniWrite(@ScriptDir & '\Data\List.dat', 'List', IniRead(@ScriptDir & '\Data\List.dat', 'List', 'tong', '') & '_d', StringReplace($input2, ' ', ''))
  294.                             DirCreate(@ScriptDir & '\Data\' & StringReplace($input2, ' ', ''))
  295.                             GUICtrlSetData($Admin_GUI2_Control[4], "Vui lòng chọn một đề kiểm tra")
  296.                             $thongtin = ''
  297.                             For $i = 1 To Number(IniRead(@ScriptDir & '\Data\List.dat', 'List', 'tong', ''))
  298.                                 $thongtin = $thongtin & '|' & '[' & $i & ']' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $i, '')
  299.                             Next
  300.                             GUICtrlSetData($Admin_GUI2_Control[1], $thongtin)
  301.                             GUICtrlSetState($Admin_GUI2_Control[2], $GUI_DISABLE)
  302.                             GUICtrlSetState($Admin_GUI2_Control[7], $GUI_DISABLE)
  303.                             GUICtrlSetData($Admin_GUI2_Control[6], '')
  304.                             GUICtrlSetState($Admin_GUI2_Control[8], $GUI_DISABLE)
  305.                             GUICtrlSetState($Admin_GUI2_Control[5], $GUI_DISABLE)
  306.                         EndIf
  307.                     EndIf
  308.                 EndIf
  309.             Else
  310.                 MsgBox(64, 'Thông báo', 'Số lượng gói đề kiểm tra đã đạt mức giới hạn')
  311.             EndIf
  312.         Case $Admin_GUI2_Control[11] ; up 2
  313.             If GUICtrlRead($Admin_GUI2_Control[6]) <> '' Then
  314.                 $num1 = StringSplit(GUICtrlRead($Admin_GUI2_Control[1]), ']')
  315.                 $num = StringRight($num1[1], StringLen($num1[1]) - 1)
  316.                 $num1 = StringSplit(GUICtrlRead($Admin_GUI2_Control[6]), ']')
  317.                 $num2 = StringRight($num1[1], StringLen($num1[1]) - 1)
  318.                 If $num2 <> 1 Then
  319.  
  320.                     FileMove(@ScriptDir & '\Data\' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_d', '') & '\de' & $num2 & '.dat', @ScriptDir & '\Data\' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_d', '') & '\dea' & $num2 & '.dat', 1)
  321.                     FileMove(@ScriptDir & '\Data\' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_d', '') & '\de' & $num2 - 1 & '.dat', @ScriptDir & '\Data\' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_d', '') & '\de' & $num2 & '.dat', 1)
  322.                     FileMove(@ScriptDir & '\Data\' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_d', '') & '\dea' & $num2 & '.dat', @ScriptDir & '\Data\' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_d', '') & '\de' & $num2 - 1 & '.dat', 1)
  323.                     $thongtin = ''
  324.                     For $i = 1 To Number(IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_t', ''))
  325.                         $thongtin = $thongtin & '|' & '[' & $i & ']' & IniRead(@ScriptDir & '\Data\' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_d', '') & '\de' & $i & '.dat', 'Thongtin', 'ten', '')
  326.                     Next
  327.                     GUICtrlSetData($Admin_GUI2_Control[6], $thongtin)
  328.                     GUICtrlSetState($Admin_GUI2_Control[8], $GUI_DISABLE)
  329.                     GUICtrlSetState($Admin_GUI2_Control[5], $GUI_DISABLE)
  330.                     GUICtrlSetData($Admin_GUI2_Control[4], "Vui lòng chọn một đề kiểm tra")
  331.                 EndIf
  332.             EndIf
  333.         Case $Admin_GUI2_Control[12] ; down 2
  334.             If GUICtrlRead($Admin_GUI2_Control[6]) <> '' Then
  335.                 $num1 = StringSplit(GUICtrlRead($Admin_GUI2_Control[1]), ']')
  336.                 $num = StringRight($num1[1], StringLen($num1[1]) - 1)
  337.                 $num1 = StringSplit(GUICtrlRead($Admin_GUI2_Control[6]), ']')
  338.                 $num2 = StringRight($num1[1], StringLen($num1[1]) - 1)
  339.                 If $num2 <> IniRead(@ScriptDir & '\Data\List.dat', 'List', ($num) & '_t', '') Then
  340.                     FileMove(@ScriptDir & '\Data\' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_d', '') & '\de' & $num2 & '.dat', @ScriptDir & '\Data\' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_d', '') & '\dea' & $num2 & '.dat', 1)
  341.                     FileMove(@ScriptDir & '\Data\' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_d', '') & '\de' & $num2 + 1 & '.dat', @ScriptDir & '\Data\' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_d', '') & '\de' & $num2 & '.dat', 1)
  342.                     FileMove(@ScriptDir & '\Data\' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_d', '') & '\dea' & $num2 & '.dat', @ScriptDir & '\Data\' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_d', '') & '\de' & $num2 + 1 & '.dat', 1)
  343.                     $thongtin = ''
  344.                     For $i = 1 To Number(IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_t', ''))
  345.                         $thongtin = $thongtin & '|' & '[' & $i & ']' & IniRead(@ScriptDir & '\Data\' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_d', '') & '\de' & $i & '.dat', 'Thongtin', 'ten', '')
  346.                     Next
  347.                     GUICtrlSetData($Admin_GUI2_Control[6], $thongtin)
  348.                     GUICtrlSetState($Admin_GUI2_Control[8], $GUI_DISABLE)
  349.                     GUICtrlSetState($Admin_GUI2_Control[5], $GUI_DISABLE)
  350.                     GUICtrlSetData($Admin_GUI2_Control[4], "Vui lòng chọn một đề kiểm tra")
  351.                 EndIf
  352.             EndIf
  353.         Case $Admin_GUI2_Control[9] ; up 1
  354.             If GUICtrlRead($Admin_GUI2_Control[1]) <> '' Then
  355.                 $num1 = StringSplit(GUICtrlRead($Admin_GUI2_Control[1]), ']')
  356.                 $num = StringRight($num1[1], StringLen($num1[1]) - 1)
  357.                 If $num = 1 Then
  358.                     MsgBox(16, 'Thông báo', 'Không được dời đối tượng này')
  359.                 Else
  360.                     If $num <> 2 Then
  361.                         $tt1 = IniRead(@ScriptDir & '\Data\List.dat', 'List', $num - 1, '')
  362.                         $tt2 = IniRead(@ScriptDir & '\Data\List.dat', 'List', ($num - 1) & '_t', '')
  363.                         $tt3 = IniRead(@ScriptDir & '\Data\List.dat', 'List', ($num - 1) & '_d', '')
  364.                         IniWrite(@ScriptDir & '\Data\List.dat', 'List', ($num - 1), IniRead(@ScriptDir & '\Data\List.dat', 'List', $num, ''))
  365.                         IniWrite(@ScriptDir & '\Data\List.dat', 'List', ($num - 1) & '_t', IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_t', ''))
  366.                         IniWrite(@ScriptDir & '\Data\List.dat', 'List', ($num - 1) & '_d', IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_d', ''))
  367.                         IniWrite(@ScriptDir & '\Data\List.dat', 'List', $num, $tt1)
  368.                         IniWrite(@ScriptDir & '\Data\List.dat', 'List', $num & '_t', $tt2)
  369.                         IniWrite(@ScriptDir & '\Data\List.dat', 'List', $num & '_d', $tt3)
  370.                         GUICtrlSetData($Admin_GUI2_Control[4], "Vui lòng chọn một đề kiểm tra")
  371.                         $thongtin = ''
  372.                         For $i = 1 To Number(IniRead(@ScriptDir & '\Data\List.dat', 'List', 'tong', ''))
  373.                             $thongtin = $thongtin & '|' & '[' & $i & ']' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $i, '')
  374.                         Next
  375.                         GUICtrlSetData($Admin_GUI2_Control[1], $thongtin)
  376.                         GUICtrlSetState($Admin_GUI2_Control[2], $GUI_DISABLE)
  377.                         GUICtrlSetState($Admin_GUI2_Control[7], $GUI_DISABLE)
  378.                         GUICtrlSetData($Admin_GUI2_Control[6], '')
  379.                         GUICtrlSetState($Admin_GUI2_Control[8], $GUI_DISABLE)
  380.                         GUICtrlSetState($Admin_GUI2_Control[5], $GUI_DISABLE)
  381.                     EndIf
  382.                 EndIf
  383.             EndIf
  384.  
  385.         Case $Admin_GUI2_Control[10] ; down 1
  386.             If GUICtrlRead($Admin_GUI2_Control[1]) <> '' Then
  387.                 $num1 = StringSplit(GUICtrlRead($Admin_GUI2_Control[1]), ']')
  388.                 $num = StringRight($num1[1], StringLen($num1[1]) - 1)
  389.                 If $num = 1 Then
  390.                     MsgBox(16, 'Thông báo', 'Không được dời đối tượng này')
  391.                 Else
  392.                     If $num <> IniRead(@ScriptDir & '\Data\List.dat', 'List', 'tong', '') Then
  393.                         $tt1 = IniRead(@ScriptDir & '\Data\List.dat', 'List', $num + 1, '')
  394.                         $tt2 = IniRead(@ScriptDir & '\Data\List.dat', 'List', ($num + 1) & '_t', '')
  395.                         $tt3 = IniRead(@ScriptDir & '\Data\List.dat', 'List', ($num + 1) & '_d', '')
  396.                         IniWrite(@ScriptDir & '\Data\List.dat', 'List', ($num + 1), IniRead(@ScriptDir & '\Data\List.dat', 'List', $num, ''))
  397.                         IniWrite(@ScriptDir & '\Data\List.dat', 'List', ($num + 1) & '_t', IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_t', ''))
  398.                         IniWrite(@ScriptDir & '\Data\List.dat', 'List', ($num + 1) & '_d', IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_d', ''))
  399.                         IniWrite(@ScriptDir & '\Data\List.dat', 'List', $num, $tt1)
  400.                         IniWrite(@ScriptDir & '\Data\List.dat', 'List', $num & '_t', $tt2)
  401.                         IniWrite(@ScriptDir & '\Data\List.dat', 'List', $num & '_d', $tt3)
  402.                         GUICtrlSetData($Admin_GUI2_Control[4], "Vui lòng chọn một đề kiểm tra")
  403.                         $thongtin = ''
  404.                         For $i = 1 To Number(IniRead(@ScriptDir & '\Data\List.dat', 'List', 'tong', ''))
  405.                             $thongtin = $thongtin & '|' & '[' & $i & ']' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $i, '')
  406.                         Next
  407.                         GUICtrlSetData($Admin_GUI2_Control[1], $thongtin)
  408.                         GUICtrlSetState($Admin_GUI2_Control[2], $GUI_DISABLE)
  409.                         GUICtrlSetState($Admin_GUI2_Control[7], $GUI_DISABLE)
  410.                         GUICtrlSetData($Admin_GUI2_Control[6], '')
  411.                         GUICtrlSetState($Admin_GUI2_Control[8], $GUI_DISABLE)
  412.                         GUICtrlSetState($Admin_GUI2_Control[5], $GUI_DISABLE)
  413.                     EndIf
  414.                 EndIf
  415.             EndIf
  416.         Case $Admin_GUI2_Control[8]
  417.             If GUICtrlRead($Admin_GUI2_Control[6]) <> '' Then
  418.                 If MsgBox(1, 'Thông báo', 'Bạn có muốn xóa đề ' & StringRight(GUICtrlRead($Admin_GUI2_Control[6]), StringLen(GUICtrlRead($Admin_GUI2_Control[6])) - 3) & '?') = 1 Then
  419.                     $num1 = StringSplit(GUICtrlRead($Admin_GUI2_Control[1]), ']')
  420.                     $num = StringRight($num1[1], StringLen($num1[1]) - 1)
  421.                     $num1 = StringSplit(GUICtrlRead($Admin_GUI2_Control[6]), ']')
  422.                     $num2 = StringRight($num1[1], StringLen($num1[1]) - 1)
  423.                     IniWrite(@ScriptDir & '\Data\List.dat', 'List', $num & '_t', IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_t', '') - 1)
  424.                     FileDelete(@ScriptDir & '\Data\' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_d', '') & '\de' & $num2 & '.dat')
  425.                     DirRemove(@ScriptDir & '\Data\' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_d', '') & '\' & $num2, 1)
  426.                     For $i = $num2 To IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_t', '')
  427.                         FileMove(@ScriptDir & '\Data\' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_d', '') & '\de' & $i + 1 & '.dat', @ScriptDir & '\Data\' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_d', '') & '\de' & $i & '.dat', 1)
  428.                     Next
  429.                     $thongtin = ''
  430.                     For $i = 1 To Number(IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_t', ''))
  431.                         $thongtin = $thongtin & '|' & '[' & $i & ']' & IniRead(@ScriptDir & '\Data\' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_d', '') & '\de' & $i & '.dat', 'Thongtin', 'ten', '')
  432.                     Next
  433.                     GUICtrlSetData($Admin_GUI2_Control[6], $thongtin)
  434.                     GUICtrlSetState($Admin_GUI2_Control[8], $GUI_DISABLE)
  435.                     GUICtrlSetState($Admin_GUI2_Control[5], $GUI_DISABLE)
  436.                     GUICtrlSetData($Admin_GUI2_Control[4], "Vui lòng chọn một đề kiểm tra")
  437.                 EndIf
  438.             EndIf
  439.         Case $Admin_GUI2_Control[2]
  440.             If GUICtrlRead($Admin_GUI2_Control[1]) <> '' Then
  441.                 $num1 = StringSplit(GUICtrlRead($Admin_GUI2_Control[1]), ']')
  442.                 $num = StringRight($num1[1], StringLen($num1[1]) - 1)
  443.                 If $num = 1 Then
  444.                     MsgBox(16, 'Thông báo', 'Bạn không được xóa gói đề này')
  445.                 Else
  446.                     If MsgBox(1, 'Thông báo', 'Bạn có muốn xóa gói đề ' & StringRight(GUICtrlRead($Admin_GUI2_Control[1]), StringLen(GUICtrlRead($Admin_GUI2_Control[1])) - 3) & '?') = 1 Then
  447.                         IniWrite(@ScriptDir & '\Data\List.dat', 'List', 'tong', IniRead(@ScriptDir & '\Data\List.dat', 'List', 'tong', '') - 1)
  448.                         IniDelete(@ScriptDir & '\Data\List.dat', 'List', $num)
  449.                         IniDelete(@ScriptDir & '\Data\List.dat', 'List', $num & '_t')
  450.                         $dir = IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_d', '')
  451.                         IniDelete(@ScriptDir & '\Data\List.dat', 'List', $num & '_d')
  452.                         DirRemove(@ScriptDir & '\data\' & $dir, 1)
  453.                         For $i = $num To IniRead(@ScriptDir & '\Data\List.dat', 'List', 'tong', '')
  454.                             IniWrite(@ScriptDir & '\Data\List.dat', 'List', $i, IniRead(@ScriptDir & '\Data\List.dat', 'List', $num + 1, ''))
  455.                             IniWrite(@ScriptDir & '\Data\List.dat', 'List', $i & '_t', IniRead(@ScriptDir & '\Data\List.dat', 'List', ($num + 1) & '_t', ''))
  456.                             IniWrite(@ScriptDir & '\Data\List.dat', 'List', $i & '_d', IniRead(@ScriptDir & '\Data\List.dat', 'List', ($num + 1) & '_d', ''))
  457.                         Next
  458.                         GUICtrlSetData($Admin_GUI2_Control[4], "Vui lòng chọn một đề kiểm tra")
  459.                         $thongtin = ''
  460.                         For $i = 1 To Number(IniRead(@ScriptDir & '\Data\List.dat', 'List', 'tong', ''))
  461.                             $thongtin = $thongtin & '|' & '[' & $i & ']' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $i, '')
  462.                         Next
  463.                         GUICtrlSetData($Admin_GUI2_Control[1], $thongtin)
  464.                         GUICtrlSetState($Admin_GUI2_Control[2], $GUI_DISABLE)
  465.                         GUICtrlSetState($Admin_GUI2_Control[7], $GUI_DISABLE)
  466.                         GUICtrlSetData($Admin_GUI2_Control[6], '')
  467.                         GUICtrlSetState($Admin_GUI2_Control[8], $GUI_DISABLE)
  468.                         GUICtrlSetState($Admin_GUI2_Control[5], $GUI_DISABLE)
  469.                     EndIf
  470.                 EndIf
  471.             EndIf
  472.         Case $Admin_GUI2_Control[5]
  473.             If GUICtrlRead($Admin_GUI2_Control[1]) <> '' And GUICtrlRead($Admin_GUI2_Control[6]) <> '' Then
  474.  
  475.                 $num1 = StringSplit(GUICtrlRead($Admin_GUI2_Control[1]), ']')
  476.                 $num = StringRight($num1[1], StringLen($num1[1]) - 1)
  477.                 $num1 = StringSplit(GUICtrlRead($Admin_GUI2_Control[6]), ']')
  478.                 $num2 = StringRight($num1[1], StringLen($num1[1]) - 1)
  479.                 TaoSuaDe(0, IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_d', ''), $num, $num2)
  480.                 $tt1 = IniRead(@ScriptDir & '\Data\' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_d', '') & '\de' & $num2 & '.dat', 'Thongtin', 'ten', '')
  481.                 $tt2 = IniRead(@ScriptDir & '\Data\' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_d', '') & '\de' & $num2 & '.dat', 'Thongtin', 'socau', '')
  482.                 $tt3 = IniRead(@ScriptDir & '\Data\' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_d', '') & '\de' & $num2 & '.dat', 'Thongtin', 'giaithich', '')
  483.                 $tt4 = IniRead(@ScriptDir & '\Data\' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_d', '') & '\de' & $num2 & '.dat', 'Thongtin', 'made', '')
  484.                 $tt5 = IniRead(@ScriptDir & '\Data\' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_d', '') & '\de' & $num2 & '.dat', 'Thongtin', 'solanlam', '')
  485.                 $tt6 = IniRead(@ScriptDir & '\Data\' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_d', '') & '\de' & $num2 & '.dat', 'Thongtin', 'thoigian', '')
  486.                 $tt7 = IniRead(@ScriptDir & '\Data\' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_d', '') & '\de' & $num2 & '.dat', 'Thongtin', 'ngaunhien', '')
  487.                 $tt8 = IniRead(@ScriptDir & '\Data\' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_d', '') & '\de' & $num2 & '.dat', 'Thongtin', 'diemcao', '')
  488.                 $tt9 = IniRead(@ScriptDir & '\Data\' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_d', '') & '\de' & $num2 & '.dat', 'Thongtin', 'tdiemcao', '')
  489.                 If $tt3 = 1 Then
  490.                     $tt3 = 'Đề có giải thích'
  491.                 Else
  492.                     $tt3 = 'Đề không giải thích'
  493.                 EndIf
  494.                 If $tt7 = 1 Then
  495.                     $tt7 = 'Câu hỏi ngẫu nhiên'
  496.                 Else
  497.                     $tt7 = 'Câu hỏi không ngẫu nhiên'
  498.                 EndIf
  499.                 $thongtin = 'THÔNG TIN ĐỀ' & @CRLF & $tt1 & @CRLF & 'Số câu: ' & $tt2 & @CRLF & 'Mã đề: ' & $tt4 & @CRLF & 'Thời gian: ' & $tt6 & @CRLF & $tt3 & @CRLF & $tt7 & @CRLF & 'Số lần làm: ' & $tt5 & @CRLF & 'Điểm cao nhất: ' & $tt8 & @CRLF & 'Tài khoản có điểm cao: ' & $tt9
  500.                 GUICtrlSetData($Admin_GUI2_Control[4], $thongtin)
  501.             EndIf
  502.         Case $Admin_GUI2_Control[6]
  503.             If GUICtrlRead($Admin_GUI2_Control[6]) <> '' Then
  504.                 GUICtrlSetState($Admin_GUI2_Control[8], $GUI_ENABLE)
  505.  
  506.                 GUICtrlSetState($Admin_GUI2_Control[5], $GUI_ENABLE)
  507.                 $num1 = StringSplit(GUICtrlRead($Admin_GUI2_Control[1]), ']')
  508.                 $num = StringRight($num1[1], StringLen($num1[1]) - 1)
  509.                 $num1 = StringSplit(GUICtrlRead($Admin_GUI2_Control[6]), ']')
  510.                 $num2 = StringRight($num1[1], StringLen($num1[1]) - 1)
  511.                 $tt1 = IniRead(@ScriptDir & '\Data\' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_d', '') & '\de' & $num2 & '.dat', 'Thongtin', 'ten', '')
  512.                 $tt2 = IniRead(@ScriptDir & '\Data\' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_d', '') & '\de' & $num2 & '.dat', 'Thongtin', 'socau', '')
  513.                 $tt3 = IniRead(@ScriptDir & '\Data\' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_d', '') & '\de' & $num2 & '.dat', 'Thongtin', 'giaithich', '')
  514.                 $tt4 = IniRead(@ScriptDir & '\Data\' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_d', '') & '\de' & $num2 & '.dat', 'Thongtin', 'made', '')
  515.                 $tt5 = IniRead(@ScriptDir & '\Data\' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_d', '') & '\de' & $num2 & '.dat', 'Thongtin', 'solanlam', '')
  516.                 $tt6 = IniRead(@ScriptDir & '\Data\' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_d', '') & '\de' & $num2 & '.dat', 'Thongtin', 'thoigian', '')
  517.                 $tt7 = IniRead(@ScriptDir & '\Data\' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_d', '') & '\de' & $num2 & '.dat', 'Thongtin', 'ngaunhien', '')
  518.                 $tt8 = IniRead(@ScriptDir & '\Data\' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_d', '') & '\de' & $num2 & '.dat', 'Thongtin', 'diemcao', '')
  519.                 $tt9 = IniRead(@ScriptDir & '\Data\' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_d', '') & '\de' & $num2 & '.dat', 'Thongtin', 'tdiemcao', '')
  520.                 If $tt3 = 1 Then
  521.                     $tt3 = 'Đề có giải thích'
  522.                 Else
  523.                     $tt3 = 'Đề không giải thích'
  524.                 EndIf
  525.                 If $tt7 = 1 Then
  526.                     $tt7 = 'Câu hỏi ngẫu nhiên'
  527.                 Else
  528.                     $tt7 = 'Câu hỏi không ngẫu nhiên'
  529.                 EndIf
  530.                 $thongtin = 'THÔNG TIN ĐỀ' & @CRLF & $tt1 & @CRLF & 'Số câu: ' & $tt2 & @CRLF & 'Mã đề: ' & $tt4 & @CRLF & 'Thời gian: ' & $tt6 & @CRLF & $tt3 & @CRLF & $tt7 & @CRLF & 'Số lần làm: ' & $tt5 & @CRLF & 'Điểm cao nhất: ' & $tt8 & @CRLF & 'Tài khoản có điểm cao: ' & $tt9
  531.                 GUICtrlSetData($Admin_GUI2_Control[4], $thongtin)
  532.  
  533.             EndIf
  534.         Case $Admin_GUI2_Control[1]
  535.             GUICtrlSetState($Admin_GUI2_Control[7], $GUI_ENABLE)
  536.             GUICtrlSetState($Admin_GUI2_Control[2], $GUI_ENABLE)
  537.  
  538.             $num1 = StringSplit(GUICtrlRead($Admin_GUI2_Control[1]), ']')
  539.             $num = StringRight($num1[1], StringLen($num1[1]) - 1)
  540.  
  541.             $thongtin = ''
  542.  
  543.             For $i = 1 To Number(IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_t', ''))
  544.                 $thongtin = $thongtin & '|' & '[' & $i & ']' & IniRead(@ScriptDir & '\Data\' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_d', '') & '\de' & $i & '.dat', 'Thongtin', 'ten', '')
  545.             Next
  546.             GUICtrlSetData($Admin_GUI2_Control[6], $thongtin)
  547.             GUICtrlSetState($Admin_GUI2_Control[8], $GUI_DISABLE)
  548.             GUICtrlSetState($Admin_GUI2_Control[5], $GUI_DISABLE)
  549.             GUICtrlSetData($Admin_GUI2_Control[4], "Vui lòng chọn một đề kiểm tra")
  550.         Case $GUI_Button_Admin[1]
  551.             If $loaitk = 'admin' Then
  552.                 For $i = 1 To 16
  553.                     GUICtrlSetState($Admin_Gui1_Control[$i], $GUI_HIDE)
  554.                     If $i <= 12 Then GUICtrlSetState($Admin_GUI2_Control[$i], $GUI_SHOW)
  555.                 Next
  556.             EndIf
  557.         Case $Admin_Gui1_Control[11]
  558.             If GUICtrlRead($Admin_Gui1_Control[11]) = 1 Then
  559.                 IniWrite(@ScriptDir & '\Data\System.dat', 'System', '1', 0)
  560.             Else
  561.                 IniWrite(@ScriptDir & '\Data\System.dat', 'System', '1', 1)
  562.             EndIf
  563.         Case $Admin_Gui1_Control[12]
  564.             If GUICtrlRead($Admin_Gui1_Control[12]) = 1 Then
  565.                 IniWrite(@ScriptDir & '\Data\System.dat', 'System', '2', 0)
  566.             Else
  567.                 IniWrite(@ScriptDir & '\Data\System.dat', 'System', '2', 1)
  568.             EndIf
  569.         Case $Admin_Gui1_Control[13]
  570.             If GUICtrlRead($Admin_Gui1_Control[13]) = 1 Then
  571.                 IniWrite(@ScriptDir & '\Data\System.dat', 'System', '3', 0)
  572.             Else
  573.                 IniWrite(@ScriptDir & '\Data\System.dat', 'System', '3', 1)
  574.             EndIf
  575.         Case $Admin_Gui1_Control[9]
  576.             If $taikhoan <> '' Then
  577.                 If MsgBox(1, 'Thông báo', 'Bạn muốn xóa hình đại diện của thành viên này?') = 1 Then
  578.                     _setimage($Admin_Gui1_Control[8], @ScriptDir & '\Data\Picture\no_avatar.png')
  579.                     FileDelete(@ScriptDir & '\Data\' & $taikhoan & '\avatar.jpg')
  580.                 EndIf
  581.             EndIf
  582.         Case $Admin_Gui1_Control[14]
  583.             If $taikhoan <> '' Then
  584.                 If MsgBox(1, 'Thông báo', 'Bạn muốn xóa điểm năng động của thành viên này?') = 1 Then
  585.                     IniWrite(@ScriptDir & '\Data\Database.dat', PText($taikhoan), '5', PText(0))
  586.                     GUICtrlSetData($Admin_Gui1_Control[6], "Điểm năng động: 0")
  587.                 EndIf
  588.             EndIf
  589.         Case $Admin_Gui1_Control[15]
  590.             If $taikhoan <> '' Then
  591.                 If MsgBox(1, 'Thông báo', 'Bạn muốn xóa điểm tài năng của thành viên này?') = 1 Then
  592.                     IniWrite(@ScriptDir & '\Data\Database.dat', PText($taikhoan), '6', PText(0))
  593.                     GUICtrlSetData($Admin_Gui1_Control[7], "Điểm tài năng: 0")
  594.                 EndIf
  595.             EndIf
  596.         Case $Admin_Gui1_Control[16]
  597.             If $taikhoan <> '' Then
  598.                 If MsgBox(1, 'Thông báo', 'Bạn muốn xóa thành viên này?') = 1 Then
  599.                     IniDelete(@ScriptDir & '\Data\Database.dat', PText($taikhoan))
  600.                     _setimage($Admin_Gui1_Control[8], @ScriptDir & '\Data\Picture\no_avatar.png')
  601.                     GUICtrlSetData($Admin_Gui1_Control[6], "Điểm năng động:")
  602.                     GUICtrlSetData($Admin_Gui1_Control[7], "Điểm tài năng:")
  603.                     GUICtrlSetData($Admin_Gui1_Control[2], "Họ tên:")
  604.                     GUICtrlSetData($Admin_Gui1_Control[3], "Lớp:")
  605.                     GUICtrlSetData($Admin_Gui1_Control[4], "Email:")
  606.                     GUICtrlSetData($Admin_Gui1_Control[5], "Mật khẩu:")
  607.                     $taikhoan1 = IniReadSectionNames(@ScriptDir & '\Data\Database.dat')
  608.                     $ten = ''
  609.                     For $i = 1 To $taikhoan1[0]
  610.                         If $taikhoan1[$i] <> '' Then $ten = $ten & '|' & Gtext($taikhoan1[$i])
  611.                     Next
  612.                     GUICtrlSetData($Admin_Gui1_Control[1], $ten)
  613.                     GUICtrlSetState($Admin_Gui1_Control[14], $GUI_DISABLE)
  614.                     GUICtrlSetState($Admin_Gui1_Control[15], $GUI_DISABLE)
  615.                     GUICtrlSetState($Admin_Gui1_Control[16], $GUI_DISABLE)
  616.                     GUICtrlSetState($Admin_Gui1_Control[9], $GUI_DISABLE)
  617.                     $taikhoan = ''
  618.                 EndIf
  619.             EndIf
  620.         Case $Admin_Gui1_Control[1]
  621.             $taikhoan = GUICtrlRead($Admin_Gui1_Control[1])
  622.             GUICtrlSetState($Admin_Gui1_Control[14], $GUI_ENABLE)
  623.             GUICtrlSetState($Admin_Gui1_Control[15], $GUI_ENABLE)
  624.             GUICtrlSetState($Admin_Gui1_Control[16], $GUI_ENABLE)
  625.             GUICtrlSetState($Admin_Gui1_Control[9], $GUI_ENABLE)
  626.             GUICtrlSetData($Admin_Gui1_Control[2], 'Họ tên: ' & GText(IniRead(@ScriptDir & '\Data\Database.dat', PText($taikhoan), '2', '')))
  627.             GUICtrlSetData($Admin_Gui1_Control[3], "Lớp: " & GText(IniRead(@ScriptDir & '\Data\Database.dat', PText($taikhoan), '3', '')))
  628.             GUICtrlSetData($Admin_Gui1_Control[4], "Email: " & GText(IniRead(@ScriptDir & '\Data\Database.dat', PText($taikhoan), '4', '')))
  629.             GUICtrlSetData($Admin_Gui1_Control[5], "Mật khẩu: " & GText(IniRead(@ScriptDir & '\Data\Database.dat', PText($taikhoan), '1', '')))
  630.             GUICtrlSetData($Admin_Gui1_Control[6], "Điểm năng động: " & GText(IniRead(@ScriptDir & '\Data\Database.dat', PText($taikhoan), '5', '')))
  631.             GUICtrlSetData($Admin_Gui1_Control[7], "Điểm tài năng: " & GText(IniRead(@ScriptDir & '\Data\Database.dat', PText($taikhoan), '6', '')))
  632.             If FileExists(@ScriptDir & '\Data\' & $taikhoan & '\avatar.jpg') Then
  633.                 _setimage($Admin_Gui1_Control[8], @ScriptDir & '\Data\' & $taikhoan & '\avatar.jpg')
  634.             Else
  635.                 _setimage($Admin_Gui1_Control[8], @ScriptDir & '\Data\Picture\no_avatar.png')
  636.             EndIf
  637.  
  638.  
  639.  
  640.         Case $Down
  641.             DownUp(1)
  642.         Case $Up
  643.             DownUp(2)
  644.         Case $GUI1_Control[2]
  645.             $input = FileOpenDialog('Chọn hình đại diện', '', 'Hình ảnh (*.jpg;*.png)')
  646.  
  647.             If $input = '' Then
  648.             Else
  649.                 DirCreate(@ScriptDir & '\Data\' & $taikhoan)
  650.                 FileCopy($input, @ScriptDir & '\Data\' & $taikhoan & '\avatar.jpg', 1)
  651.                 _setimage($GUI1_Control[1], @ScriptDir & '\Data\' & $taikhoan & '\avatar.jpg')
  652.             EndIf
  653.         Case $GUI1_Control[11]
  654.             Do
  655.                 $input = InputBox('Email', 'Vui lòng nhập email của bạn', '', '', 125, 125)
  656.                 If @error Then ExitLoop
  657.             Until $input <> ''
  658.             If $input = '' Then
  659.             Else
  660.                 IniWrite(@ScriptDir & '\Data\Database.dat', PText($taikhoan), '4', Ptext($input))
  661.                 GUICtrlSetData($GUI1_Control[10], "Email: " & GText(IniRead(@ScriptDir & '\Data\Database.dat', PText($taikhoan), '4', '')))
  662.             EndIf
  663.         Case $GUI1_Control[12]
  664.             Do
  665.                 $input = InputBox('Mật khẩu', 'Vui lòng nhập mật khẩu cũ của bạn', '', '*', 150, 150)
  666.                 If @error Then ExitLoop
  667.             Until $input <> ''
  668.             If $input = '' Then
  669.             Else
  670.                 If $input = GText(IniRead(@ScriptDir & '\Data\Database.dat', PText($taikhoan), '1', '')) Then
  671.                     Do
  672.                         $input = InputBox('Mật khẩu mới', 'Vui lòng nhập mật khẩu mới của bạn' & @CRLF & 'Mật khẩu phải trên 4 ký tự', '', '*', 150, 150)
  673.                         If @error Then ExitLoop
  674.                     Until $input <> ''
  675.                     If $input = '' Then
  676.                     Else
  677.                         If StringLen($input) <= 4 Then
  678.                             MsgBox(16, 'Thông báo', 'Mật khẩu phải trên 4 ký tự')
  679.                         Else
  680.                             Do
  681.                                 $input2 = InputBox('Xác nhận', 'Vui lòng xác nhận lại', '', '*', 150, 150)
  682.                                 If @error Then ExitLoop
  683.                             Until $input2 <> ''
  684.                             If $input2 = '' Then
  685.                             Else
  686.                                 If $input2 = $input Then
  687.                                     IniWrite(@ScriptDir & '\Data\Database.dat', PText($taikhoan), '1', Ptext($input))
  688.                                 Else
  689.                                     MsgBox(16, 'Thông báo', 'Xác nhận không chính xác')
  690.                                 EndIf
  691.                             EndIf
  692.                         EndIf
  693.                     EndIf
  694.                 Else
  695.                     MsgBox(16, 'Thông báo', 'Không chính xác')
  696.                 EndIf
  697.             EndIf
  698.  
  699.         Case $GUI1_Control[15]
  700.             Do
  701.                 $input = InputBox('Tên học sinh', 'Vui lòng nhập họ tên của bạn', '', '', 125, 125)
  702.                 If @error Then ExitLoop
  703.             Until $input <> ''
  704.             If $input = '' Then
  705.             Else
  706.                 IniWrite(@ScriptDir & '\Data\Database.dat', PText($taikhoan), '2', Ptext($input))
  707.                 GUICtrlSetData($GUI1_Control[4], "Họ tên của bạn: " & GText(IniRead(@ScriptDir & '\Data\Database.dat', PText($taikhoan), '2', '')))
  708.             EndIf
  709.  
  710.         Case $GUI1_Control[6]
  711.             Do
  712.                 $input = InputBox('Học sinh lớp', 'Vui lòng nhập lớp của bạn', '', '', 125, 125)
  713.                 If @error Then ExitLoop
  714.             Until $input <> ''
  715.             If $input = '' Then
  716.             Else
  717.                 IniWrite(@ScriptDir & '\Data\Database.dat', PText($taikhoan), '3', Ptext($input))
  718.                 GUICtrlSetData($GUI1_Control[5], "Học sinh lớp: " & GText(IniRead(@ScriptDir & '\Data\Database.dat', PText($taikhoan), '3', '')))
  719.             EndIf
  720.         Case $GUI_EVENT_CLOSE
  721.             Exit
  722.  
  723.  
  724.         Case Else
  725.             For $i = 1 To Number(IniRead(@ScriptDir & '\Data\List.dat', 'List', 'tong', '')) + 1
  726.                 If $nMsg = $GUI_Button[$i] Then
  727.                     If $loaitk <> 'admin' Then
  728.                         ShowGUI($i)
  729.                     Else
  730.                         ShowGUI2($i)
  731.                     EndIf
  732.                 EndIf
  733.             Next
  734.             For $i = 1 To Number(IniRead(@ScriptDir & '\Data\List.dat', 'List', $id & '_t', ''))
  735.  
  736.                 If $nMsg = $GUI2_Control_Text[$id][$i][2] Then
  737.  
  738.                     Batdau($i, IniRead(@ScriptDir & '\Data\List.dat', 'List', $id & '_d', ''))
  739.                     GUISetState(@SW_SHOW, $GUI)
  740.                     GUISwitch($GUI)
  741.  
  742.                     GUICtrlSetData($GUI1_Control[8], "Điểm năng động: " & GText(IniRead(@ScriptDir & '\Data\Database.dat', PText($taikhoan), '5', '')))
  743.                     GUICtrlSetData($GUI1_Control[13], "Điểm tài năng: " & GText(IniRead(@ScriptDir & '\Data\Database.dat', PText($taikhoan), '6', '')))
  744.                     _setimage($GUI1_Control[9], @ScriptDir & "\Data\Picture\rate-" & Round(GText(IniRead(@ScriptDir & '\Data\Database.dat', PText($taikhoan), '5', '')) / 10) & ".gif")
  745.                     _setimage($GUI1_Control[14], @ScriptDir & "\Data\Picture\rate-" & Round(GText(IniRead(@ScriptDir & '\Data\Database.dat', PText($taikhoan), '6', '')) / 20) & ".gif")
  746.                     $tenthumuc = IniRead(@ScriptDir & '\Data\List.dat', 'List', $id & '_d', '')
  747.                     If IniRead(@ScriptDir & '\Data\Database.dat', PText($taikhoan), IniRead(@ScriptDir & '\Data\' & $tenthumuc & '\de' & $i & '.dat', 'Thongtin', 'made', ''), '') <> '' Then GUICtrlSetData($GUI2_Control_Text[$id][$i][5], 'Điểm của bạn: ' & Gtext(IniRead(@ScriptDir & '\Data\Database.dat', PText($taikhoan), IniRead(@ScriptDir & '\Data\' & $tenthumuc & '\de' & $i & '.dat', 'Thongtin', 'made', ''), '')))
  748.                 EndIf
  749.  
  750.  
  751.             Next
  752.     EndSwitch
  753.  
  754. WEnd
  755.  
  756. Func ShowGUI($text)
  757.     GUISwitch($GUI)
  758.     $id = $text - 1
  759.  
  760.     If $text = 1 Then
  761.         For $i = 1 To 16
  762.             GUICtrlSetState($GUI1_Control[$i], $GUI_SHOW)
  763.         Next
  764.         For $j = 1 To Number(IniRead(@ScriptDir & '\Data\List.dat', 'List', 'tong', ''))
  765.             For $i = 1 To Number(IniRead(@ScriptDir & '\Data\List.dat', 'List', $j & '_t', ''))
  766.                 For $u = 1 To 6
  767.                     GUICtrlSetState($GUI2_Control_Text[$j][$i][$u], $GUI_HIDE)
  768.                 Next
  769.             Next
  770.         Next
  771.  
  772.     Else
  773.  
  774.         For $i = 1 To 16
  775.             GUICtrlSetState($GUI1_Control[$i], $GUI_HIDE)
  776.         Next
  777.         For $j = 1 To Number(IniRead(@ScriptDir & '\Data\List.dat', 'List', 'tong', ''))
  778.  
  779.             If Number(IniRead(@ScriptDir & '\Data\List.dat', 'List', $j & '_t', '')) <= 4 Then
  780.  
  781.                 $go = Number(IniRead(@ScriptDir & '\Data\List.dat', 'List', $j & '_t', ''))
  782.             Else
  783.  
  784.                 $go = 4
  785.             EndIf
  786.  
  787.             For $i = 1 To $go
  788.                 For $u = 1 To 6
  789.                     If $j = $text - 1 Then
  790.                         GUICtrlSetState($GUI2_Control_Text[$j][$i][$u], $GUI_SHOW)
  791.                     Else
  792.                         GUICtrlSetState($GUI2_Control_Text[$j][$i][$u], $GUI_HIDE)
  793.                     EndIf
  794.                 Next
  795.  
  796.                 $tenthumuc = IniRead(@ScriptDir & '\Data\List.dat', 'List', $j & '_d', '')
  797.                 If IniRead(@ScriptDir & '\Data\Database.dat', PText($taikhoan), IniRead(@ScriptDir & '\Data\' & $tenthumuc & '\de' & $i & '.dat', 'Thongtin', 'made', ''), '') <> '' Then GUICtrlSetData($GUI2_Control_Text[$j][$i][5], 'Điểm của bạn: ' & Gtext(IniRead(@ScriptDir & '\Data\Database.dat', PText($taikhoan), IniRead(@ScriptDir & '\Data\' & $tenthumuc & '\de' & $i & '.dat', 'Thongtin', 'made', ''), '')))
  798.  
  799.             Next
  800.  
  801.         Next
  802.     EndIf
  803.  
  804.     If Number(IniRead(@ScriptDir & '\Data\List.dat', 'List', $id & '_t', '')) <= 4 Then
  805.         GUICtrlSetState($Up, $GUI_HIDE)
  806.         GUICtrlSetState($Down, $GUI_HIDE)
  807.     Else
  808.         GUICtrlSetState($Up, $GUI_SHOW)
  809.         GUICtrlSetState($Down, $GUI_SHOW)
  810.     EndIf
  811.  
  812.     $tv = 1
  813. EndFunc   ;==>ShowGUI
  814.  
  815. Func DownUp($text)
  816.     GUISwitch($GUI)
  817.     If $text = 1 Then ;down
  818.         If Number(IniRead(@ScriptDir & '\Data\List.dat', 'List', $id & '_t', '')) > $tv * 4 Then
  819.  
  820.             For $i = 1 To $tv * 4
  821.                 For $u = 1 To 6
  822.                     GUICtrlSetState($GUI2_Control_Text[$id][$i][$u], $GUI_HIDE)
  823.                 Next
  824.             Next
  825.             If Number(IniRead(@ScriptDir & '\Data\List.dat', 'List', $id & '_t', '')) - $tv * 4 > 4 Then
  826.                 $go = $tv * 4 + 4
  827.             Else
  828.                 $go = Number(IniRead(@ScriptDir & '\Data\List.dat', 'List', $id & '_t', ''))
  829.             EndIf
  830.             For $i = $tv * 4 + 1 To $go
  831.                 For $u = 1 To 6
  832.                     GUICtrlSetState($GUI2_Control_Text[$id][$i][$u], $GUI_SHOW)
  833.                 Next
  834.             Next
  835.             $tv += 1
  836.         EndIf
  837.     Else ; up
  838.         If $tv <> 1 Then
  839.             If Number(IniRead(@ScriptDir & '\Data\List.dat', 'List', $id & '_t', '')) > $tv * 4 Then
  840.                 $go = $tv * 4
  841.             Else
  842.                 $go = Number(IniRead(@ScriptDir & '\Data\List.dat', 'List', $id & '_t', ''))
  843.             EndIf
  844.             For $i = ($tv - 1) * 4 + 1 To $go
  845.                 For $u = 1 To 6
  846.                     GUICtrlSetState($GUI2_Control_Text[$id][$i][$u], $GUI_HIDE)
  847.                 Next
  848.             Next
  849.             $tv -= 1
  850.             $go = ($tv - 1) * 4 + 1
  851.             For $i = $go To $tv * 4
  852.                 For $u = 1 To 6
  853.                     GUICtrlSetState($GUI2_Control_Text[$id][$i][$u], $GUI_SHOW)
  854.                 Next
  855.             Next
  856.  
  857.  
  858.         EndIf
  859.     EndIf
  860. EndFunc   ;==>DownUp
  861. Func ShowGUI2($text)
  862.     If $loaitk = 'admin' Then
  863.         For $i = 1 To 16
  864.             GUICtrlSetState($Admin_Gui1_Control[$i], $GUI_SHOW)
  865.             If $i <= 12 Then GUICtrlSetState($Admin_GUI2_Control[$i], $GUI_HIDE)
  866.         Next
  867.     EndIf
  868. EndFunc   ;==>ShowGUI2
  869.  
  870. Func TaoSuaDe($lammoi, $dir1, $tacvu1, $sode)
  871.  
  872.     $caucu = 0
  873.     $suthaydoi = 0
  874.     $dir = $dir1
  875.     $tacvu = $tacvu1
  876.  
  877.  
  878.     If $lammoi = 1 Then
  879.         $made = Chr(Random(65, 90, 1)) & Random(1, 9, 1) & Chr(Random(65, 90, 1)) & Random(1, 9, 1) & Chr(Random(65, 90, 1))
  880.         $tile = 'Tạo đề kiểm tra'
  881.         $dir = @ScriptDir & '\Data\' & $dir & '\de' & (IniRead(@ScriptDir & '\Data\List.dat', 'List', $tacvu & '_t', '') + 1) & '.dat'
  882.         if FileExists($dir) then FileDelete($dir)
  883.     Else
  884.         $dir = @ScriptDir & '\Data\' & $dir & '\de' & $sode & '.dat'
  885.         $made = IniRead($dir, 'Thongtin', 'made', '')
  886.         $tile = IniRead($dir, 'Thongtin', 'ten', '') & ' - Mã đề: ' & $made
  887.     EndIf
  888.  
  889.     $old = FileRead($dir)
  890.     $file = FileOpen($dir, 32 + 2)
  891.     FileWrite($file, $old)
  892.     FileClose($file)
  893.     Dim $GUI_CH1_Control[20], $GUI_CH2_Control[30]
  894.     $GUI_De = GUICreate($tile, 623, 450, -1, -1, 0)
  895.     GUISetFont(10, 400, 0, "Tahoma")
  896.     $Tab1 = GUICtrlCreateTab(8, 8, 601, 369)
  897.     GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
  898.     $TabSheet1 = GUICtrlCreateTabItem("Thông tin đề")
  899.     $GUI_CH1_Control[1] = GUICtrlCreateLabel("Tên đề kiểm tra:", 88, 64, 100, 20)
  900.     GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
  901.     $GUI_CH1_Control[2] = GUICtrlCreateInput("", 192, 61, 281, 24)
  902.     GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
  903.     GUICtrlSetData(-1, IniRead($dir, 'Thongtin', 'ten', ''))
  904.     $GUI_CH1_Control[3] = GUICtrlCreateLabel("Thời gian (phút):", 88, 104, 101, 20)
  905.     GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
  906.     $GUI_CH1_Control[4] = GUICtrlCreateInput("", 192, 101, 97, 24, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER))
  907.     GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
  908.     GUICtrlSetData(-1, IniRead($dir, 'Thongtin', 'thoigian', ''))
  909.  
  910.     $GUI_CH1_Control[5] = GUICtrlCreateLabel("Số câu hỏi: ", 304, 104, 73, 20)
  911.     GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
  912.     $GUI_CH1_Control[6] = GUICtrlCreateInput("", 384, 101, 89, 24, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER))
  913.     GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
  914.     GUICtrlSetData(-1, IniRead($dir, 'Thongtin', 'socau', ''))
  915.  
  916.     $GUI_CH1_Control[7] = GUICtrlCreateCheckbox("Tự động xáo trộn các câu hỏi trong đề", 88, 144, 385, 17)
  917.     GUICtrlSetState(-1, $GUI_CHECKED)
  918.     If IniRead($dir, 'Thongtin', 'ngaunhien', '') = 0 Then GUICtrlSetState(-1, $GUI_UNCHECKED)
  919.     If IniRead($dir, 'Thongtin', 'ngaunhien', '') = '' Then GUICtrlSetState(-1, $GUI_CHECKED)
  920.     GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
  921.     $GUI_CH1_Control[8] = GUICtrlCreateCheckbox("Cho phép hiển thị chức năng giải thích", 88, 192)
  922.     GUICtrlSetState(-1, $GUI_CHECKED)
  923.     If IniRead($dir, 'Thongtin', 'giaithich', '') = 0 Then GUICtrlSetState(-1, $GUI_UNCHECKED)
  924.     If IniRead($dir, 'Thongtin', 'giaithich', '') = '' Then GUICtrlSetState(-1, $GUI_CHECKED)
  925.     $GUI_CH1_Control[14] = GUICtrlCreateCheckbox("Cho phép xem lại các câu sai", 88, 168)
  926.     GUICtrlSetState(-1, $GUI_CHECKED)
  927.     If IniRead($dir, 'Thongtin', 'xemlai', '') = 0 Then GUICtrlSetState(-1, $GUI_UNCHECKED)
  928.     If IniRead($dir, 'Thongtin', 'xemlai', '') = '' Then GUICtrlSetState(-1, $GUI_CHECKED)
  929.  
  930.     GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
  931.     $GUI_CH1_Control[9] = GUICtrlCreateLabel("Số điểm cao nhất mà học sinh đạt được: <chưa có>", 88, 296, 371, 20)
  932.     GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
  933.     If IniRead($dir, 'Thongtin', 'diemcao', '') <> '' Then GUICtrlSetData(-1, "Số điểm cao nhất mà học sinh đạt được: " & IniRead($dir, 'Thongtin', 'diemcao', ''))
  934.     $GUI_CH1_Control[10] = GUICtrlCreateLabel("Tổng số học sinh đã làm đề này: <chưa có>", 88, 272, 367, 20)
  935.     GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
  936.     If IniRead($dir, 'Thongtin', 'solanlam', '') <> '' Then GUICtrlSetData(-1, "Tổng số học sinh đã làm đề này: " & IniRead($dir, 'Thongtin', 'solanlam', ''))
  937.  
  938.     $GUI_CH1_Control[11] = GUICtrlCreateLabel("Học sinh có số điểm cao nhất: <chưa có>", 88, 320, 368, 20)
  939.     GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
  940.     If IniRead($dir, 'Thongtin', 'tdiemcao', '') <> '' Then GUICtrlSetData(-1, "Học sinh có số điểm cao nhất: " & IniRead($dir, 'Thongtin', 'tdiemcao', ''))
  941.     $GUI_CH1_Control[12] = GUICtrlCreateLabel("Thông tin thêm", 88, 248, 101, 20)
  942.     GUICtrlSetFont(-1, 10, 800, 4, "Tahoma")
  943.     $GUI_CH1_Control[13] = GUICtrlCreateButton("Lưu lại", 400, 200, 75, 25)
  944.     GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
  945.     $TabSheet2 = GUICtrlCreateTabItem("Danh sách câu hỏi")
  946.     $GUI_CH2_Control[1] = GUICtrlCreateList("", 40, 48, 145, 294, BitOR($LBS_NOTIFY, $WS_VSCROLL, $WS_BORDER))
  947.     GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
  948.     $GUI_CH2_Control[2] = GUICtrlCreateLabel("Dạng câu hỏi: ", 200, 48, 87, 20)
  949.     GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
  950.     $GUI_CH2_Control[3] = GUICtrlCreateRadio("Trắc nghiệm", 304, 48, 97, 17)
  951.     GUICtrlSetState(-1, $GUI_CHECKED)
  952.     GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
  953.     $GUI_CH2_Control[4] = GUICtrlCreateRadio("Trả lời tự luận", 416, 48, 113, 17)
  954.     GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
  955.     $GUI_CH2_Control[5] = GUICtrlCreateLabel("Xáo trộn đáp án: ", 200, 72, 105, 20)
  956.     GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
  957.     $GUI_CH2_Control[6] = GUICtrlCreateCheckbox("Tự động xáo trộn đáp án trắc nghiệm", 312, 72, 241, 17)
  958.     GUICtrlSetState(-1, $GUI_CHECKED)
  959.     GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
  960.     $GUI_CH2_Control[7] = GUICtrlCreateLabel("Nội dung câu hỏi:", 200, 96, 100, 20)
  961.     GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
  962.     $GUI_CH2_Control[8] = GUICtrlCreateEdit("", 200, 120, 385, 49, BitOR($ES_AUTOVSCROLL, $ES_WANTRETURN, $WS_VSCROLL))
  963.     GUICtrlSetData(-1, "")
  964.  
  965.     GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
  966.     $GUI_CH2_Control[9] = GUICtrlCreateCheckbox("Sử dụng hình ảnh cho câu hỏi", 200, 176, 193, 17)
  967.     GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
  968.     $GUI_CH2_Control[10] = GUICtrlCreateLabel("Câu trả lời:", 200, 200, 364, 20)
  969.     GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
  970.  
  971.     $GUI_CH2_Control[11] = GUICtrlCreateLabel("A)", 200, 224, 17, 20)
  972.     GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
  973.     $GUI_CH2_Control[12] = GUICtrlCreateLabel("B)", 200, 256, 16, 20)
  974.     GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
  975.     $GUI_CH2_Control[13] = GUICtrlCreateLabel("C)", 200, 288, 17, 20)
  976.     GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
  977.     $GUI_CH2_Control[14] = GUICtrlCreateLabel("D)", 200, 320, 17, 20)
  978.     GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
  979.     $GUI_CH2_Control[15] = GUICtrlCreateInput("", 224, 221, 233, 24)
  980.     GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
  981.     $GUI_CH2_Control[16] = GUICtrlCreateInput("", 224, 253, 233, 24)
  982.     GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
  983.     $GUI_CH2_Control[17] = GUICtrlCreateInput("", 224, 285, 233, 24)
  984.     GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
  985.     $GUI_CH2_Control[18] = GUICtrlCreateInput("", 224, 317, 233, 24)
  986.     GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
  987.  
  988.     $GUI_CH2_Control[19] = GUICtrlCreateCheckbox("Là câu đúng", 464, 224, 97, 17)
  989.     GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
  990.     $GUI_CH2_Control[20] = GUICtrlCreateCheckbox("Là câu đúng", 464, 256, 97, 17)
  991.     GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
  992.     $GUI_CH2_Control[21] = GUICtrlCreateCheckbox("Là câu đúng", 464, 288, 97, 17)
  993.     GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
  994.     $GUI_CH2_Control[22] = GUICtrlCreateCheckbox("Là câu đúng", 464, 320, 97, 17)
  995.     GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
  996.     $GUI_CH2_Control[23] = GUICtrlCreateButton("Lưu lại", 520, 344, 75, 25)
  997.     GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
  998.     $GUI_CH2_Control[24] = GUICtrlCreateEdit("", 200, 224, 385, 113, BitOR($ES_AUTOVSCROLL, $ES_WANTRETURN, $WS_VSCROLL))
  999.     GUICtrlSetData(-1, "")
  1000.     GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
  1001.     GUICtrlSetState(-1, $GUI_HIDE)
  1002.     $GUI_CH2_Control[25] = GUICtrlCreateLabel("Điểm: ", 200, 352, 50, 20)
  1003.     GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
  1004.     $GUI_CH2_Control[26] = GUICtrlCreateInput("", 244, 347, 100, 24)
  1005.     $GUI_CH2_Control[27] = GUICtrlCreateLabel("[Tạo giải thích]", 355, 352)
  1006.  
  1007.     If GUICtrlRead($GUI_CH1_Control[8]) = 1 Then
  1008.         GUICtrlSetState($GUI_CH2_Control[27], $GUI_SHOW)
  1009.     Else
  1010.         GUICtrlSetState($GUI_CH2_Control[27], $GUI_HIDE)
  1011.     EndIf
  1012.     GUICtrlSetCursor(-1, 0)
  1013.     GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
  1014.     GUICtrlCreateTabItem("")
  1015.     If $lammoi = 0 Then
  1016.         $thongtin = ''
  1017.         For $i = 1 To Number(GUICtrlRead($GUI_CH1_Control[6]))
  1018.             $thongtin = $thongtin & '|' & 'Câu số ' & $i
  1019.         Next
  1020.         GUICtrlSetData($GUI_CH2_Control[1], $thongtin)
  1021.         GUICtrlSetState($GUI_CH2_Control[23], $GUI_DISABLE)
  1022.     EndIf
  1023.     $Button1 = GUICtrlCreateButton("Đóng lại", 528, 384, 75, 25)
  1024.     GUISetState(@SW_SHOW)
  1025.  
  1026.     While 1
  1027.         $nMsg = GUIGetMsg()
  1028.         Switch $nMsg
  1029.             Case $GUI_CH2_Control[27]
  1030.                 $cauhoi2 = StringReplace(GUICtrlRead($GUI_CH2_Control[1]), 'Câu số ', '')
  1031.                 LuuGiaiThich($cauhoi2)
  1032.  
  1033.             Case $GUI_CH1_Control[14]
  1034.                 If GUICtrlRead($GUI_CH1_Control[14]) = 1 Then
  1035.                     GUICtrlSetState($GUI_CH1_Control[8], $GUI_CHECKED)
  1036.                 Else
  1037.                     GUICtrlSetState($GUI_CH1_Control[8], $GUI_UNCHECKED)
  1038.                 EndIf
  1039.             Case $GUI_CH1_Control[8]
  1040.                 If GUICtrlRead($GUI_CH1_Control[14]) <> 1 Then
  1041.                     GUICtrlSetState($GUI_CH1_Control[8], $GUI_UNCHECKED)
  1042.                 Else
  1043.                     If GUICtrlRead($GUI_CH1_Control[8]) = 1 Then
  1044.                         GUICtrlSetState($GUI_CH2_Control[27], $GUI_SHOW)
  1045.                     Else
  1046.                         GUICtrlSetState($GUI_CH2_Control[27], $GUI_HIDE)
  1047.  
  1048.                     EndIf
  1049.                 EndIf
  1050.             Case $GUI_CH2_Control[8]
  1051.                 $suthaydoi = 1
  1052.             Case $GUI_CH2_Control[15]
  1053.                 $suthaydoi = 1
  1054.             Case $GUI_CH2_Control[16]
  1055.                 $suthaydoi = 1
  1056.             Case $GUI_CH2_Control[17]
  1057.                 $suthaydoi = 1
  1058.             Case $GUI_CH2_Control[18]
  1059.                 $suthaydoi = 1
  1060.             Case $GUI_CH2_Control[24]
  1061.                 $suthaydoi = 1
  1062.             Case $GUI_CH2_Control[26]
  1063.                 $suthaydoi = 1
  1064.             Case $GUI_CH2_Control[9]
  1065.                 $suthaydoi = 1
  1066.  
  1067.  
  1068.  
  1069.                 $input = FileOpenDialog('Chọn hình đại diện', '', 'Hình ảnh (*.jpg;*.png)')
  1070.  
  1071.                 If $input <> '' And FileExists($input) Then
  1072.                     $anh = $input
  1073.                 Else
  1074.                     $anh = ''
  1075.                     GUICtrlSetState($GUI_CH2_Control[9], $GUI_UNCHECKED)
  1076.                 EndIf
  1077.             Case $GUI_CH2_Control[6]
  1078.  
  1079.                 If GUICtrlRead($GUI_CH2_Control[4]) = 1 Then
  1080.                     $suthaydoi = 1
  1081.                     GUICtrlSetState($GUI_CH2_Control[6], $GUI_UNCHECKED)
  1082.                 EndIf
  1083.             Case $GUI_CH2_Control[23]
  1084.  
  1085.                 If GUICtrlRead($GUI_CH2_Control[1]) <> '' Then
  1086.  
  1087.                     $cauhoi2 = StringReplace(GUICtrlRead($GUI_CH2_Control[1]), 'Câu số ', '')
  1088.                     If GUICtrlRead($GUI_CH2_Control[3]) = 1 Then
  1089.                         If GUICtrlRead($GUI_CH2_Control[26]) = '' Or GUICtrlRead($GUI_CH2_Control[8]) = '' Or GUICtrlRead($GUI_CH2_Control[15]) = '' Or GUICtrlRead($GUI_CH2_Control[16]) = '' Or GUICtrlRead($GUI_CH2_Control[17]) = '' Or GUICtrlRead($GUI_CH2_Control[18]) = '' Then
  1090.                             $loai = 0
  1091.                             MsgBox(16, 'Thông báo', 'Vui lòng nhập các thông tin trên đầy đủ')
  1092.                         Else
  1093.                             If GUICtrlRead($GUI_CH2_Control[19]) = 1 Or GUICtrlRead($GUI_CH2_Control[20]) = 1 Or GUICtrlRead($GUI_CH2_Control[21]) = 1 Or GUICtrlRead($GUI_CH2_Control[22]) = 1 Then
  1094.                                 $loai = 1
  1095.                             Else
  1096.                                 MsgBox(16, 'Thông báo', 'Vui lòng nhập các thông tin trên đầy đủ')
  1097.                                 $loai = 0
  1098.                             EndIf
  1099.                         EndIf
  1100.  
  1101.                     Else
  1102.                         If GUICtrlRead($GUI_CH2_Control[8]) = '' Or GUICtrlRead($GUI_CH2_Control[24]) = '' Then
  1103.                             $loai = 0
  1104.                             MsgBox(16, 'Thông báo', 'Vui lòng nhập các thông tin trên đầy đủ')
  1105.                         Else
  1106.                             $loai = 1
  1107.                         EndIf
  1108.                     EndIf
  1109.                     If $loai = 1 Then
  1110.                         $suthaydoi = 0
  1111.                         If GUICtrlRead($GUI_CH2_Control[3]) = 1 Then
  1112.                             IniWrite($dir, 'Cauhoi' & $cauhoi2, 'Loaicauhoi', 1)
  1113.                             If GUICtrlRead($GUI_CH2_Control[19]) = 1 Then
  1114.                                 IniWrite($dir, 'Cauhoi' & $cauhoi2, 'Dapandung', 1)
  1115.                             ElseIf GUICtrlRead($GUI_CH2_Control[20]) = 1 Then
  1116.                                 IniWrite($dir, 'Cauhoi' & $cauhoi2, 'Dapandung', 2)
  1117.                             ElseIf GUICtrlRead($GUI_CH2_Control[21]) = 1 Then
  1118.                                 IniWrite($dir, 'Cauhoi' & $cauhoi2, 'Dapandung', 3)
  1119.                             Else
  1120.                                 IniWrite($dir, 'Cauhoi' & $cauhoi2, 'Dapandung', 4)
  1121.                             EndIf
  1122.                             For $i = 1 To 4
  1123.                                 IniWrite($dir, 'Cauhoi' & $cauhoi2, $i, GUICtrlRead($GUI_CH2_Control[$i + 14]))
  1124.                             Next
  1125.  
  1126.                         Else
  1127.                             IniWrite($dir, 'Cauhoi' & $cauhoi2, 'Loaicauhoi', 2)
  1128.                             IniWrite($dir, 'Cauhoi' & $cauhoi2, 'Dapandung', StringReplace(GUICtrlRead($GUI_CH2_Control[24]), @CRLF, '|'))
  1129.  
  1130.  
  1131.                         EndIf
  1132.                         If GUICtrlRead($GUI_CH2_Control[6]) = 1 Then
  1133.                             IniWrite($dir, 'Cauhoi' & $cauhoi2, 'ngaunhien', 1)
  1134.                         Else
  1135.                             IniWrite($dir, 'Cauhoi' & $cauhoi2, 'ngaunhien', 0)
  1136.                         EndIf
  1137.  
  1138.                         IniWrite($dir, 'Cauhoi' & $cauhoi2, 'Cauhoi', StringReplace(GUICtrlRead($GUI_CH2_Control[8]), @CRLF, '/n'))
  1139.  
  1140.  
  1141.                         IniWrite($dir, 'Cauhoi' & $cauhoi2, 'diem', Number(GUICtrlRead($GUI_CH2_Control[26])))
  1142.                         If GUICtrlRead($GUI_CH2_Control[9]) = 1 Then
  1143.                             IniWrite($dir, 'Cauhoi' & $cauhoi2, 'Hinhanh', 1)
  1144.                             If $anh = '' Then
  1145.                             Else
  1146.                                 If FileExists($anh) Then
  1147.                                     DirCreate(@ScriptDir & '\Data\' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $tacvu & '_d', '') & '\' & $sode)
  1148.                                     FileCopy($anh, @ScriptDir & '\Data\' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $tacvu & '_d', '') & '\' & $sode & '\image_' & $cauhoi2 & '.jpg', 1)
  1149.                                 EndIf
  1150.                             EndIf
  1151.                         Else
  1152.                             IniWrite($dir, 'Cauhoi' & $cauhoi2, 'Hinhanh', 0)
  1153.                             FileDelete(@ScriptDir & '\Data\' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $tacvu & '_d', '') & '\' & $sode & '\image_' & $cauhoi2 & '.jpg')
  1154.                         EndIf
  1155.  
  1156.                         MsgBox(64, 'Thông báo', 'Lưu thành công')
  1157.                     EndIf
  1158.                 EndIf
  1159.             Case $GUI_CH2_Control[19]
  1160.                 $suthaydoi = 1
  1161.                 GUICtrlSetState($GUI_CH2_Control[20], $GUI_UNCHECKED)
  1162.                 GUICtrlSetState($GUI_CH2_Control[21], $GUI_UNCHECKED)
  1163.                 GUICtrlSetState($GUI_CH2_Control[22], $GUI_UNCHECKED)
  1164.             Case $GUI_CH2_Control[20]
  1165.                 $suthaydoi = 1
  1166.                 GUICtrlSetState($GUI_CH2_Control[19], $GUI_UNCHECKED)
  1167.                 GUICtrlSetState($GUI_CH2_Control[21], $GUI_UNCHECKED)
  1168.                 GUICtrlSetState($GUI_CH2_Control[22], $GUI_UNCHECKED)
  1169.             Case $GUI_CH2_Control[21]
  1170.                 $suthaydoi = 1
  1171.                 GUICtrlSetState($GUI_CH2_Control[20], $GUI_UNCHECKED)
  1172.                 GUICtrlSetState($GUI_CH2_Control[19], $GUI_UNCHECKED)
  1173.                 GUICtrlSetState($GUI_CH2_Control[22], $GUI_UNCHECKED)
  1174.             Case $GUI_CH2_Control[22]
  1175.                 $suthaydoi = 1
  1176.                 GUICtrlSetState($GUI_CH2_Control[20], $GUI_UNCHECKED)
  1177.                 GUICtrlSetState($GUI_CH2_Control[21], $GUI_UNCHECKED)
  1178.                 GUICtrlSetState($GUI_CH2_Control[19], $GUI_UNCHECKED)
  1179.             Case $GUI_CH2_Control[1]
  1180.                 If $suthaydoi = 1 Then
  1181.                     If GUICtrlRead($GUI_CH2_Control[3]) = 1 Then
  1182.                         If GUICtrlRead($GUI_CH2_Control[26]) = '' Or GUICtrlRead($GUI_CH2_Control[8]) = '' Or GUICtrlRead($GUI_CH2_Control[15]) = '' Or GUICtrlRead($GUI_CH2_Control[16]) = '' Or GUICtrlRead($GUI_CH2_Control[17]) = '' Or GUICtrlRead($GUI_CH2_Control[18]) = '' Then
  1183.                             $suthaydoi = 0
  1184.                         Else
  1185.                             If GUICtrlRead($GUI_CH2_Control[26]) = '' Or GUICtrlRead($GUI_CH2_Control[19]) = 1 Or GUICtrlRead($GUI_CH2_Control[20]) = 1 Or GUICtrlRead($GUI_CH2_Control[21]) = 1 Or GUICtrlRead($GUI_CH2_Control[22]) = 1 Then
  1186.                                 $suthaydoi = 1
  1187.                             Else
  1188.                                 $suthaydoi = 0
  1189.                             EndIf
  1190.                         EndIf
  1191.  
  1192.                     Else
  1193.                         If GUICtrlRead($GUI_CH2_Control[26]) = '' Or GUICtrlRead($GUI_CH2_Control[8]) = '' Or GUICtrlRead($GUI_CH2_Control[24]) = '' Then
  1194.                             $suthaydoi = 0
  1195.                         Else
  1196.                             $suthaydoi = 1
  1197.                         EndIf
  1198.                     EndIf
  1199.                     If $suthaydoi = 1 And $caucu <> 0 Then
  1200.                         If MsgBox(1, 'Thông báo', 'Một số đề mục đã được bạn sửa, bạn có muốn lưu lại không?') = 1 Then
  1201.                             $cauhoi2 = $caucu
  1202.  
  1203.  
  1204.                             If GUICtrlRead($GUI_CH2_Control[3]) = 1 Then
  1205.                                 IniWrite($dir, 'Cauhoi' & $cauhoi2, 'Loaicauhoi', 1)
  1206.                                 If GUICtrlRead($GUI_CH2_Control[19]) = 1 Then
  1207.                                     IniWrite($dir, 'Cauhoi' & $cauhoi2, 'Dapandung', 1)
  1208.                                 ElseIf GUICtrlRead($GUI_CH2_Control[20]) = 1 Then
  1209.                                     IniWrite($dir, 'Cauhoi' & $cauhoi2, 'Dapandung', 2)
  1210.                                 ElseIf GUICtrlRead($GUI_CH2_Control[21]) = 1 Then
  1211.                                     IniWrite($dir, 'Cauhoi' & $cauhoi2, 'Dapandung', 3)
  1212.                                 Else
  1213.                                     IniWrite($dir, 'Cauhoi' & $cauhoi2, 'Dapandung', 4)
  1214.                                 EndIf
  1215.                                 For $i = 1 To 4
  1216.                                     IniWrite($dir, 'Cauhoi' & $cauhoi2, $i, GUICtrlRead($GUI_CH2_Control[$i + 14]))
  1217.                                 Next
  1218.  
  1219.                             Else
  1220.                                 IniWrite($dir, 'Cauhoi' & $cauhoi2, 'Loaicauhoi', 2)
  1221.                                 IniWrite($dir, 'Cauhoi' & $cauhoi2, 'Dapandung', StringReplace(GUICtrlRead($GUI_CH2_Control[24]), @CRLF, '|'))
  1222.  
  1223.  
  1224.                             EndIf
  1225.                             If GUICtrlRead($GUI_CH2_Control[6]) = 1 Then
  1226.                                 IniWrite($dir, 'Cauhoi' & $cauhoi2, 'ngaunhien', 1)
  1227.                             Else
  1228.                                 IniWrite($dir, 'Cauhoi' & $cauhoi2, 'ngaunhien', 0)
  1229.                             EndIf
  1230.  
  1231.                             IniWrite($dir, 'Cauhoi' & $cauhoi2, 'diem', Number(GUICtrlRead($GUI_CH2_Control[26])))
  1232.  
  1233.                             IniWrite($dir, 'Cauhoi' & $cauhoi2, 'Cauhoi', StringReplace(GUICtrlRead($GUI_CH2_Control[8]), @CRLF, '/n'))
  1234.  
  1235.  
  1236.                             If GUICtrlRead($GUI_CH2_Control[9]) = 1 Then
  1237.                                 IniWrite($dir, 'Cauhoi' & $cauhoi2, 'Hinhanh', 1)
  1238.                                 If $anh = '' Then
  1239.                                 Else
  1240.                                     If FileExists($anh) Then
  1241.                                         DirCreate(@ScriptDir & '\Data\' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $tacvu & '_d', '') & '\' & $tacvu)
  1242.                                         FileCopy($anh, @ScriptDir & '\Data\' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $tacvu & '_d', '') & '\' & $tacvu & '\image_' & $cauhoi2 & '.jpg', 1)
  1243.                                     EndIf
  1244.                                 EndIf
  1245.                             Else
  1246.                                 IniWrite($dir, 'Cauhoi' & $cauhoi2, 'Hinhanh', 0)
  1247.                                 FileDelete(@ScriptDir & '\Data\' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $tacvu & '_d', '') & '\' & $tacvu & '\image_' & $cauhoi2 & '.jpg')
  1248.                             EndIf
  1249.  
  1250.  
  1251.  
  1252.                         EndIf
  1253.                     EndIf
  1254.                 EndIf
  1255.                 If GUICtrlRead($GUI_CH2_Control[1]) <> '' Then
  1256.                     GUICtrlSetState($GUI_CH2_Control[23], $GUI_ENABLE)
  1257.                     $anh = ''
  1258.                     $cauhoi2 = StringReplace(GUICtrlRead($GUI_CH2_Control[1]), 'Câu số ', '')
  1259.                     $caucu = $cauhoi2
  1260.                     $suthaydoi = 0
  1261.                     If IniRead($dir, 'Cauhoi' & $cauhoi2, 'Loaicauhoi', '') = 2 Then
  1262.                         GUICtrlSetData($GUI_CH2_Control[10], 'Câu trả lời (mỗi dòng là một đáp án đúng):')
  1263.                         For $i = 11 To 22
  1264.                             GUICtrlSetState($GUI_CH2_Control[$i], $GUI_HIDE)
  1265.                         Next
  1266.                         GUICtrlSetState($GUI_CH2_Control[24], $GUI_SHOW)
  1267.                         GUICtrlSetState($GUI_CH2_Control[4], $GUI_CHECKED)
  1268.                         GUICtrlSetData($GUI_CH2_Control[24], StringReplace(IniRead($dir, 'Cauhoi' & $cauhoi2, 'Dapandung', ''), '|', @CRLF))
  1269.                     Else ;
  1270.                         GUICtrlSetState($GUI_CH2_Control[3], $GUI_CHECKED)
  1271.  
  1272.                         GUICtrlSetData($GUI_CH2_Control[10], 'Câu trả lời:')
  1273.                         GUICtrlSetState($GUI_CH2_Control[24], $GUI_HIDE)
  1274.                         For $i = 11 To 22
  1275.  
  1276.                             GUICtrlSetState($GUI_CH2_Control[$i], $GUI_SHOW)
  1277.                             If $i > 18 Then
  1278.                                 GUICtrlSetData($GUI_CH2_Control[$i - 4], '')
  1279.                                 GUICtrlSetData($GUI_CH2_Control[$i - 4], IniRead($dir, 'Cauhoi' & $cauhoi2, $i - 18, ''))
  1280.                                 GUICtrlSetState($GUI_CH2_Control[$i], $GUI_UNCHECKED)
  1281.                             EndIf
  1282.                         Next
  1283.                         GUICtrlSetState($GUI_CH2_Control[IniRead($dir, 'Cauhoi' & $cauhoi2, 'Dapandung', '') + 18], $GUI_CHECKED)
  1284.  
  1285.  
  1286.  
  1287.                     EndIf ;
  1288.                     GUICtrlSetData($GUI_CH2_Control[26], IniRead($dir, 'Cauhoi' & $cauhoi2, 'diem', ''))
  1289.                     If IniRead($dir, 'Cauhoi' & $cauhoi2, 'giaithich', '') <> '' Then
  1290.                         GUICtrlSetData($GUI_CH2_Control[27], "[Sửa giải thích]")
  1291.                     Else
  1292.                         GUICtrlSetData($GUI_CH2_Control[27], "[Tạo giải thích]")
  1293.                     EndIf
  1294.                     If IniRead($dir, 'Cauhoi' & $cauhoi2, 'Hinhanh', '') = 1 Then
  1295.                         GUICtrlSetState($GUI_CH2_Control[9], $GUI_CHECKED)
  1296.                     Else
  1297.                         GUICtrlSetState($GUI_CH2_Control[9], $GUI_UNCHECKED)
  1298.                     EndIf
  1299.                     If IniRead($dir, 'Cauhoi' & $cauhoi2, 'ngaunhien', '') = 1 Then
  1300.                         GUICtrlSetState($GUI_CH2_Control[6], $GUI_CHECKED)
  1301.  
  1302.                     Else
  1303.                         GUICtrlSetState($GUI_CH2_Control[6], $GUI_UNCHECKED)
  1304.                     EndIf
  1305.                     If IniRead($dir, 'Cauhoi' & $cauhoi2, 'ngaunhien', '') = '' Then GUICtrlSetState($GUI_CH2_Control[6], $GUI_CHECKED)
  1306.                     GUICtrlSetData($GUI_CH2_Control[8], StringReplace(IniRead($dir, 'Cauhoi' & $cauhoi2, 'Cauhoi', ''), '/n', @CRLF))
  1307.                 EndIf
  1308.  
  1309.  
  1310.             Case $GUI_CH1_Control[13]
  1311.  
  1312.                 If GUICtrlRead($GUI_CH1_Control[2]) = '' Or GUICtrlRead($GUI_CH1_Control[4]) = '' Or GUICtrlRead($GUI_CH1_Control[6]) = '' Then
  1313.                     MsgBox(16, 'Thông báo', 'Bạn chưa nhập các thông tin trên')
  1314.                 Else
  1315.                     If GUICtrlRead($GUI_CH1_Control[6]) > 57 Then
  1316.                         MsgBox(16, 'Thông báo', 'Số câu không được vượt quá 57')
  1317.                     Else
  1318.                         IniWrite($dir, 'Thongtin', 'ten', GUICtrlRead($GUI_CH1_Control[2]))
  1319.                         IniWrite($dir, 'Thongtin', 'thoigian', GUICtrlRead($GUI_CH1_Control[4]))
  1320.                         IniWrite($dir, 'Thongtin', 'socau', GUICtrlRead($GUI_CH1_Control[6]))
  1321.                         IniWrite($dir, 'Thongtin', 'made', $made)
  1322.  
  1323.                         If GUICtrlRead($GUI_CH1_Control[14]) = 1 Then
  1324.                             IniWrite($dir, 'Thongtin', 'xemlai', 1)
  1325.                         Else
  1326.                             IniWrite($dir, 'Thongtin', 'xemlai', 0)
  1327.                         EndIf
  1328.                         If GUICtrlRead($GUI_CH1_Control[7]) = 1 Then
  1329.                             IniWrite($dir, 'Thongtin', 'ngaunhien', 1)
  1330.                         Else
  1331.                             IniWrite($dir, 'Thongtin', 'ngaunhien', 0)
  1332.                         EndIf
  1333.                         If GUICtrlRead($GUI_CH1_Control[8]) = 1 Then
  1334.                             IniWrite($dir, 'Thongtin', 'giaithich', 1)
  1335.                         Else
  1336.                             IniWrite($dir, 'Thongtin', 'giaithich', 0)
  1337.                         EndIf
  1338.                         $thongtin = ''
  1339.                         For $i = 1 To Number(GUICtrlRead($GUI_CH1_Control[6]))
  1340.                             $thongtin = $thongtin & '|' & 'Câu số ' & $i
  1341.                         Next
  1342.                         GUICtrlSetData($GUI_CH2_Control[1], $thongtin)
  1343.                         GUICtrlSetState($GUI_CH2_Control[23], $GUI_DISABLE)
  1344.                         If $lammoi = 1 Then IniWrite(@ScriptDir & '\Data\List.dat', 'List', $tacvu & '_t', IniRead(@ScriptDir & '\Data\List.dat', 'List', $tacvu & '_t', '') + 1)
  1345.  
  1346.                         MsgBox(64, 'Thông báo', 'Đã lưu thành công')
  1347.                     EndIf
  1348.                 EndIf
  1349.  
  1350.             Case $GUI_CH2_Control[4]
  1351.                 GUISwitch($GUI_De, $TabSheet2)
  1352.                 $suthaydoi = 1
  1353.                 For $i = 11 To 22
  1354.                     GUICtrlSetState($GUI_CH2_Control[$i], $GUI_HIDE)
  1355.                 Next
  1356.                 GUICtrlSetState($GUI_CH2_Control[24], $GUI_SHOW)
  1357.                 GUICtrlSetData($GUI_CH2_Control[24], '')
  1358.  
  1359.                 GUICtrlSetData($GUI_CH2_Control[10], 'Câu trả lời (mỗi dòng là một đáp án đúng):')
  1360.             Case $GUI_CH2_Control[3]
  1361.  
  1362.                 GUISwitch($GUI_De, $TabSheet2)
  1363.                 $suthaydoi = 1
  1364.                 For $i = 11 To 22
  1365.                     GUICtrlSetState($GUI_CH2_Control[$i], $GUI_SHOW)
  1366.                     If $i >= 15 And $i <= 18 Then GUICtrlSetData($GUI_CH2_Control[$i], '')
  1367.                     If $i >= 19 And $i <= 22 Then GUICtrlSetState($GUI_CH2_Control[$i], $GUI_UNCHECKED)
  1368.                 Next
  1369.                 GUICtrlSetState($GUI_CH2_Control[24], $GUI_HIDE)
  1370.                 GUICtrlSetData($GUI_CH2_Control[10], 'Câu trả lời:')
  1371.             Case $Button1
  1372.                 GUIDelete($GUI_De)
  1373.                 ExitLoop
  1374.  
  1375.         EndSwitch
  1376.     WEnd
  1377. EndFunc   ;==>TaoSuaDe
  1378.  
  1379. Func PText($text)
  1380.     Return $text
  1381. EndFunc   ;==>PText
  1382.  
  1383. Func GText($text)
  1384.     Return $text
  1385. EndFunc   ;==>GText
  1386.  
  1387. Func Dangnhap()
  1388.     Dim $Login_Control[8], $Reg_Control[13]
  1389.     $Form2 = GUICreate("Đăng nhập", 266, 242, -1, -1, 0)
  1390.  
  1391.     GUISetFont(10, 400, 0, "Tahoma") ;266 146
  1392.     ; dang nhap
  1393.     $Login_Control[0] = GUICtrlCreateLabel("Hãy nhập tài khoản và mật khẩu của bạn.", 16, 16)
  1394.     $Login_Control[1] = GUICtrlCreateLabel("Tài khoản:", 16, 46, 65, 20)
  1395.     $Login_Control[2] = GUICtrlCreateLabel("Mật khẩu:", 16, 78, 61, 20)
  1396.     $Login_Control[3] = GUICtrlCreateInput("", 88, 43, 161, 24)
  1397.     $Login_Control[4] = GUICtrlCreateInput("", 88, 75, 161, 24, BitOR($GUI_SS_DEFAULT_INPUT, $ES_PASSWORD))
  1398.     $Login_Control[5] = GUICtrlCreateButton("Đăng nhập", 176, 110, 75, 25, $BS_DEFPUSHBUTTON)
  1399.     If IniRead(@ScriptDir & '\Data\System.dat', 'System', '2', '') = 1 Then GUICtrlSetState(-1, $GUI_DISABLE)
  1400.     $Login_Control[6] = GUICtrlCreateButton("Đăng ký", 96, 110, 75, 25)
  1401.     If IniRead(@ScriptDir & '\Data\System.dat', 'System', '1', '') = 1 Then GUICtrlSetState(-1, $GUI_DISABLE)
  1402.     $Login_Control[7] = GUICtrlCreateButton("Thoát", 16, 110, 75, 25)
  1403.     ; dang ky
  1404.     $Reg_Control[1] = GUICtrlCreateLabel("Tài khoản:", 16, 16, 65, 20)
  1405.     $Reg_Control[2] = GUICtrlCreateLabel("Mật khẩu:", 16, 48, 61, 20)
  1406.     $Reg_Control[3] = GUICtrlCreateLabel("Xác nhận:", 16, 80, 62, 20)
  1407.     $Reg_Control[4] = GUICtrlCreateLabel("Họ tên:", 16, 112, 46, 20)
  1408.     $Reg_Control[5] = GUICtrlCreateLabel("Học lớp:", 16, 144, 51, 20)
  1409.     $Reg_Control[6] = GUICtrlCreateInput("", 88, 13, 161, 24)
  1410.     $Reg_Control[7] = GUICtrlCreateInput("", 88, 45, 161, 24, BitOR($GUI_SS_DEFAULT_INPUT, $ES_PASSWORD))
  1411.     $Reg_Control[8] = GUICtrlCreateInput("", 88, 77, 161, 24, BitOR($GUI_SS_DEFAULT_INPUT, $ES_PASSWORD))
  1412.     $Reg_Control[9] = GUICtrlCreateInput("", 88, 109, 161, 24)
  1413.     $Reg_Control[10] = GUICtrlCreateInput("", 88, 141, 161, 24)
  1414.     $Reg_Control[11] = GUICtrlCreateButton("Đăng ký", 136, 176, 75, 25)
  1415.     $Reg_Control[12] = GUICtrlCreateButton("Quay về", 56, 176, 75, 25)
  1416.  
  1417.     For $i = 1 To 12
  1418.         GUICtrlSetState($Reg_Control[$i], $GUI_HIDE)
  1419.     Next
  1420.  
  1421.     Dim $Form2_AccelTable[1][2] = [["{ENTER}", $Login_Control[5]]]
  1422.     GUISetAccelerators($Form2_AccelTable)
  1423.     GUISetState(@SW_SHOW)
  1424.     WinSetOnTop($Form2, '', 1)
  1425.     While 1
  1426.         $nMsg = GUIGetMsg()
  1427.         Switch $nMsg
  1428.             Case $Login_Control[5]
  1429.                 WinSetOnTop($Form2, '', 0)
  1430.                 If GUICtrlRead($Login_Control[3]) <> '' And GUICtrlRead($Login_Control[3]) <> '' Then
  1431.                     If GUICtrlRead($Login_Control[3]) = GUICtrlRead($Login_Control[4]) = 'giaovien' Or IniRead(@ScriptDir & '\Data\Database.dat', PText(GUICtrlRead($Login_Control[3])), '1', '') = PText(GUICtrlRead($Login_Control[4])) Then
  1432.  
  1433.                         $taikhoan = GUICtrlRead($Login_Control[3])
  1434.                         GUIDelete($Form2)
  1435.                         Return $taikhoan
  1436.                     Else
  1437.                         MsgBox(16, 'Thông báo', 'Tài khoản hoặc mật khẩu không chính xác')
  1438.                     EndIf
  1439.                 Else
  1440.                     MsgBox(16, 'Thông báo', 'Vui lòng nhập đầy đủ thông tin trên')
  1441.                 EndIf
  1442.                 WinSetOnTop($Form2, '', 1)
  1443.             Case $Login_Control[7]
  1444.                 Exit
  1445.             Case $Login_Control[6]
  1446.                 For $i = 0 To 7
  1447.                     GUICtrlSetState($Login_Control[$i], $GUI_HIDE)
  1448.                 Next
  1449.                 WinSetTitle($Form2, '', 'Đăng ký thành viên')
  1450.                 For $i = 1 To 12
  1451.                     GUICtrlSetState($Reg_Control[$i], $GUI_SHOW)
  1452.                     If $i >= 6 And $i <= 10 Then GUICtrlSetData($Reg_Control[$i], '')
  1453.                 Next
  1454.             Case $Reg_Control[12]
  1455.                 For $i = 0 To 7
  1456.                     GUICtrlSetState($Login_Control[$i], $GUI_SHOW)
  1457.                     If $i >= 3 And $i <= 4 Then GUICtrlSetData($Login_Control[$i], '')
  1458.                 Next
  1459.                 WinSetTitle($Form2, '', 'Đăng nhập')
  1460.                 For $i = 1 To 12
  1461.                     GUICtrlSetState($Reg_Control[$i], $GUI_HIDE)
  1462.                 Next
  1463.             Case $Reg_Control[11]
  1464.                 WinSetOnTop($Form2, '', 0)
  1465.                 If GUICtrlRead($Reg_Control[6]) <> '' And GUICtrlRead($Reg_Control[7]) <> '' And GUICtrlRead($Reg_Control[8]) <> '' And GUICtrlRead($Reg_Control[9]) <> '' And GUICtrlRead($Reg_Control[10]) <> '' Then
  1466.                     If StringIsASCII(GUICtrlRead($Reg_Control[6])) = 0 Or StringIsASCII(GUICtrlRead($Reg_Control[7])) = 0 Or StringIsASCII(GUICtrlRead($Reg_Control[8])) = 0 Then
  1467.                         MsgBox(16, 'Thông báo', 'Vui lòng không sử dụng khoảng cách và các ký tự đặc biệt như: *,:,\,/,?,<,>,|')
  1468.                     Else
  1469.                         If StringLen(GUICtrlRead($Reg_Control[6])) < 5 Or StringLen(GUICtrlRead($Reg_Control[7])) < 5 Then
  1470.                             MsgBox(16, 'Thông báo', 'Vui lòng sử dụng tài khoản và mật khẩu trên 5 ký tự')
  1471.                         Else
  1472.                             If GUICtrlRead($Reg_Control[7]) <> GUICtrlRead($Reg_Control[8]) Then
  1473.                                 MsgBox(16, 'Thông báo', 'Mật khẩu xác nhận không khớp')
  1474.                             Else
  1475.                                 If IniRead(@ScriptDir & '\Data\Database.dat', PText(GUICtrlRead($Reg_Control[6])), '1', '') = '' Or GUICtrlRead($Reg_Control[6]) = 'giaovien' Then
  1476.                                     IniWrite(@ScriptDir & '\Data\Database.dat', PText(GUICtrlRead($Reg_Control[6])), '1', PText(GUICtrlRead($Reg_Control[7])))
  1477.                                     IniWrite(@ScriptDir & '\Data\Database.dat', PText(GUICtrlRead($Reg_Control[6])), '2', PText(GUICtrlRead($Reg_Control[9])))
  1478.                                     IniWrite(@ScriptDir & '\Data\Database.dat', PText(GUICtrlRead($Reg_Control[6])), '3', PText(GUICtrlRead($Reg_Control[10])))
  1479.                                     IniWrite(@ScriptDir & '\Data\Database.dat', PText(GUICtrlRead($Reg_Control[6])), '5', PText(0))
  1480.                                     IniWrite(@ScriptDir & '\Data\Database.dat', PText(GUICtrlRead($Reg_Control[6])), '6', PText(0))
  1481.                                     MsgBox(64, 'Thông báo', 'Chúc mừng bạn, quá trình đăng ký đã thành công')
  1482.                                     For $i = 0 To 7
  1483.                                         GUICtrlSetState($Login_Control[$i], $GUI_SHOW)
  1484.                                         If $i >= 3 And $i <= 4 Then GUICtrlSetData($Login_Control[$i], '')
  1485.                                     Next
  1486.                                     WinSetTitle($Form2, '', 'Đăng nhập')
  1487.                                     For $i = 1 To 12
  1488.                                         GUICtrlSetState($Reg_Control[$i], $GUI_HIDE)
  1489.                                     Next
  1490.                                 Else
  1491.                                     MsgBox(16, 'Thông báo', 'Tài khoản này đã tồn tại, vui lòng chọn tài khoản khác')
  1492.                                 EndIf
  1493.                             EndIf
  1494.                         EndIf
  1495.                     EndIf
  1496.                 Else
  1497.                     MsgBox(16, 'Thông báo', 'Vui lòng nhập đầy đủ các thông tin trên')
  1498.                 EndIf
  1499.                 WinSetOnTop($Form2, '', 1)
  1500.  
  1501.         EndSwitch
  1502.     WEnd
  1503. EndFunc   ;==>Dangnhap
  1504.  
  1505.  
  1506. Func Batdau($tacvu1, $dir1)
  1507.     $tacvu = $tacvu1
  1508.     $dir = $dir1
  1509.     If IniRead(@ScriptDir & '\Data\System.dat', 'System', '3', '') = 1 Then
  1510.         MsgBox(64, 'Thông báo', 'Ban quản trị đã khóa chức năng này, vui lòng quay lại sau')
  1511.         Return 0
  1512.     EndIf
  1513.  
  1514.     For $i = 1 To 56
  1515.         $causai[$i] = ''
  1516.         $Dapan_C[$i][1] = ''
  1517.         $Dapan_C[$i][2] = ''
  1518.         $Dapan_C[$i][3] = ''
  1519.         $Dapan_C[$i][4] = ''
  1520.         $Cautraloi[$i] = ''
  1521.         $thutucau[$i] = ''
  1522.     Next
  1523.     $ini = @ScriptDir & '\Data\' & $dir & '\de' & $tacvu & '.dat'
  1524.  
  1525.     $socau = IniRead($ini, 'Thongtin', 'socau', '')
  1526.     $caudung = 0
  1527.     $socauht = 1
  1528.     $thoigian = IniRead($ini, 'Thongtin', 'thoigian', '')
  1529.     $phut = @MIN
  1530.  
  1531.     IniWrite($ini, 'Thongtin', 'solanlam', IniRead($ini, 'Thongtin', 'solanlam', '') + 1)
  1532.     If IniRead($ini, 'Thongtin', 'ngaunhien', '') = 1 Then
  1533.         For $i = 1 To $socau
  1534.  
  1535.             If IniRead($ini, 'Cauhoi' & $i, 'Cauhoi', '') = '' Then
  1536.                 MsgBox(64, 'Thông báo', 'Bộ đề này chưa hoàn thiện, hãy trở lại sau')
  1537.                 Return 0
  1538.             EndIf
  1539.             Do
  1540.                 $temp = Random(1, $socau, 1)
  1541.             Until _ArraySearch($thutucau, $temp) = -1
  1542.             $thutucau[$i] = $temp
  1543.         Next
  1544.     Else
  1545.         For $i = 1 To $socau
  1546.             If IniRead($ini, 'Cauhoi' & $i, 'Cauhoi', '') = '' Then
  1547.                 MsgBox(64, 'Thông báo', 'Bộ đề này chưa hoàn thiện, hãy trở lại sau')
  1548.                 Return 0
  1549.             EndIf
  1550.             $thutucau[$i] = $i
  1551.         Next
  1552.     EndIf
  1553.     $GUI2 = GUICreate(IniRead($ini, 'Thongtin', 'ten', ''), 800, 600, -1, -1)
  1554.     GUISetFont(10, 400, 0, "Tahoma")
  1555.     GUISetBkColor(0xFFFFFF)
  1556.     $socau_control[0] = GUICtrlCreatePic("", 0, 0, 800, 600)
  1557.     _setimage(-1, @ScriptDir & '\Data\Picture\hinhanh_g' & Random(1, 6, 1) & '.png')
  1558.     GUICtrlSetState(-1, $GUI_DISABLE)
  1559.     $socau_control[1] = GUICtrlCreateLabel(IniRead($ini, 'Thongtin', 'ten', ''), 16, 8, 376, 43)
  1560.     GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
  1561.     GUICtrlSetFont(-1, 24, 400, 0, "Tahoma")
  1562.     $socau_control[2] = GUICtrlCreateLabel("Số câu hỏi: " & $socau & "         Đã trả lời: 0        Thời gian còn lại: " & $thoigian & " phút", 16, 64, 376, 20)
  1563.     GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
  1564.     GUICtrlSetFont(-1, 10, 400, 2, "Tahoma")
  1565.     $socau_control[3] = GUICtrlCreateLabel("________________________________________________________", 0, 88, 396, 20)
  1566.     GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
  1567.     GUICtrlSetColor(-1, 0x808080)
  1568.     $socau_control[4] = GUICtrlCreateLabel("Câu hỏi số 1: ", 16, 120, 150, 27)
  1569.     GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
  1570.     GUICtrlSetFont(-1, 14, 800, 0, "Tahoma")
  1571.     GUICtrlSetColor(-1, 0x000000)
  1572.     $socau_control[5] = GUICtrlCreateLabel("Hãy cho biết câu nói sau có ý nghĩa gì", 16, 160, 370, 383) ;)
  1573.  
  1574.     GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
  1575.     GUICtrlSetFont(-1, 12, 400, 0, "Tahoma")
  1576.     $socau_control[6] = GUICtrlCreateLabel("- Bảng câu hỏi -", 505, 30, 200)
  1577.     GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
  1578.     GUICtrlSetColor(-1, 0xFFFFFF)
  1579.     GUICtrlSetFont(-1, 10, 800, 0, "Tahoma")
  1580.     $socau_control[7] = GUICtrlCreateRadio("Radio1", 440, 256, 241, 33, BitOR($GUI_SS_DEFAULT_RADIO, $BS_MULTILINE))
  1581.     GUICtrlSetBkColor(-1, 0xF5F5F5)
  1582.     $socau_control[8] = GUICtrlCreateRadio("Radio1", 440, 304, 241, 33, BitOR($GUI_SS_DEFAULT_RADIO, $BS_MULTILINE))
  1583.     GUICtrlSetBkColor(-1, 0xF5F5F5)
  1584.     $socau_control[9] = GUICtrlCreateRadio("Radio1", 440, 352, 241, 33, BitOR($GUI_SS_DEFAULT_RADIO, $BS_MULTILINE))
  1585.     GUICtrlSetBkColor(-1, 0xF5F5F5)
  1586.     $socau_control[10] = GUICtrlCreateRadio("Radio1", 440, 400, 241, 33, BitOR($GUI_SS_DEFAULT_RADIO, $BS_MULTILINE))
  1587.     GUICtrlSetBkColor(-1, 0xF5F5F5)
  1588.     $socau_control[11] = GUICtrlCreateLabel("Chọn câu trả lời:", 440, 224, 99, 20)
  1589.     GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
  1590.     $socau_control[12] = GUICtrlCreateButton("Đồng ý", 608, 472, 75, 25)
  1591.     $socau_control[13] = GUICtrlCreateButton("Bỏ qua", 520, 472, 75, 25)
  1592.     $socau_control[14] = GUICtrlCreateButton("Nộp bài", 432, 472, 75, 25)
  1593.     $socau_control[15] = GUICtrlCreateInput("", 416, 328, 297, 24)
  1594.     GUICtrlSetState(-1, $GUI_HIDE)
  1595.     $socau_control[16] = GUICtrlCreatePic("", 64, 336, 273, 209)
  1596.     GUICtrlSetState(-1, $GUI_HIDE)
  1597.  
  1598.     $top = 57 ;17
  1599.     $left = 489 ;18
  1600.     $cong = 0
  1601.     For $i = 1 To $socau
  1602.         $cong += 1
  1603.         $socau_List[1][$i] = GUICtrlCreatePic(@ScriptDir & "\Data\Picture\O1.bmp", $left + ($cong - 1) * 18, $top, 19, 18)
  1604.         GUICtrlSetCursor(-1, 0)
  1605.         $socau_List[2][$i] = GUICtrlCreateLabel($i, $left + ($cong - 1) * 18, $top, 19, 18, BitOR($SS_CENTER, $SS_CENTERIMAGE))
  1606.         _ControlHover(2, $GUI2, $socau_List[2][$i])
  1607.  
  1608.         GUICtrlSetFont(-1, 9, 400, 0, "Tahoma")
  1609.         GUICtrlSetColor(-1, 0xFFFFFF)
  1610.         GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
  1611.         If Mod($i, 8) = 0 Then
  1612.             $left = 489
  1613.             $top += 17
  1614.             $cong = 0
  1615.         EndIf
  1616.     Next
  1617.     Doicauhoi(1)
  1618.     Dim $Form3_AccelTable[1][2] = [["{ENTER}", $socau_control[12]]]
  1619.     GUISetAccelerators($Form3_AccelTable)
  1620.  
  1621.     GUISetState(@SW_SHOW, $GUI2)
  1622.     GUISetState(@SW_HIDE, $GUI)
  1623.     While 1
  1624.         $nMsg = GUIGetMsg()
  1625.         Switch $nMsg
  1626.             Case $socau_control[14]
  1627.                 If MsgBox(1, 'Thông báo', 'Bạn muốn kết thúc kiểm tra?', 3) = 1 Then $thoigian = 0
  1628.  
  1629.             Case $socau_control[13]
  1630.                 If $thoigian < 0 Then
  1631.                     GUIDelete($GUI2)
  1632.                     ExitLoop
  1633.                 Else
  1634.                     If $socauht = $socau Then
  1635.  
  1636.                         For $i = 1 To $socau
  1637.                             If $Cautraloi[$i] == '' Then
  1638.                                 Doicauhoi($i)
  1639.                                 ExitLoop
  1640.                             EndIf
  1641.                         Next
  1642.                     Else
  1643.                         If $Cautraloi[$socauht + 1] = '' Then
  1644.                             Doicauhoi($socauht + 1)
  1645.                         Else
  1646.                             For $i = $socauht To $socau
  1647.                                 If $Cautraloi[$i] = '' Then
  1648.                                     Doicauhoi($i)
  1649.                                     ExitLoop
  1650.                                 EndIf
  1651.                             Next
  1652.                         EndIf
  1653.  
  1654.                     EndIf
  1655.                 EndIf
  1656.             Case $socau_control[12]
  1657.                 If $thoigian < 0 Then
  1658.                     $ok = 0
  1659.                     For $i = $kt + 1 To $socau
  1660.                         If $causai[$i] = 1 Then
  1661.                             $ok = 1
  1662.                             Doicauhoi($i)
  1663.                             $kt = $i
  1664.                             ExitLoop
  1665.                         EndIf
  1666.                     Next
  1667.                     If $ok = 0 Then
  1668.                         For $i = 1 To $socau
  1669.                             If $causai[$i] = 1 Then
  1670.                                 $ok = 1
  1671.                                 Doicauhoi($i)
  1672.                                 $kt = $i
  1673.                                 ExitLoop
  1674.                             EndIf
  1675.                         Next
  1676.                     EndIf
  1677.                 Else
  1678.                     If IniRead($ini, 'Cauhoi' & $thutucau[$socauht], 'Loaicauhoi', '') = 1 Then
  1679.                         If GUICtrlRead($socau_control[7]) = 1 Or GUICtrlRead($socau_control[8]) = 1 Or GUICtrlRead($socau_control[9]) = 1 Or GUICtrlRead($socau_control[10]) = 1 Then
  1680.                             If $Cautraloi[$socauht] = '' Then $caudung += 1
  1681.                             If GUICtrlRead($socau_control[7]) = 1 Then
  1682.                                 $Cautraloi[$socauht] = $Dapan_C[$socauht][1]
  1683.                             ElseIf GUICtrlRead($socau_control[8]) = 1 Then
  1684.                                 $Cautraloi[$socauht] = $Dapan_C[$socauht][2]
  1685.                             ElseIf GUICtrlRead($socau_control[9]) = 1 Then
  1686.                                 $Cautraloi[$socauht] = $Dapan_C[$socauht][3]
  1687.                             ElseIf GUICtrlRead($socau_control[10]) = 1 Then
  1688.                                 $Cautraloi[$socauht] = $Dapan_C[$socauht][4]
  1689.                             EndIf
  1690.  
  1691.                             GUICtrlSetFont($socau_List[2][$socauht], 9, 800, 2, "Tahoma")
  1692.  
  1693.                             If $socauht = $socau Then
  1694.                                 Doicauhoi(1)
  1695.                             Else
  1696.                                 Doicauhoi($socauht + 1)
  1697.                             EndIf
  1698.                         Else
  1699.                             MsgBox(16, 'Thông báo', 'Vui lòng chọn một câu', 3)
  1700.                         EndIf
  1701.                     Else
  1702.                         If GUICtrlRead($socau_control[15]) = '' Then
  1703.                             MsgBox(16, 'Thông báo', 'Vui lòng nhập câu trả lời', 3)
  1704.                         Else
  1705.                             If $Cautraloi[$socauht] = '' Then $caudung += 1
  1706.                             $Cautraloi[$socauht] = GUICtrlRead($socau_control[15])
  1707.                             GUICtrlSetFont($socau_List[2][$socauht], 9, 800, 2, "Tahoma")
  1708.                             If $socauht = $socau Then
  1709.                                 Doicauhoi(1)
  1710.                             Else
  1711.                                 Doicauhoi($socauht + 1)
  1712.  
  1713.  
  1714.                             EndIf
  1715.                         EndIf
  1716.                     EndIf
  1717.  
  1718.                 EndIf
  1719.             Case $GUI_EVENT_CLOSE
  1720.                 If $thoigian >= 0 Then
  1721.                     If MsgBox(1, 'Thông báo', 'Bạn muốn thoát kiểm tra?', 5) = 1 Then
  1722.                         GUIDelete($GUI2)
  1723.                         ExitLoop
  1724.                     EndIf
  1725.                 Else
  1726.                     GUIDelete($GUI2)
  1727.                     ExitLoop
  1728.                 EndIf
  1729.             Case Else
  1730.                 For $i = 1 To $socau
  1731.                     If $nMsg = $socau_List[1][$i] Then
  1732.                         If $thoigian >= 0 Then Doicauhoi($i)
  1733.                     EndIf
  1734.                 Next
  1735.         EndSwitch
  1736.         If $thoigian >= 0 Then
  1737.             If $thoigian <> 0 Then
  1738.                 If @MIN <> $phut Then
  1739.                     $phut = @MIN
  1740.                     $thoigian -= 1
  1741.                     GUICtrlSetData($socau_control[2], "Số câu hỏi: " & $socau & "         Đã trả lời: " & $caudung & "        Thời gian còn lại: " & $thoigian & " phút")
  1742.  
  1743.                 EndIf
  1744.             Else
  1745.                 If $socauht <> 0 Then
  1746.                     $socauht = 0
  1747.                     GUICtrlSetState($socau_control[12], $GUI_DISABLE)
  1748.                     GUICtrlSetState($socau_control[13], $GUI_DISABLE)
  1749.                     GUICtrlSetState($socau_control[14], $GUI_DISABLE)
  1750.                     $kq = Ketqua()
  1751.                     If $kq = 1 Then
  1752.                         For $i = 1 To $socau
  1753.                             If $causai[$i] = 1 Then
  1754.                                 Doicauhoi($i)
  1755.                                 $kt = $i
  1756.                                 ExitLoop
  1757.                             EndIf
  1758.                         Next
  1759.                     Else
  1760.                         GUIDelete($GUI2)
  1761.                         ExitLoop
  1762.                     EndIf
  1763.  
  1764.                 EndIf
  1765.             EndIf
  1766.         EndIf
  1767.         If _ControlHover(0, $GUI2) = 1 Then
  1768.  
  1769.             For $i = 1 To $socau
  1770.                 If @extended = $socau_List[2][$i] And $thoigian >= 0 Then _setimage($socau_List[1][$i], @ScriptDir & '\Data\Picture\O2.bmp')
  1771.             Next
  1772.         Else
  1773.             For $i = 1 To $socau
  1774.                 If @extended = $socau_List[2][$i] And $socauht <> $i Then _setimage($socau_List[1][$i], @ScriptDir & '\Data\Picture\O1.bmp')
  1775.             Next
  1776.         EndIf
  1777.     WEnd
  1778. EndFunc   ;==>Batdau
  1779.  
  1780.  
  1781. Func Doicauhoi($i)
  1782.  
  1783.     GUISwitch($GUI2)
  1784.     $n = $i
  1785.     _setimage($socau_control[0], @ScriptDir & '\Data\Picture\hinhanh_g' & Random(1, 6, 1) & '.png')
  1786.     _setimage($socau_List[1][$socauht], @ScriptDir & '\Data\Picture\O1.bmp')
  1787.     _setimage($socau_List[1][$i], @ScriptDir & '\Data\Picture\O2.bmp')
  1788.     GUICtrlSetData($socau_control[4], 'Câu hỏi số ' & $i & ':')
  1789.  
  1790.     If IniRead($ini, 'Cauhoi' & $thutucau[$i], 'Hinhanh', '') = 1 Then
  1791.  
  1792.         GUICtrlSetState($socau_control[16], $GUI_SHOW)
  1793.         _setimage($socau_control[16], @ScriptDir & '\Data\' & $dir & '\' & $tacvu & '\image_' & $thutucau[$i] & '.jpg')
  1794.         GUICtrlSetPos($socau_control[5], 16, 160, 370, 151)
  1795.         GUICtrlSetData($socau_control[5], StringReplace(IniRead($ini, 'Cauhoi' & $thutucau[$i], 'Cauhoi', ''), '/n', @CRLF))
  1796.     Else
  1797.         GUICtrlSetPos($socau_control[5], 16, 160, 370, 383)
  1798.         GUICtrlSetData($socau_control[5], StringReplace(IniRead($ini, 'Cauhoi' & $thutucau[$i], 'Cauhoi', ''), '/n', @CRLF))
  1799.         GUICtrlSetState($socau_control[16], $GUI_HIDE)
  1800.     EndIf
  1801.     If $thoigian >= 0 Then
  1802.         GUICtrlSetData($socau_control[2], "Số câu hỏi: " & $socau & "         Đã trả lời: " & $caudung & "        Thời gian còn lại: " & $thoigian & " phút")
  1803.  
  1804.  
  1805.         If IniRead($ini, 'Cauhoi' & $thutucau[$i], 'Loaicauhoi', '') = 1 Then
  1806.             GUICtrlSetState($socau_control[15], $GUI_HIDE)
  1807.             GUICtrlSetState($socau_control[7], $GUI_SHOW)
  1808.             GUICtrlSetState($socau_control[8], $GUI_SHOW)
  1809.             GUICtrlSetState($socau_control[9], $GUI_SHOW)
  1810.             GUICtrlSetState($socau_control[10], $GUI_SHOW)
  1811.             GUICtrlSetState($socau_control[7], $GUI_UNCHECKED)
  1812.             GUICtrlSetState($socau_control[8], $GUI_UNCHECKED)
  1813.             GUICtrlSetState($socau_control[9], $GUI_UNCHECKED)
  1814.             GUICtrlSetState($socau_control[10], $GUI_UNCHECKED)
  1815.  
  1816.             If $Cautraloi[$i] <> '' Then
  1817.  
  1818.                 For $u = 1 To 4
  1819.                     If $Cautraloi[$i] = $Dapan_C[$i][$u] Then GUICtrlSetState($socau_control[$u + 6], $GUI_CHECKED)
  1820.                 Next
  1821.             EndIf
  1822.  
  1823.             If $Dapan_C[$i][1] == '' Then
  1824.                 If IniRead($ini, 'Cauhoi' & $thutucau[$i], 'Ngaunhien', '') = 1 Then
  1825.                     $Dapan_C[$i][1] = Random(1, 4, 1)
  1826.                     $Dapan_C[$i][2] = Random(1, 4, 1)
  1827.                     Do
  1828.                         $Dapan_C[$i][2] = Random(1, 4, 1)
  1829.                     Until $Dapan_C[$i][1] <> $Dapan_C[$i][2]
  1830.                     $Dapan_C[$i][3] = Random(1, 4, 1)
  1831.                     Do
  1832.                         $Dapan_C[$i][3] = Random(1, 4, 1)
  1833.                     Until $Dapan_C[$i][1] <> $Dapan_C[$i][3] And $Dapan_C[$i][2] <> $Dapan_C[$i][3] And $Dapan_C[$i][1] <> $Dapan_C[$i][3]
  1834.                     $Dapan_C[$i][4] = Random(1, 4, 1)
  1835.                     Do
  1836.                         $Dapan_C[$i][4] = Random(1, 4, 1)
  1837.                     Until $Dapan_C[$i][1] <> $Dapan_C[$i][4] And $Dapan_C[$i][2] <> $Dapan_C[$i][4] And $Dapan_C[$i][1] <> $Dapan_C[$i][4] And $Dapan_C[$i][3] <> $Dapan_C[$i][4]
  1838.                 Else
  1839.                     $Dapan_C[$i][1] = 1
  1840.                     $Dapan_C[$i][2] = 2
  1841.                     $Dapan_C[$i][3] = 3
  1842.                     $Dapan_C[$i][4] = 4
  1843.                 EndIf
  1844.             EndIf
  1845.             GUICtrlSetData($socau_control[7], 'A) ' & IniRead($ini, 'Cauhoi' & $thutucau[$i], $Dapan_C[$i][1], ''))
  1846.             GUICtrlSetData($socau_control[8], 'B) ' & IniRead($ini, 'Cauhoi' & $thutucau[$i], $Dapan_C[$i][2], ''))
  1847.             GUICtrlSetData($socau_control[9], 'C) ' & IniRead($ini, 'Cauhoi' & $thutucau[$i], $Dapan_C[$i][3], ''))
  1848.             GUICtrlSetData($socau_control[10], 'D) ' & IniRead($ini, 'Cauhoi' & $thutucau[$i], $Dapan_C[$i][4], ''))
  1849.             GUICtrlSetData($socau_control[11], 'Chọn câu trả lời:')
  1850.         Else
  1851.             GUICtrlSetState($socau_control[15], $GUI_SHOW)
  1852.             GUICtrlSetData($socau_control[15], '')
  1853.             If $Cautraloi[$i] <> '' Then GUICtrlSetData($socau_control[15], $Cautraloi[$i])
  1854.             GUICtrlSetState($socau_control[7], $GUI_HIDE)
  1855.             GUICtrlSetState($socau_control[8], $GUI_HIDE)
  1856.             GUICtrlSetState($socau_control[9], $GUI_HIDE)
  1857.             GUICtrlSetState($socau_control[10], $GUI_HIDE)
  1858.             GUICtrlSetData($socau_control[11], 'Ghi câu trả lời:')
  1859.         EndIf
  1860.         If IniRead($ini, 'Cauhoi' & $thutucau[$i], 'Hinhanh', '') = 1 Then
  1861.             GUICtrlSetState($socau_control[16], $GUI_SHOW)
  1862.             _setimage($socau_control[16], @ScriptDir & '\Data\' & $dir & '\' & $tacvu & '\image_' & $thutucau[$i] & '.jpg')
  1863.             GUICtrlSetPos($socau_control[5], 16, 160, 370, 151)
  1864.             GUICtrlSetData($socau_control[5], StringReplace(IniRead($ini, 'Cauhoi' & $thutucau[$i], 'Cauhoi', ''), '/n', @CRLF))
  1865.         Else
  1866.             GUICtrlSetPos($socau_control[5], 16, 160, 370, 383)
  1867.             GUICtrlSetData($socau_control[5], StringReplace(IniRead($ini, 'Cauhoi' & $thutucau[$i], 'Cauhoi', ''), '/n', @CRLF))
  1868.             GUICtrlSetState($socau_control[16], $GUI_HIDE)
  1869.         EndIf
  1870.     EndIf
  1871.     If $thoigian < 0 Then
  1872.         GUICtrlSetState($socau_control[7], $GUI_HIDE)
  1873.         GUICtrlSetState($socau_control[8], $GUI_HIDE)
  1874.         GUICtrlSetState($socau_control[9], $GUI_HIDE)
  1875.         GUICtrlSetState($socau_control[10], $GUI_HIDE)
  1876.         GUICtrlSetState($socau_control[15], $GUI_HIDE)
  1877.         GUICtrlSetData($socau_control[2], "Xem lại các câu trả lời sai")
  1878.         GUICtrlSetPos($socau_control[11], 408, 224, 300, 236)
  1879.         GUICtrlSetState($socau_control[12], $GUI_ENABLE)
  1880.         GUICtrlSetState($socau_control[13], $GUI_ENABLE)
  1881.         GUICtrlSetData($socau_control[12], 'Tiếp theo')
  1882.         GUICtrlSetData($socau_control[13], 'Thoát')
  1883.         If IniRead($ini, 'Cauhoi' & $thutucau[$i], 'Loaicauhoi', '') = 1 Then
  1884.             $dapan = IniRead($ini, 'Cauhoi' & $thutucau[$i], IniRead($ini, 'Cauhoi' & $thutucau[$i], 'Dapandung', ''), '')
  1885.             If IniRead($ini, 'Thongtin', 'giaithich', '') = 1 Then
  1886.                 GUICtrlSetData($socau_control[11], 'Câu trả lời đúng: ' & $dapan & @CRLF & 'Giải thích: ' & @CRLF & StringReplace(IniRead($ini, 'Cauhoi' & $thutucau[$i], 'giaithich', ''), '/n', @CRLF))
  1887.             Else
  1888.                 GUICtrlSetData($socau_control[11], 'Câu trả lời đúng: ' & $dapan & @CRLF & 'Đề không giải thích')
  1889.             EndIf
  1890.         Else
  1891.             $dapan = IniRead($ini, 'Cauhoi' & $thutucau[$i], 'Dapandung', '')
  1892.             If IniRead($ini, 'Thongtin', 'giaithich', '') = 1 Then
  1893.                 GUICtrlSetData($socau_control[11], 'Câu trả lời đúng: ' & StringReplace($dapan, '|', ' [hoặc] ') & @CRLF & 'Giải thích: ' & @CRLF & StringReplace(IniRead($ini, 'Cauhoi' & $thutucau[$i], 'giaithich', ''), '/n', @CRLF))
  1894.             Else
  1895.                 GUICtrlSetData($socau_control[11], 'Câu trả lời đúng: ' & StringReplace($dapan, '|', ' [hoặc] ') & @CRLF & 'Đề không giải thích')
  1896.             EndIf
  1897.  
  1898.         EndIf
  1899.     EndIf
  1900.     $socauht = $i
  1901.  
  1902. EndFunc   ;==>Doicauhoi
  1903.  
  1904.  
  1905. Func Ketqua()
  1906.     GUISwitch($GUI2)
  1907.     For $i = 1 To $socau
  1908.         _setimage($socau_List[1][$i], @ScriptDir & '\Data\Picture\O1.bmp')
  1909.     Next
  1910.     $caudung = 0
  1911.     $diem = 0
  1912.     $kt = 0
  1913.  
  1914.     For $i = 1 To $socau
  1915.         $causai[$i] = 1
  1916.         If $Cautraloi[$i] <> '' Then
  1917.             If IniRead($ini, 'Cauhoi' & $thutucau[$i], 'Loaicauhoi', '') = 1 Then
  1918.  
  1919.  
  1920.                 If $Cautraloi[$i] = IniRead($ini, 'Cauhoi' & $thutucau[$i], 'Dapandung', '') Then
  1921.                     $diem += IniRead($ini, 'Cauhoi' & $thutucau[$i], 'diem', '')
  1922.                     $caudung += 1
  1923.                     $causai[$i] = 0
  1924.                 Else
  1925.  
  1926.  
  1927.                 EndIf
  1928.             Else
  1929.                 $thoigian = StringSplit(IniRead($ini, 'Cauhoi' & $thutucau[$i], 'Dapandung', ''), '|')
  1930.                 For $u = 1 To $thoigian[0]
  1931.                     If $Cautraloi[$i] = $thoigian[$u] Then
  1932.                         $diem += IniRead($ini, 'Cauhoi' & $thutucau[$i], 'diem', '')
  1933.                         $caudung += 1
  1934.                         $causai[$i] = 0
  1935.                         ExitLoop
  1936.                     EndIf
  1937.                 Next
  1938.             EndIf
  1939.         EndIf
  1940.         If $causai[$i] = 1 Then
  1941.             GUICtrlSetColor($socau_List[2][$i], 0xFF0000)
  1942.         EndIf
  1943.     Next
  1944.     If $diem > IniRead($ini, 'Thongtin', 'diemcao', '') Or IniRead($ini, 'Thongtin', 'diemcao', '') = '' Then
  1945.         IniWrite($ini, 'Thongtin', 'diemcao', $diem)
  1946.         IniWrite($ini, 'Thongtin', 'tdiemcao', $taikhoan)
  1947.     EndIf
  1948.     If $diem > IniRead(@ScriptDir & '\Data\Database.dat', PText($taikhoan), IniRead($ini, 'Thongtin', 'made', ''), '') Or IniRead(@ScriptDir & '\Data\Database.dat', PText($taikhoan), IniRead($ini, 'Thongtin', 'made', ''), '') = '' Then IniWrite(@ScriptDir & '\Data\Database.dat', PText($taikhoan), IniRead($ini, 'Thongtin', 'made', ''), PText($diem))
  1949.  
  1950.     IniWrite(@ScriptDir & '\Data\Database.dat', PText($taikhoan), '5', PText(GText(IniRead(@ScriptDir & '\Data\Database.dat', PText($taikhoan), '5', '')) + Round($caudung / 10, 1)))
  1951.     IniWrite(@ScriptDir & '\Data\Database.dat', PText($taikhoan), '6', PText(GText(IniRead(@ScriptDir & '\Data\Database.dat', PText($taikhoan), '6', '')) + Round($diem, 1)))
  1952.  
  1953.     $Ketqua = GUICreate("Kết quả " & IniRead($ini, 'Thongtin', 'ten', ''), 380, 187, -1, -1, 0)
  1954.     GUISetFont(10, 400, 0, "Tahoma")
  1955.     GUICtrlCreateGroup("Thông tin", 8, 8, 225, 129)
  1956.     GUICtrlCreateLabel("Số câu hỏi: " & $socau, 32, 32, 137, 20)
  1957.     GUICtrlCreateLabel("Trả lời đúng: " & $caudung & ' câu', 32, 56, 142, 20)
  1958.     GUICtrlCreateLabel("Trả lời sai: " & $socau - $caudung & ' câu', 32, 80, 142, 20)
  1959.     GUICtrlCreateLabel("Tổng điểm: " & $diem & ' điểm', 32, 104, 142, 20)
  1960.     GUICtrlSetFont(-1, 10, 800, 0, "Tahoma")
  1961.     GUICtrlCreateGroup("", -99, -99, 1, 1)
  1962.     $Ketqua_Button1 = GUICtrlCreateButton("Xem các câu sai", 240, 16, 131, 25)
  1963.     If $caudung = $socau Then
  1964.         GUICtrlSetState(-1, $GUI_DISABLE)
  1965.     Else
  1966.         If IniRead($ini, 'Thongtin', 'giaithich', '') = 0 And IniRead($ini, 'Thongtin', 'xemlai', '') = 0 Then
  1967.             GUICtrlSetState(-1, $GUI_DISABLE)
  1968.         Else
  1969.             If IniRead($ini, 'Thongtin', 'giaithich', '') = 1 Then
  1970.                 GUICtrlSetState(-1, $GUI_ENABLE)
  1971.             Else
  1972.                 GUICtrlSetState(-1, $GUI_ENABLE)
  1973.             EndIf
  1974.         EndIf
  1975.     EndIf
  1976.     $Ketqua_Button2 = GUICtrlCreateButton("Đóng lại", 240, 48, 131, 25)
  1977.  
  1978.     GUISetState(@SW_SHOW)
  1979.  
  1980.     While 1
  1981.         $nMsg = GUIGetMsg()
  1982.         Switch $nMsg
  1983.             Case $Ketqua_Button1
  1984.                 GUIDelete($Ketqua)
  1985.                 $thoigian = -1
  1986.                 Return 1
  1987.             Case $Ketqua_Button2
  1988.                 GUIDelete($Ketqua)
  1989.                 Return 0
  1990.  
  1991.         EndSwitch
  1992.     WEnd
  1993.  
  1994. EndFunc   ;==>Ketqua
  1995. Func LuuGiaiThich($i)
  1996.     $LGT = GUICreate("Thêm giải thích cho câu " & $i, 386, 223, -1, -1, 0)
  1997.     GUISetFont(10, 400, 0, "Tahoma")
  1998.     $LGT_Edit1 = GUICtrlCreateEdit("", 0, 0, 385, 153, BitOR($ES_AUTOVSCROLL, $ES_WANTRETURN, $WS_VSCROLL))
  1999.     GUICtrlSetData(-1, StringReplace(IniRead($dir, 'Cauhoi' & $i, 'giaithich', ''), '/n', @CRLF))
  2000.     $LGT_Button1 = GUICtrlCreateButton("Lưu lại", 304, 160, 75, 25)
  2001.     $LGT_Button2 = GUICtrlCreateButton("Đóng lại", 224, 160, 75, 25)
  2002.     GUISetState(@SW_SHOW)
  2003.  
  2004.  
  2005.     While 1
  2006.         $nMsg = GUIGetMsg()
  2007.         Switch $nMsg
  2008.             Case $LGT_Button1
  2009.                 IniWrite($dir, 'Cauhoi' & $i, 'giaithich', StringReplace(GUICtrlRead($LGT_Edit1), @CRLF, '/n'))
  2010.                 GUIDelete($LGT)
  2011.                 ExitLoop
  2012.             Case $LGT_Button2
  2013.                 GUIDelete($LGT)
  2014.                 ExitLoop
  2015.  
  2016.         EndSwitch
  2017.     WEnd
  2018.  
  2019. EndFunc   ;==>LuuGiaiThich
Advertisement
Add Comment
Please, Sign In to add comment