Pastebin
API
tools
faq
paste
Login
Sign up
Please fix the following errors:
New Paste
Syntax Highlighting
; các thư viện sử dụng #include <ButtonConstants.au3> #include <GUIConstantsEx.au3> #include <GuiStatusBar.au3> #include <StaticConstants.au3> #include <WindowsConstants.au3> #include <Icons.au3> #include <EditConstants.au3> #include <GUIConstantsEx.au3> #include <Static_ButtonHover.au3> #include <GUIListBox.au3> #include <TabConstants.au3> #include <_ControlHover.au3> #include <Array.au3> #AutoIt3Wrapper_icon=VietGenius.ico #AutoIt3Wrapper_Res_Comment=Phần mềm dự thi #AutoIt3Wrapper_Res_Description=Viet Genius #AutoIt3Wrapper_Res_Fileversion=1.0.0.0 #AutoIt3Wrapper_Res_LegalCopyright=MĐC 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 Global $GUI1_Control[50], $GUI2_Control_Text[10][30][7], $GUI_Button[11], $id, $tv, $GUI_Button_Admin[5], $Admin_Gui1_Control[20], $tacvu Global $Admin_GUI2_Control[13], $anh, $caucu ; Sử dụng unicode cho Database.dat $old = FileRead(@ScriptDir & '\Data\Database.dat') $file = FileOpen(@ScriptDir & '\Data\Database.dat', 32 + 2) FileWrite($file, $old) FileClose($file) $GUIHo = GUICreate("Công cụ tiện ích học tập", 800, 600, -1, -1) $StatusBar2 = _GUICtrlStatusBar_Create($GUIHo) Dim $StatusBar2_PartsWidth[1] = [-1] _GUICtrlStatusBar_SetParts($StatusBar2, $StatusBar2_PartsWidth) _GUICtrlStatusBar_SetText($StatusBar2, "Công cụ tiện ích hỗ trợ học tập Viet-Genius - Hãy đăng nhập", 0) _GUICtrlStatusBar_SetMinHeight($StatusBar2, 25) GUISetBkColor(0xC0C0C0) GUISetState(@SW_SHOW) $taikhoan = DangNhap() If $taikhoan = 'giaovien' Then $loaitk = 'admin' Else $loaitk = 'none' EndIf ; GUI $GUI = GUICreate("Công cụ tiện ích học tập", 800, 600, -1, -1) GUISetFont(10, 400, 0, "Tahoma") GUISetBkColor(0xFFFFFF) GUICtrlCreatePic("", 0, 0, 800, 117) _setimage(-1, @ScriptDir & '\Data\Picture\hinhanh' & Random(2, 3, 1) & '.png') GUICtrlCreatePic("", 8, 16, 84, 76) _setimage(-1, @ScriptDir & '\Data\Picture\icon.png') GUICtrlCreateLabel("Viet-Genius", 86, 10, 328, 81) GUICtrlSetFont(-1, 48, 400, 2, "Tahoma") GUICtrlSetColor(-1, 0xFFFFFF) GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT) GUICtrlCreateLabel("- Phần mềm dự thi -", 600, 60) GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT) GUICtrlCreateGroup("Thông tin", 160, 120, 633, 441) GUICtrlCreateGroup("", -99, -99, 1, 1) $StatusBar1 = _GUICtrlStatusBar_Create($GUI) Dim $StatusBar1_PartsWidth[1] = [-1] _GUICtrlStatusBar_SetParts($StatusBar1, $StatusBar1_PartsWidth) _GUICtrlStatusBar_SetText($StatusBar1, "Công cụ tiện ích hỗ trợ học tập Viet-Genius", 0) _GUICtrlStatusBar_SetMinHeight($StatusBar1, 25) ; Member $GUI1_Control[1] = GUICtrlCreatePic("", 216, 152, 153, 137, -1, BitOR($WS_EX_CLIENTEDGE, $WS_EX_STATICEDGE)) If FileExists(@ScriptDir & '\Data\' & $taikhoan & '\avatar.jpg') Then _setimage(-1, @ScriptDir & '\Data\' & $taikhoan & '\avatar.jpg') Else _setimage(-1, @ScriptDir & '\Data\Picture\no_avatar.png') EndIf $GUI1_Control[2] = GUICtrlCreateLabel("[Đổi hình đại điện]", 240, 296, 104, 18) GUICtrlSetFont(-1, 9, 400, 2, "Tahoma") GUICtrlSetCursor(-1, 0) $GUI1_Control[3] = GUICtrlCreateLabel("Tên tài khoản: " & $taikhoan, 416, 160, 200, 20) $GUI1_Control[4] = GUICtrlCreateLabel("Họ tên của bạn: " & GText(IniRead(@ScriptDir & '\Data\Database.dat', PText($taikhoan), '2', '')), 416, 192, 200, 20) $GUI1_Control[5] = GUICtrlCreateLabel("Học sinh lớp: " & GText(IniRead(@ScriptDir & '\Data\Database.dat', PText($taikhoan), '3', '')), 416, 224, 200, 20) $GUI1_Control[7] = GUICtrlCreateLabel("Mật khẩu: **************", 416, 288, 177, 20) $GUI1_Control[8] = GUICtrlCreateLabel("Điểm năng động: " & GText(IniRead(@ScriptDir & '\Data\Database.dat', PText($taikhoan), '5', '')), 216, 336, 200, 20) $GUI1_Control[13] = GUICtrlCreateLabel("Điểm tài năng: " & GText(IniRead(@ScriptDir & '\Data\Database.dat', PText($taikhoan), '6', '')), 216, 368, 200, 20) $GUI1_Control[9] = GUICtrlCreatePic(@ScriptDir & "\Data\Picture\rate-" & Round(GText(IniRead(@ScriptDir & '\Data\Database.dat', PText($taikhoan), '5', '')) / 10) & ".gif", 384, 340, 70, 11) $GUI1_Control[14] = GUICtrlCreatePic(@ScriptDir & "\Data\Picture\rate-" & Round(GText(IniRead(@ScriptDir & '\Data\Database.dat', PText($taikhoan), '6', '')) / 20) & ".gif", 384, 372, 70, 11) $GUI1_Control[10] = GUICtrlCreateLabel("Email: " & GText(IniRead(@ScriptDir & '\Data\Database.dat', PText($taikhoan), '4', '')), 416, 256, 200, 20) $GUI1_Control[6] = GUICtrlCreateButton("Thay đổi", 656, 221, 75, 25) $GUI1_Control[11] = GUICtrlCreateButton("Thêm vào", 656, 253, 75, 25) $GUI1_Control[12] = GUICtrlCreateButton("Thay đổi", 656, 285, 75, 25) $GUI1_Control[15] = GUICtrlCreateButton("Thay đổi", 656, 189, 75, 25) $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) If IniRead(@ScriptDir & '\Data\Database.dat', PText($taikhoan), '4', '') <> '' Then GUICtrlSetData($GUI1_Control[11], 'Thay đổi') ; GUI ADMIN $Admin_Gui1_Control[1] = GUICtrlCreateList("", 176, 152, 153, 214) $taikhoan1 = IniReadSectionNames(@ScriptDir & '\Data\Database.dat') $ten = '' For $i = 1 To $taikhoan1[0] If $taikhoan1[$i] <> '' Then $ten = $ten & '|' & Gtext($taikhoan1[$i]) Next GUICtrlSetData($Admin_Gui1_Control[1], $ten) $Admin_Gui1_Control[2] = GUICtrlCreateLabel("Họ tên:", 344, 160, 254, 20) $Admin_Gui1_Control[3] = GUICtrlCreateLabel("Lớp:", 344, 192, 253, 20) $Admin_Gui1_Control[4] = GUICtrlCreateLabel("Email:", 344, 224, 256, 20) $Admin_Gui1_Control[5] = GUICtrlCreateLabel("Mật khẩu:", 344, 256, 253, 20) $Admin_Gui1_Control[6] = GUICtrlCreateLabel("Điểm năng động:", 344, 288, 256, 20) $Admin_Gui1_Control[7] = GUICtrlCreateLabel("Điểm tài năng:", 344, 320, 254, 20) $Admin_Gui1_Control[8] = GUICtrlCreatePic("", 632, 144, 137, 129, -1, BitOR($WS_EX_CLIENTEDGE, $WS_EX_STATICEDGE)) _setimage($Admin_Gui1_Control[8], @ScriptDir & '\Data\Picture\no_avatar.png') $Admin_Gui1_Control[9] = GUICtrlCreateLabel("[Xóa hình đại diện]", 648, 280, 107, 18) GUICtrlSetFont(-1, 9, 400, 2, "Tahoma") GUICtrlSetCursor(-1, 0) $Admin_Gui1_Control[10] = GUICtrlCreateGroup("Tùy chỉnh", 160, 384, 633, 177) $Admin_Gui1_Control[11] = GUICtrlCreateCheckbox("Cho phép đăng ký thành viên", 368, 432, 225, 17) If IniRead(@ScriptDir & '\Data\System.dat', 'System', '1', '') = 0 Then GUICtrlSetState(-1, $GUI_CHECKED) $Admin_Gui1_Control[12] = GUICtrlCreateCheckbox("Cho phép đăng nhập vào hệ thống", 368, 464, 241, 17) If IniRead(@ScriptDir & '\Data\System.dat', 'System', '2', '') = 0 Then GUICtrlSetState(-1, $GUI_CHECKED) $Admin_Gui1_Control[13] = GUICtrlCreateCheckbox("Cho phép học sinh làm bài", 368, 496, 185, 17) If IniRead(@ScriptDir & '\Data\System.dat', 'System', '3', '') = 0 Then GUICtrlSetState(-1, $GUI_CHECKED) GUICtrlCreateGroup("", -99, -99, 1, 1) $Admin_Gui1_Control[14] = GUICtrlCreateButton("Xóa điểm năng động", 336, 344, 139, 25) $Admin_Gui1_Control[15] = GUICtrlCreateButton("Xóa điểm tài năng", 488, 344, 139, 25) $Admin_Gui1_Control[16] = GUICtrlCreateButton("Xóa thành viên", 640, 344, 139, 25) GUICtrlSetState($Admin_Gui1_Control[14], $GUI_DISABLE) GUICtrlSetState($Admin_Gui1_Control[15], $GUI_DISABLE) GUICtrlSetState($Admin_Gui1_Control[16], $GUI_DISABLE) GUICtrlSetState($Admin_Gui1_Control[9], $GUI_DISABLE) GUICtrlCreateGroup("", -99, -99, 1, 1) ;2 $Admin_GUI2_Control[9] = GUICtrlCreatePic(@ScriptDir & "\Data\Picture\Up.bmp", 300, 220, 14, 20) GUICtrlSetCursor(-1, 0) $Admin_GUI2_Control[10] = GUICtrlCreatePic(@ScriptDir & "\Data\Picture\Down.bmp", 300, 240, 14, 20) GUICtrlSetCursor(-1, 0) $Admin_GUI2_Control[11] = GUICtrlCreatePic(@ScriptDir & "\Data\Picture\Up.bmp", 560, 220, 14, 20) GUICtrlSetCursor(-1, 0) $Admin_GUI2_Control[12] = GUICtrlCreatePic(@ScriptDir & "\Data\Picture\Down.bmp", 560, 240, 14, 20) GUICtrlSetCursor(-1, 0) $Admin_GUI2_Control[1] = GUICtrlCreateList("", 176, 152, 120, 214, BitOR($LBS_NOTIFY, $WS_VSCROLL, $WS_BORDER)) $Admin_GUI2_Control[6] = GUICtrlCreateList("", 328, 152, 230, 214, BitOR($LBS_NOTIFY, $WS_VSCROLL, $WS_BORDER)) $thongtin = '' For $i = 1 To Number(IniRead(@ScriptDir & '\Data\List.dat', 'List', 'tong', '')) $thongtin = $thongtin & '|' & '[' & $i & ']' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $i, '') Next GUICtrlSetData($Admin_GUI2_Control[1], $thongtin) $Admin_GUI2_Control[2] = GUICtrlCreateButton("Xóa", 176, 376, 67, 25) $Admin_GUI2_Control[3] = GUICtrlCreateButton("Thêm", 248, 376, 67, 25) $Admin_GUI2_Control[4] = GUICtrlCreateLabel("Vui lòng chọn một đề kiểm tra", 592, 152, 185, 212) GUICtrlSetFont(-1, 9, 400, 0, "Tahoma") $Admin_GUI2_Control[5] = GUICtrlCreateButton("Sửa thông tin", 632, 376, 115, 25) $Admin_GUI2_Control[7] = GUICtrlCreateButton("Thêm đề kiểm tra", 456, 376, 123, 25) $Admin_GUI2_Control[8] = GUICtrlCreateButton("Xóa đề kiểm tra", 328, 376, 123, 25) GUICtrlSetState($Admin_GUI2_Control[8], $GUI_DISABLE) GUICtrlSetState($Admin_GUI2_Control[5], $GUI_DISABLE) GUICtrlSetState($Admin_GUI2_Control[7], $GUI_DISABLE) GUICtrlSetState($Admin_GUI2_Control[2], $GUI_DISABLE) If $loaitk <> 'admin' Then For $i = 1 To 16 GUICtrlSetState($Admin_Gui1_Control[$i], $GUI_HIDE) If $i <= 12 Then GUICtrlSetState($Admin_GUI2_Control[$i], $GUI_HIDE) Next Else For $i = 1 To 12 GUICtrlSetState($Admin_GUI2_Control[$i], $GUI_HIDE) Next EndIf $Up = GUICtrlCreatePic(@ScriptDir & "\Data\Picture\Up.bmp", 776, 313, 14, 20) GUICtrlSetCursor(-1, 0) $Down = GUICtrlCreatePic(@ScriptDir & "\Data\Picture\Down.bmp", 776, 337, 14, 20) GUICtrlSetCursor(-1, 0) GUICtrlSetState($Up, $GUI_HIDE) GUICtrlSetState($Down, $GUI_HIDE) For $j = 1 To Number(IniRead(@ScriptDir & '\Data\List.dat', 'List', 'tong', '')) $v = 1 For $i = 1 To Number(IniRead(@ScriptDir & '\Data\List.dat', 'List', $j & '_t', '')) $GUI2_Control_Text[$j][$i][2] = GUICtrlCreatePic(@ScriptDir & "\Data\Picture\ButtonA1.bmp", 708, 153 + ($v - 1) * 104, 57, 88) GUICtrlSetCursor(-1, 0) $GUI2_Control_Text[$j][$i][1] = GUICtrlCreatePic(@ScriptDir & "\Data\Picture\Bode.bmp", 184, 152 + ($v - 1) * 104, 582, 89) $tenthumuc = IniRead(@ScriptDir & '\Data\List.dat', 'List', $j & '_d', '') $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)) GUICtrlSetFont(-1, 16, 400, 0, "Tahoma") GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT) $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) GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT) $GUI2_Control_Text[$j][$i][5] = GUICtrlCreateLabel("Bạn chưa từng làm đề này", 536, 211 + ($v - 1) * 104) GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT) 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', ''), ''))) $GUI2_Control_Text[$j][$i][6] = GUICtrlCreateLabel("Đề không có giải thích", 536, 187 + ($v - 1) * 104) GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT) If IniRead(@ScriptDir & '\Data\' & $tenthumuc & '\de' & $i & '.dat', 'Thongtin', 'giaithich', '') = 1 Then GUICtrlSetData(-1, 'Đề có giải thích') For $u = 1 To 6 GUICtrlSetState($GUI2_Control_Text[$j][$i][$u], $GUI_HIDE) Next $v += 1 If Mod($i, 4) = 0 Then $v = 1 Next Next GUICtrlCreateGroup("", -99, -99, 1, 1) If $loaitk <> 'admin' Then $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) GUICtrlSetFont(-1, 10, 800, 0, "Tahoma") $GUI_Button_Admin[1] = GUICtrlCreateButton('', 1000, 1000, 5, 5) Else $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) GUICtrlSetFont(-1, 10, 800, 0, "Tahoma") $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) GUICtrlSetFont(-1, 10, 800, 0, "Tahoma") EndIf If $loaitk <> 'admin' Then For $i = 1 To Number(IniRead(@ScriptDir & '\Data\List.dat', 'List', 'tong', '')) $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) GUICtrlSetFont(-1, 10, 800, 0, "Tahoma") Next Else For $i = 1 To Number(IniRead(@ScriptDir & '\Data\List.dat', 'List', 'tong', '')) $GUI_Button[$i + 1] = GUICtrlCreateButton('', 1000, 1000, 1, 1) Next EndIf If $loaitk = 'admin' Then For $i = 1 To 16 GUICtrlSetState($GUI1_Control[$i], $GUI_HIDE) Next For $j = 1 To Number(IniRead(@ScriptDir & '\Data\List.dat', 'List', 'tong', '')) For $i = 1 To Number(IniRead(@ScriptDir & '\Data\List.dat', 'List', $j & '_t', '')) For $u = 1 To 6 GUICtrlSetState($GUI2_Control_Text[$j][$i][$u], $GUI_HIDE) Next Next Next EndIf $id = 0 GUISetState(@SW_SHOW) GUIDelete($GUIHo) While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $Admin_GUI2_Control[7] $num1 = StringSplit(GUICtrlRead($Admin_GUI2_Control[1]), ']') $num = StringRight($num1[1], StringLen($num1[1]) - 1) $num1 = StringSplit(GUICtrlRead($Admin_GUI2_Control[6]), ']') $num2 = StringRight($num1[1], StringLen($num1[1]) - 1) TaoSuaDe(1, IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_d', ''), $num, $num2) $num1 = StringSplit(GUICtrlRead($Admin_GUI2_Control[1]), ']') $num = StringRight($num1[1], StringLen($num1[1]) - 1) $thongtin = '' For $i = 1 To Number(IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_t', '')) $thongtin = $thongtin & '|' & '[' & $i & ']' & IniRead(@ScriptDir & '\Data\' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_d', '') & '\de' & $i & '.dat', 'Thongtin', 'ten', '') Next GUICtrlSetData($Admin_GUI2_Control[6], $thongtin) GUICtrlSetState($Admin_GUI2_Control[8], $GUI_DISABLE) GUICtrlSetState($Admin_GUI2_Control[5], $GUI_DISABLE) GUICtrlSetData($Admin_GUI2_Control[4], "Vui lòng chọn một đề kiểm tra") Case $Admin_GUI2_Control[3] If Number(IniRead(@ScriptDir & '\Data\List.dat', 'List', 'tong', '')) < 11 Then $ok = 1 Do $input = InputBox('Tên gói đề', 'Nhập tên gói đề', '', '', 150, 150) If @error Then ExitLoop Until $input <> '' If $input <> '' Then For $i = 1 To Number(IniRead(@ScriptDir & '\Data\List.dat', 'List', 'tong', '')) If StringUpper($input) = IniRead(@ScriptDir & '\Data\List.dat', 'List', $i, '') Then MsgBox(64, 'Thông báo', 'Bạn đã có gói đề này trước đó') $ok = 0 ExitLoop EndIf Next If $ok = 1 Then Do $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) If @error Then ExitLoop Until $input2 <> '' If StringIsASCII($input2) <> 1 Or StringIsAlpha($input2) <> 1 Or $input2 = '' Or FileExists(@ScriptDir & '\Data\' & $input2) Then $ok = 0 If FileExists(@ScriptDir & '\Data\' & $input2) Then MsgBox(64, 'Thông báo', 'Tên này đã được sử dụng') Else 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ố') EndIf EndIf If $ok = 1 Then IniWrite(@ScriptDir & '\Data\List.dat', 'List', 'tong', IniRead(@ScriptDir & '\Data\List.dat', 'List', 'tong', '') + 1) IniWrite(@ScriptDir & '\Data\List.dat', 'List', IniRead(@ScriptDir & '\Data\List.dat', 'List', 'tong', ''), StringUpper($input)) IniWrite(@ScriptDir & '\Data\List.dat', 'List', IniRead(@ScriptDir & '\Data\List.dat', 'List', 'tong', '') & '_t', 0) IniWrite(@ScriptDir & '\Data\List.dat', 'List', IniRead(@ScriptDir & '\Data\List.dat', 'List', 'tong', '') & '_d', StringReplace($input2, ' ', '')) DirCreate(@ScriptDir & '\Data\' & StringReplace($input2, ' ', '')) GUICtrlSetData($Admin_GUI2_Control[4], "Vui lòng chọn một đề kiểm tra") $thongtin = '' For $i = 1 To Number(IniRead(@ScriptDir & '\Data\List.dat', 'List', 'tong', '')) $thongtin = $thongtin & '|' & '[' & $i & ']' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $i, '') Next GUICtrlSetData($Admin_GUI2_Control[1], $thongtin) GUICtrlSetState($Admin_GUI2_Control[2], $GUI_DISABLE) GUICtrlSetState($Admin_GUI2_Control[7], $GUI_DISABLE) GUICtrlSetData($Admin_GUI2_Control[6], '') GUICtrlSetState($Admin_GUI2_Control[8], $GUI_DISABLE) GUICtrlSetState($Admin_GUI2_Control[5], $GUI_DISABLE) EndIf EndIf EndIf Else MsgBox(64, 'Thông báo', 'Số lượng gói đề kiểm tra đã đạt mức giới hạn') EndIf Case $Admin_GUI2_Control[11] ; up 2 If GUICtrlRead($Admin_GUI2_Control[6]) <> '' Then $num1 = StringSplit(GUICtrlRead($Admin_GUI2_Control[1]), ']') $num = StringRight($num1[1], StringLen($num1[1]) - 1) $num1 = StringSplit(GUICtrlRead($Admin_GUI2_Control[6]), ']') $num2 = StringRight($num1[1], StringLen($num1[1]) - 1) If $num2 <> 1 Then 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) 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) 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) $thongtin = '' For $i = 1 To Number(IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_t', '')) $thongtin = $thongtin & '|' & '[' & $i & ']' & IniRead(@ScriptDir & '\Data\' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_d', '') & '\de' & $i & '.dat', 'Thongtin', 'ten', '') Next GUICtrlSetData($Admin_GUI2_Control[6], $thongtin) GUICtrlSetState($Admin_GUI2_Control[8], $GUI_DISABLE) GUICtrlSetState($Admin_GUI2_Control[5], $GUI_DISABLE) GUICtrlSetData($Admin_GUI2_Control[4], "Vui lòng chọn một đề kiểm tra") EndIf EndIf Case $Admin_GUI2_Control[12] ; down 2 If GUICtrlRead($Admin_GUI2_Control[6]) <> '' Then $num1 = StringSplit(GUICtrlRead($Admin_GUI2_Control[1]), ']') $num = StringRight($num1[1], StringLen($num1[1]) - 1) $num1 = StringSplit(GUICtrlRead($Admin_GUI2_Control[6]), ']') $num2 = StringRight($num1[1], StringLen($num1[1]) - 1) If $num2 <> IniRead(@ScriptDir & '\Data\List.dat', 'List', ($num) & '_t', '') Then 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) 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) 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) $thongtin = '' For $i = 1 To Number(IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_t', '')) $thongtin = $thongtin & '|' & '[' & $i & ']' & IniRead(@ScriptDir & '\Data\' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_d', '') & '\de' & $i & '.dat', 'Thongtin', 'ten', '') Next GUICtrlSetData($Admin_GUI2_Control[6], $thongtin) GUICtrlSetState($Admin_GUI2_Control[8], $GUI_DISABLE) GUICtrlSetState($Admin_GUI2_Control[5], $GUI_DISABLE) GUICtrlSetData($Admin_GUI2_Control[4], "Vui lòng chọn một đề kiểm tra") EndIf EndIf Case $Admin_GUI2_Control[9] ; up 1 If GUICtrlRead($Admin_GUI2_Control[1]) <> '' Then $num1 = StringSplit(GUICtrlRead($Admin_GUI2_Control[1]), ']') $num = StringRight($num1[1], StringLen($num1[1]) - 1) If $num = 1 Then MsgBox(16, 'Thông báo', 'Không được dời đối tượng này') Else If $num <> 2 Then $tt1 = IniRead(@ScriptDir & '\Data\List.dat', 'List', $num - 1, '') $tt2 = IniRead(@ScriptDir & '\Data\List.dat', 'List', ($num - 1) & '_t', '') $tt3 = IniRead(@ScriptDir & '\Data\List.dat', 'List', ($num - 1) & '_d', '') IniWrite(@ScriptDir & '\Data\List.dat', 'List', ($num - 1), IniRead(@ScriptDir & '\Data\List.dat', 'List', $num, '')) IniWrite(@ScriptDir & '\Data\List.dat', 'List', ($num - 1) & '_t', IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_t', '')) IniWrite(@ScriptDir & '\Data\List.dat', 'List', ($num - 1) & '_d', IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_d', '')) IniWrite(@ScriptDir & '\Data\List.dat', 'List', $num, $tt1) IniWrite(@ScriptDir & '\Data\List.dat', 'List', $num & '_t', $tt2) IniWrite(@ScriptDir & '\Data\List.dat', 'List', $num & '_d', $tt3) GUICtrlSetData($Admin_GUI2_Control[4], "Vui lòng chọn một đề kiểm tra") $thongtin = '' For $i = 1 To Number(IniRead(@ScriptDir & '\Data\List.dat', 'List', 'tong', '')) $thongtin = $thongtin & '|' & '[' & $i & ']' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $i, '') Next GUICtrlSetData($Admin_GUI2_Control[1], $thongtin) GUICtrlSetState($Admin_GUI2_Control[2], $GUI_DISABLE) GUICtrlSetState($Admin_GUI2_Control[7], $GUI_DISABLE) GUICtrlSetData($Admin_GUI2_Control[6], '') GUICtrlSetState($Admin_GUI2_Control[8], $GUI_DISABLE) GUICtrlSetState($Admin_GUI2_Control[5], $GUI_DISABLE) EndIf EndIf EndIf Case $Admin_GUI2_Control[10] ; down 1 If GUICtrlRead($Admin_GUI2_Control[1]) <> '' Then $num1 = StringSplit(GUICtrlRead($Admin_GUI2_Control[1]), ']') $num = StringRight($num1[1], StringLen($num1[1]) - 1) If $num = 1 Then MsgBox(16, 'Thông báo', 'Không được dời đối tượng này') Else If $num <> IniRead(@ScriptDir & '\Data\List.dat', 'List', 'tong', '') Then $tt1 = IniRead(@ScriptDir & '\Data\List.dat', 'List', $num + 1, '') $tt2 = IniRead(@ScriptDir & '\Data\List.dat', 'List', ($num + 1) & '_t', '') $tt3 = IniRead(@ScriptDir & '\Data\List.dat', 'List', ($num + 1) & '_d', '') IniWrite(@ScriptDir & '\Data\List.dat', 'List', ($num + 1), IniRead(@ScriptDir & '\Data\List.dat', 'List', $num, '')) IniWrite(@ScriptDir & '\Data\List.dat', 'List', ($num + 1) & '_t', IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_t', '')) IniWrite(@ScriptDir & '\Data\List.dat', 'List', ($num + 1) & '_d', IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_d', '')) IniWrite(@ScriptDir & '\Data\List.dat', 'List', $num, $tt1) IniWrite(@ScriptDir & '\Data\List.dat', 'List', $num & '_t', $tt2) IniWrite(@ScriptDir & '\Data\List.dat', 'List', $num & '_d', $tt3) GUICtrlSetData($Admin_GUI2_Control[4], "Vui lòng chọn một đề kiểm tra") $thongtin = '' For $i = 1 To Number(IniRead(@ScriptDir & '\Data\List.dat', 'List', 'tong', '')) $thongtin = $thongtin & '|' & '[' & $i & ']' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $i, '') Next GUICtrlSetData($Admin_GUI2_Control[1], $thongtin) GUICtrlSetState($Admin_GUI2_Control[2], $GUI_DISABLE) GUICtrlSetState($Admin_GUI2_Control[7], $GUI_DISABLE) GUICtrlSetData($Admin_GUI2_Control[6], '') GUICtrlSetState($Admin_GUI2_Control[8], $GUI_DISABLE) GUICtrlSetState($Admin_GUI2_Control[5], $GUI_DISABLE) EndIf EndIf EndIf Case $Admin_GUI2_Control[8] If GUICtrlRead($Admin_GUI2_Control[6]) <> '' Then 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 $num1 = StringSplit(GUICtrlRead($Admin_GUI2_Control[1]), ']') $num = StringRight($num1[1], StringLen($num1[1]) - 1) $num1 = StringSplit(GUICtrlRead($Admin_GUI2_Control[6]), ']') $num2 = StringRight($num1[1], StringLen($num1[1]) - 1) IniWrite(@ScriptDir & '\Data\List.dat', 'List', $num & '_t', IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_t', '') - 1) FileDelete(@ScriptDir & '\Data\' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_d', '') & '\de' & $num2 & '.dat') DirRemove(@ScriptDir & '\Data\' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_d', '') & '\' & $num2, 1) For $i = $num2 To IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_t', '') 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) Next $thongtin = '' For $i = 1 To Number(IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_t', '')) $thongtin = $thongtin & '|' & '[' & $i & ']' & IniRead(@ScriptDir & '\Data\' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_d', '') & '\de' & $i & '.dat', 'Thongtin', 'ten', '') Next GUICtrlSetData($Admin_GUI2_Control[6], $thongtin) GUICtrlSetState($Admin_GUI2_Control[8], $GUI_DISABLE) GUICtrlSetState($Admin_GUI2_Control[5], $GUI_DISABLE) GUICtrlSetData($Admin_GUI2_Control[4], "Vui lòng chọn một đề kiểm tra") EndIf EndIf Case $Admin_GUI2_Control[2] If GUICtrlRead($Admin_GUI2_Control[1]) <> '' Then $num1 = StringSplit(GUICtrlRead($Admin_GUI2_Control[1]), ']') $num = StringRight($num1[1], StringLen($num1[1]) - 1) If $num = 1 Then MsgBox(16, 'Thông báo', 'Bạn không được xóa gói đề này') Else 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 IniWrite(@ScriptDir & '\Data\List.dat', 'List', 'tong', IniRead(@ScriptDir & '\Data\List.dat', 'List', 'tong', '') - 1) IniDelete(@ScriptDir & '\Data\List.dat', 'List', $num) IniDelete(@ScriptDir & '\Data\List.dat', 'List', $num & '_t') $dir = IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_d', '') IniDelete(@ScriptDir & '\Data\List.dat', 'List', $num & '_d') DirRemove(@ScriptDir & '\data\' & $dir, 1) For $i = $num To IniRead(@ScriptDir & '\Data\List.dat', 'List', 'tong', '') IniWrite(@ScriptDir & '\Data\List.dat', 'List', $i, IniRead(@ScriptDir & '\Data\List.dat', 'List', $num + 1, '')) IniWrite(@ScriptDir & '\Data\List.dat', 'List', $i & '_t', IniRead(@ScriptDir & '\Data\List.dat', 'List', ($num + 1) & '_t', '')) IniWrite(@ScriptDir & '\Data\List.dat', 'List', $i & '_d', IniRead(@ScriptDir & '\Data\List.dat', 'List', ($num + 1) & '_d', '')) Next GUICtrlSetData($Admin_GUI2_Control[4], "Vui lòng chọn một đề kiểm tra") $thongtin = '' For $i = 1 To Number(IniRead(@ScriptDir & '\Data\List.dat', 'List', 'tong', '')) $thongtin = $thongtin & '|' & '[' & $i & ']' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $i, '') Next GUICtrlSetData($Admin_GUI2_Control[1], $thongtin) GUICtrlSetState($Admin_GUI2_Control[2], $GUI_DISABLE) GUICtrlSetState($Admin_GUI2_Control[7], $GUI_DISABLE) GUICtrlSetData($Admin_GUI2_Control[6], '') GUICtrlSetState($Admin_GUI2_Control[8], $GUI_DISABLE) GUICtrlSetState($Admin_GUI2_Control[5], $GUI_DISABLE) EndIf EndIf EndIf Case $Admin_GUI2_Control[5] If GUICtrlRead($Admin_GUI2_Control[1]) <> '' And GUICtrlRead($Admin_GUI2_Control[6]) <> '' Then $num1 = StringSplit(GUICtrlRead($Admin_GUI2_Control[1]), ']') $num = StringRight($num1[1], StringLen($num1[1]) - 1) $num1 = StringSplit(GUICtrlRead($Admin_GUI2_Control[6]), ']') $num2 = StringRight($num1[1], StringLen($num1[1]) - 1) TaoSuaDe(0, IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_d', ''), $num, $num2) $tt1 = IniRead(@ScriptDir & '\Data\' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_d', '') & '\de' & $num2 & '.dat', 'Thongtin', 'ten', '') $tt2 = IniRead(@ScriptDir & '\Data\' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_d', '') & '\de' & $num2 & '.dat', 'Thongtin', 'socau', '') $tt3 = IniRead(@ScriptDir & '\Data\' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_d', '') & '\de' & $num2 & '.dat', 'Thongtin', 'giaithich', '') $tt4 = IniRead(@ScriptDir & '\Data\' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_d', '') & '\de' & $num2 & '.dat', 'Thongtin', 'made', '') $tt5 = IniRead(@ScriptDir & '\Data\' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_d', '') & '\de' & $num2 & '.dat', 'Thongtin', 'solanlam', '') $tt6 = IniRead(@ScriptDir & '\Data\' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_d', '') & '\de' & $num2 & '.dat', 'Thongtin', 'thoigian', '') $tt7 = IniRead(@ScriptDir & '\Data\' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_d', '') & '\de' & $num2 & '.dat', 'Thongtin', 'ngaunhien', '') $tt8 = IniRead(@ScriptDir & '\Data\' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_d', '') & '\de' & $num2 & '.dat', 'Thongtin', 'diemcao', '') $tt9 = IniRead(@ScriptDir & '\Data\' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_d', '') & '\de' & $num2 & '.dat', 'Thongtin', 'tdiemcao', '') If $tt3 = 1 Then $tt3 = 'Đề có giải thích' Else $tt3 = 'Đề không giải thích' EndIf If $tt7 = 1 Then $tt7 = 'Câu hỏi ngẫu nhiên' Else $tt7 = 'Câu hỏi không ngẫu nhiên' EndIf $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 GUICtrlSetData($Admin_GUI2_Control[4], $thongtin) EndIf Case $Admin_GUI2_Control[6] If GUICtrlRead($Admin_GUI2_Control[6]) <> '' Then GUICtrlSetState($Admin_GUI2_Control[8], $GUI_ENABLE) GUICtrlSetState($Admin_GUI2_Control[5], $GUI_ENABLE) $num1 = StringSplit(GUICtrlRead($Admin_GUI2_Control[1]), ']') $num = StringRight($num1[1], StringLen($num1[1]) - 1) $num1 = StringSplit(GUICtrlRead($Admin_GUI2_Control[6]), ']') $num2 = StringRight($num1[1], StringLen($num1[1]) - 1) $tt1 = IniRead(@ScriptDir & '\Data\' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_d', '') & '\de' & $num2 & '.dat', 'Thongtin', 'ten', '') $tt2 = IniRead(@ScriptDir & '\Data\' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_d', '') & '\de' & $num2 & '.dat', 'Thongtin', 'socau', '') $tt3 = IniRead(@ScriptDir & '\Data\' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_d', '') & '\de' & $num2 & '.dat', 'Thongtin', 'giaithich', '') $tt4 = IniRead(@ScriptDir & '\Data\' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_d', '') & '\de' & $num2 & '.dat', 'Thongtin', 'made', '') $tt5 = IniRead(@ScriptDir & '\Data\' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_d', '') & '\de' & $num2 & '.dat', 'Thongtin', 'solanlam', '') $tt6 = IniRead(@ScriptDir & '\Data\' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_d', '') & '\de' & $num2 & '.dat', 'Thongtin', 'thoigian', '') $tt7 = IniRead(@ScriptDir & '\Data\' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_d', '') & '\de' & $num2 & '.dat', 'Thongtin', 'ngaunhien', '') $tt8 = IniRead(@ScriptDir & '\Data\' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_d', '') & '\de' & $num2 & '.dat', 'Thongtin', 'diemcao', '') $tt9 = IniRead(@ScriptDir & '\Data\' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_d', '') & '\de' & $num2 & '.dat', 'Thongtin', 'tdiemcao', '') If $tt3 = 1 Then $tt3 = 'Đề có giải thích' Else $tt3 = 'Đề không giải thích' EndIf If $tt7 = 1 Then $tt7 = 'Câu hỏi ngẫu nhiên' Else $tt7 = 'Câu hỏi không ngẫu nhiên' EndIf $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 GUICtrlSetData($Admin_GUI2_Control[4], $thongtin) EndIf Case $Admin_GUI2_Control[1] GUICtrlSetState($Admin_GUI2_Control[7], $GUI_ENABLE) GUICtrlSetState($Admin_GUI2_Control[2], $GUI_ENABLE) $num1 = StringSplit(GUICtrlRead($Admin_GUI2_Control[1]), ']') $num = StringRight($num1[1], StringLen($num1[1]) - 1) $thongtin = '' For $i = 1 To Number(IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_t', '')) $thongtin = $thongtin & '|' & '[' & $i & ']' & IniRead(@ScriptDir & '\Data\' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $num & '_d', '') & '\de' & $i & '.dat', 'Thongtin', 'ten', '') Next GUICtrlSetData($Admin_GUI2_Control[6], $thongtin) GUICtrlSetState($Admin_GUI2_Control[8], $GUI_DISABLE) GUICtrlSetState($Admin_GUI2_Control[5], $GUI_DISABLE) GUICtrlSetData($Admin_GUI2_Control[4], "Vui lòng chọn một đề kiểm tra") Case $GUI_Button_Admin[1] If $loaitk = 'admin' Then For $i = 1 To 16 GUICtrlSetState($Admin_Gui1_Control[$i], $GUI_HIDE) If $i <= 12 Then GUICtrlSetState($Admin_GUI2_Control[$i], $GUI_SHOW) Next EndIf Case $Admin_Gui1_Control[11] If GUICtrlRead($Admin_Gui1_Control[11]) = 1 Then IniWrite(@ScriptDir & '\Data\System.dat', 'System', '1', 0) Else IniWrite(@ScriptDir & '\Data\System.dat', 'System', '1', 1) EndIf Case $Admin_Gui1_Control[12] If GUICtrlRead($Admin_Gui1_Control[12]) = 1 Then IniWrite(@ScriptDir & '\Data\System.dat', 'System', '2', 0) Else IniWrite(@ScriptDir & '\Data\System.dat', 'System', '2', 1) EndIf Case $Admin_Gui1_Control[13] If GUICtrlRead($Admin_Gui1_Control[13]) = 1 Then IniWrite(@ScriptDir & '\Data\System.dat', 'System', '3', 0) Else IniWrite(@ScriptDir & '\Data\System.dat', 'System', '3', 1) EndIf Case $Admin_Gui1_Control[9] If $taikhoan <> '' Then 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 _setimage($Admin_Gui1_Control[8], @ScriptDir & '\Data\Picture\no_avatar.png') FileDelete(@ScriptDir & '\Data\' & $taikhoan & '\avatar.jpg') EndIf EndIf Case $Admin_Gui1_Control[14] If $taikhoan <> '' Then 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 IniWrite(@ScriptDir & '\Data\Database.dat', PText($taikhoan), '5', PText(0)) GUICtrlSetData($Admin_Gui1_Control[6], "Điểm năng động: 0") EndIf EndIf Case $Admin_Gui1_Control[15] If $taikhoan <> '' Then 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 IniWrite(@ScriptDir & '\Data\Database.dat', PText($taikhoan), '6', PText(0)) GUICtrlSetData($Admin_Gui1_Control[7], "Điểm tài năng: 0") EndIf EndIf Case $Admin_Gui1_Control[16] If $taikhoan <> '' Then If MsgBox(1, 'Thông báo', 'Bạn muốn xóa thành viên này?') = 1 Then IniDelete(@ScriptDir & '\Data\Database.dat', PText($taikhoan)) _setimage($Admin_Gui1_Control[8], @ScriptDir & '\Data\Picture\no_avatar.png') GUICtrlSetData($Admin_Gui1_Control[6], "Điểm năng động:") GUICtrlSetData($Admin_Gui1_Control[7], "Điểm tài năng:") GUICtrlSetData($Admin_Gui1_Control[2], "Họ tên:") GUICtrlSetData($Admin_Gui1_Control[3], "Lớp:") GUICtrlSetData($Admin_Gui1_Control[4], "Email:") GUICtrlSetData($Admin_Gui1_Control[5], "Mật khẩu:") $taikhoan1 = IniReadSectionNames(@ScriptDir & '\Data\Database.dat') $ten = '' For $i = 1 To $taikhoan1[0] If $taikhoan1[$i] <> '' Then $ten = $ten & '|' & Gtext($taikhoan1[$i]) Next GUICtrlSetData($Admin_Gui1_Control[1], $ten) GUICtrlSetState($Admin_Gui1_Control[14], $GUI_DISABLE) GUICtrlSetState($Admin_Gui1_Control[15], $GUI_DISABLE) GUICtrlSetState($Admin_Gui1_Control[16], $GUI_DISABLE) GUICtrlSetState($Admin_Gui1_Control[9], $GUI_DISABLE) $taikhoan = '' EndIf EndIf Case $Admin_Gui1_Control[1] $taikhoan = GUICtrlRead($Admin_Gui1_Control[1]) GUICtrlSetState($Admin_Gui1_Control[14], $GUI_ENABLE) GUICtrlSetState($Admin_Gui1_Control[15], $GUI_ENABLE) GUICtrlSetState($Admin_Gui1_Control[16], $GUI_ENABLE) GUICtrlSetState($Admin_Gui1_Control[9], $GUI_ENABLE) GUICtrlSetData($Admin_Gui1_Control[2], 'Họ tên: ' & GText(IniRead(@ScriptDir & '\Data\Database.dat', PText($taikhoan), '2', ''))) GUICtrlSetData($Admin_Gui1_Control[3], "Lớp: " & GText(IniRead(@ScriptDir & '\Data\Database.dat', PText($taikhoan), '3', ''))) GUICtrlSetData($Admin_Gui1_Control[4], "Email: " & GText(IniRead(@ScriptDir & '\Data\Database.dat', PText($taikhoan), '4', ''))) GUICtrlSetData($Admin_Gui1_Control[5], "Mật khẩu: " & GText(IniRead(@ScriptDir & '\Data\Database.dat', PText($taikhoan), '1', ''))) GUICtrlSetData($Admin_Gui1_Control[6], "Điểm năng động: " & GText(IniRead(@ScriptDir & '\Data\Database.dat', PText($taikhoan), '5', ''))) GUICtrlSetData($Admin_Gui1_Control[7], "Điểm tài năng: " & GText(IniRead(@ScriptDir & '\Data\Database.dat', PText($taikhoan), '6', ''))) If FileExists(@ScriptDir & '\Data\' & $taikhoan & '\avatar.jpg') Then _setimage($Admin_Gui1_Control[8], @ScriptDir & '\Data\' & $taikhoan & '\avatar.jpg') Else _setimage($Admin_Gui1_Control[8], @ScriptDir & '\Data\Picture\no_avatar.png') EndIf Case $Down DownUp(1) Case $Up DownUp(2) Case $GUI1_Control[2] $input = FileOpenDialog('Chọn hình đại diện', '', 'Hình ảnh (*.jpg;*.png)') If $input = '' Then Else DirCreate(@ScriptDir & '\Data\' & $taikhoan) FileCopy($input, @ScriptDir & '\Data\' & $taikhoan & '\avatar.jpg', 1) _setimage($GUI1_Control[1], @ScriptDir & '\Data\' & $taikhoan & '\avatar.jpg') EndIf Case $GUI1_Control[11] Do $input = InputBox('Email', 'Vui lòng nhập email của bạn', '', '', 125, 125) If @error Then ExitLoop Until $input <> '' If $input = '' Then Else IniWrite(@ScriptDir & '\Data\Database.dat', PText($taikhoan), '4', Ptext($input)) GUICtrlSetData($GUI1_Control[10], "Email: " & GText(IniRead(@ScriptDir & '\Data\Database.dat', PText($taikhoan), '4', ''))) EndIf Case $GUI1_Control[12] Do $input = InputBox('Mật khẩu', 'Vui lòng nhập mật khẩu cũ của bạn', '', '*', 150, 150) If @error Then ExitLoop Until $input <> '' If $input = '' Then Else If $input = GText(IniRead(@ScriptDir & '\Data\Database.dat', PText($taikhoan), '1', '')) Then Do $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) If @error Then ExitLoop Until $input <> '' If $input = '' Then Else If StringLen($input) <= 4 Then MsgBox(16, 'Thông báo', 'Mật khẩu phải trên 4 ký tự') Else Do $input2 = InputBox('Xác nhận', 'Vui lòng xác nhận lại', '', '*', 150, 150) If @error Then ExitLoop Until $input2 <> '' If $input2 = '' Then Else If $input2 = $input Then IniWrite(@ScriptDir & '\Data\Database.dat', PText($taikhoan), '1', Ptext($input)) Else MsgBox(16, 'Thông báo', 'Xác nhận không chính xác') EndIf EndIf EndIf EndIf Else MsgBox(16, 'Thông báo', 'Không chính xác') EndIf EndIf Case $GUI1_Control[15] Do $input = InputBox('Tên học sinh', 'Vui lòng nhập họ tên của bạn', '', '', 125, 125) If @error Then ExitLoop Until $input <> '' If $input = '' Then Else IniWrite(@ScriptDir & '\Data\Database.dat', PText($taikhoan), '2', Ptext($input)) GUICtrlSetData($GUI1_Control[4], "Họ tên của bạn: " & GText(IniRead(@ScriptDir & '\Data\Database.dat', PText($taikhoan), '2', ''))) EndIf Case $GUI1_Control[6] Do $input = InputBox('Học sinh lớp', 'Vui lòng nhập lớp của bạn', '', '', 125, 125) If @error Then ExitLoop Until $input <> '' If $input = '' Then Else IniWrite(@ScriptDir & '\Data\Database.dat', PText($taikhoan), '3', Ptext($input)) GUICtrlSetData($GUI1_Control[5], "Học sinh lớp: " & GText(IniRead(@ScriptDir & '\Data\Database.dat', PText($taikhoan), '3', ''))) EndIf Case $GUI_EVENT_CLOSE Exit Case Else For $i = 1 To Number(IniRead(@ScriptDir & '\Data\List.dat', 'List', 'tong', '')) + 1 If $nMsg = $GUI_Button[$i] Then If $loaitk <> 'admin' Then ShowGUI($i) Else ShowGUI2($i) EndIf EndIf Next For $i = 1 To Number(IniRead(@ScriptDir & '\Data\List.dat', 'List', $id & '_t', '')) If $nMsg = $GUI2_Control_Text[$id][$i][2] Then Batdau($i, IniRead(@ScriptDir & '\Data\List.dat', 'List', $id & '_d', '')) GUISetState(@SW_SHOW, $GUI) GUISwitch($GUI) GUICtrlSetData($GUI1_Control[8], "Điểm năng động: " & GText(IniRead(@ScriptDir & '\Data\Database.dat', PText($taikhoan), '5', ''))) GUICtrlSetData($GUI1_Control[13], "Điểm tài năng: " & GText(IniRead(@ScriptDir & '\Data\Database.dat', PText($taikhoan), '6', ''))) _setimage($GUI1_Control[9], @ScriptDir & "\Data\Picture\rate-" & Round(GText(IniRead(@ScriptDir & '\Data\Database.dat', PText($taikhoan), '5', '')) / 10) & ".gif") _setimage($GUI1_Control[14], @ScriptDir & "\Data\Picture\rate-" & Round(GText(IniRead(@ScriptDir & '\Data\Database.dat', PText($taikhoan), '6', '')) / 20) & ".gif") $tenthumuc = IniRead(@ScriptDir & '\Data\List.dat', 'List', $id & '_d', '') 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', ''), ''))) EndIf Next EndSwitch WEnd Func ShowGUI($text) GUISwitch($GUI) $id = $text - 1 If $text = 1 Then For $i = 1 To 16 GUICtrlSetState($GUI1_Control[$i], $GUI_SHOW) Next For $j = 1 To Number(IniRead(@ScriptDir & '\Data\List.dat', 'List', 'tong', '')) For $i = 1 To Number(IniRead(@ScriptDir & '\Data\List.dat', 'List', $j & '_t', '')) For $u = 1 To 6 GUICtrlSetState($GUI2_Control_Text[$j][$i][$u], $GUI_HIDE) Next Next Next Else For $i = 1 To 16 GUICtrlSetState($GUI1_Control[$i], $GUI_HIDE) Next For $j = 1 To Number(IniRead(@ScriptDir & '\Data\List.dat', 'List', 'tong', '')) If Number(IniRead(@ScriptDir & '\Data\List.dat', 'List', $j & '_t', '')) <= 4 Then $go = Number(IniRead(@ScriptDir & '\Data\List.dat', 'List', $j & '_t', '')) Else $go = 4 EndIf For $i = 1 To $go For $u = 1 To 6 If $j = $text - 1 Then GUICtrlSetState($GUI2_Control_Text[$j][$i][$u], $GUI_SHOW) Else GUICtrlSetState($GUI2_Control_Text[$j][$i][$u], $GUI_HIDE) EndIf Next $tenthumuc = IniRead(@ScriptDir & '\Data\List.dat', 'List', $j & '_d', '') 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', ''), ''))) Next Next EndIf If Number(IniRead(@ScriptDir & '\Data\List.dat', 'List', $id & '_t', '')) <= 4 Then GUICtrlSetState($Up, $GUI_HIDE) GUICtrlSetState($Down, $GUI_HIDE) Else GUICtrlSetState($Up, $GUI_SHOW) GUICtrlSetState($Down, $GUI_SHOW) EndIf $tv = 1 EndFunc ;==>ShowGUI Func DownUp($text) GUISwitch($GUI) If $text = 1 Then ;down If Number(IniRead(@ScriptDir & '\Data\List.dat', 'List', $id & '_t', '')) > $tv * 4 Then For $i = 1 To $tv * 4 For $u = 1 To 6 GUICtrlSetState($GUI2_Control_Text[$id][$i][$u], $GUI_HIDE) Next Next If Number(IniRead(@ScriptDir & '\Data\List.dat', 'List', $id & '_t', '')) - $tv * 4 > 4 Then $go = $tv * 4 + 4 Else $go = Number(IniRead(@ScriptDir & '\Data\List.dat', 'List', $id & '_t', '')) EndIf For $i = $tv * 4 + 1 To $go For $u = 1 To 6 GUICtrlSetState($GUI2_Control_Text[$id][$i][$u], $GUI_SHOW) Next Next $tv += 1 EndIf Else ; up If $tv <> 1 Then If Number(IniRead(@ScriptDir & '\Data\List.dat', 'List', $id & '_t', '')) > $tv * 4 Then $go = $tv * 4 Else $go = Number(IniRead(@ScriptDir & '\Data\List.dat', 'List', $id & '_t', '')) EndIf For $i = ($tv - 1) * 4 + 1 To $go For $u = 1 To 6 GUICtrlSetState($GUI2_Control_Text[$id][$i][$u], $GUI_HIDE) Next Next $tv -= 1 $go = ($tv - 1) * 4 + 1 For $i = $go To $tv * 4 For $u = 1 To 6 GUICtrlSetState($GUI2_Control_Text[$id][$i][$u], $GUI_SHOW) Next Next EndIf EndIf EndFunc ;==>DownUp Func ShowGUI2($text) If $loaitk = 'admin' Then For $i = 1 To 16 GUICtrlSetState($Admin_Gui1_Control[$i], $GUI_SHOW) If $i <= 12 Then GUICtrlSetState($Admin_GUI2_Control[$i], $GUI_HIDE) Next EndIf EndFunc ;==>ShowGUI2 Func TaoSuaDe($lammoi, $dir1, $tacvu1, $sode) $caucu = 0 $suthaydoi = 0 $dir = $dir1 $tacvu = $tacvu1 If $lammoi = 1 Then $made = Chr(Random(65, 90, 1)) & Random(1, 9, 1) & Chr(Random(65, 90, 1)) & Random(1, 9, 1) & Chr(Random(65, 90, 1)) $tile = 'Tạo đề kiểm tra' $dir = @ScriptDir & '\Data\' & $dir & '\de' & (IniRead(@ScriptDir & '\Data\List.dat', 'List', $tacvu & '_t', '') + 1) & '.dat' if FileExists($dir) then FileDelete($dir) Else $dir = @ScriptDir & '\Data\' & $dir & '\de' & $sode & '.dat' $made = IniRead($dir, 'Thongtin', 'made', '') $tile = IniRead($dir, 'Thongtin', 'ten', '') & ' - Mã đề: ' & $made EndIf $old = FileRead($dir) $file = FileOpen($dir, 32 + 2) FileWrite($file, $old) FileClose($file) Dim $GUI_CH1_Control[20], $GUI_CH2_Control[30] $GUI_De = GUICreate($tile, 623, 450, -1, -1, 0) GUISetFont(10, 400, 0, "Tahoma") $Tab1 = GUICtrlCreateTab(8, 8, 601, 369) GUICtrlSetFont(-1, 10, 400, 0, "Tahoma") $TabSheet1 = GUICtrlCreateTabItem("Thông tin đề") $GUI_CH1_Control[1] = GUICtrlCreateLabel("Tên đề kiểm tra:", 88, 64, 100, 20) GUICtrlSetFont(-1, 10, 400, 0, "Tahoma") $GUI_CH1_Control[2] = GUICtrlCreateInput("", 192, 61, 281, 24) GUICtrlSetFont(-1, 10, 400, 0, "Tahoma") GUICtrlSetData(-1, IniRead($dir, 'Thongtin', 'ten', '')) $GUI_CH1_Control[3] = GUICtrlCreateLabel("Thời gian (phút):", 88, 104, 101, 20) GUICtrlSetFont(-1, 10, 400, 0, "Tahoma") $GUI_CH1_Control[4] = GUICtrlCreateInput("", 192, 101, 97, 24, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER)) GUICtrlSetFont(-1, 10, 400, 0, "Tahoma") GUICtrlSetData(-1, IniRead($dir, 'Thongtin', 'thoigian', '')) $GUI_CH1_Control[5] = GUICtrlCreateLabel("Số câu hỏi: ", 304, 104, 73, 20) GUICtrlSetFont(-1, 10, 400, 0, "Tahoma") $GUI_CH1_Control[6] = GUICtrlCreateInput("", 384, 101, 89, 24, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER)) GUICtrlSetFont(-1, 10, 400, 0, "Tahoma") GUICtrlSetData(-1, IniRead($dir, 'Thongtin', 'socau', '')) $GUI_CH1_Control[7] = GUICtrlCreateCheckbox("Tự động xáo trộn các câu hỏi trong đề", 88, 144, 385, 17) GUICtrlSetState(-1, $GUI_CHECKED) If IniRead($dir, 'Thongtin', 'ngaunhien', '') = 0 Then GUICtrlSetState(-1, $GUI_UNCHECKED) If IniRead($dir, 'Thongtin', 'ngaunhien', '') = '' Then GUICtrlSetState(-1, $GUI_CHECKED) GUICtrlSetFont(-1, 10, 400, 0, "Tahoma") $GUI_CH1_Control[8] = GUICtrlCreateCheckbox("Cho phép hiển thị chức năng giải thích", 88, 192) GUICtrlSetState(-1, $GUI_CHECKED) If IniRead($dir, 'Thongtin', 'giaithich', '') = 0 Then GUICtrlSetState(-1, $GUI_UNCHECKED) If IniRead($dir, 'Thongtin', 'giaithich', '') = '' Then GUICtrlSetState(-1, $GUI_CHECKED) $GUI_CH1_Control[14] = GUICtrlCreateCheckbox("Cho phép xem lại các câu sai", 88, 168) GUICtrlSetState(-1, $GUI_CHECKED) If IniRead($dir, 'Thongtin', 'xemlai', '') = 0 Then GUICtrlSetState(-1, $GUI_UNCHECKED) If IniRead($dir, 'Thongtin', 'xemlai', '') = '' Then GUICtrlSetState(-1, $GUI_CHECKED) GUICtrlSetFont(-1, 10, 400, 0, "Tahoma") $GUI_CH1_Control[9] = GUICtrlCreateLabel("Số điểm cao nhất mà học sinh đạt được: <chưa có>", 88, 296, 371, 20) GUICtrlSetFont(-1, 10, 400, 0, "Tahoma") If IniRead($dir, 'Thongtin', 'diemcao', '') <> '' Then GUICtrlSetData(-1, "Số điểm cao nhất mà học sinh đạt được: " & IniRead($dir, 'Thongtin', 'diemcao', '')) $GUI_CH1_Control[10] = GUICtrlCreateLabel("Tổng số học sinh đã làm đề này: <chưa có>", 88, 272, 367, 20) GUICtrlSetFont(-1, 10, 400, 0, "Tahoma") If IniRead($dir, 'Thongtin', 'solanlam', '') <> '' Then GUICtrlSetData(-1, "Tổng số học sinh đã làm đề này: " & IniRead($dir, 'Thongtin', 'solanlam', '')) $GUI_CH1_Control[11] = GUICtrlCreateLabel("Học sinh có số điểm cao nhất: <chưa có>", 88, 320, 368, 20) GUICtrlSetFont(-1, 10, 400, 0, "Tahoma") If IniRead($dir, 'Thongtin', 'tdiemcao', '') <> '' Then GUICtrlSetData(-1, "Học sinh có số điểm cao nhất: " & IniRead($dir, 'Thongtin', 'tdiemcao', '')) $GUI_CH1_Control[12] = GUICtrlCreateLabel("Thông tin thêm", 88, 248, 101, 20) GUICtrlSetFont(-1, 10, 800, 4, "Tahoma") $GUI_CH1_Control[13] = GUICtrlCreateButton("Lưu lại", 400, 200, 75, 25) GUICtrlSetFont(-1, 10, 400, 0, "Tahoma") $TabSheet2 = GUICtrlCreateTabItem("Danh sách câu hỏi") $GUI_CH2_Control[1] = GUICtrlCreateList("", 40, 48, 145, 294, BitOR($LBS_NOTIFY, $WS_VSCROLL, $WS_BORDER)) GUICtrlSetFont(-1, 10, 400, 0, "Tahoma") $GUI_CH2_Control[2] = GUICtrlCreateLabel("Dạng câu hỏi: ", 200, 48, 87, 20) GUICtrlSetFont(-1, 10, 400, 0, "Tahoma") $GUI_CH2_Control[3] = GUICtrlCreateRadio("Trắc nghiệm", 304, 48, 97, 17) GUICtrlSetState(-1, $GUI_CHECKED) GUICtrlSetFont(-1, 10, 400, 0, "Tahoma") $GUI_CH2_Control[4] = GUICtrlCreateRadio("Trả lời tự luận", 416, 48, 113, 17) GUICtrlSetFont(-1, 10, 400, 0, "Tahoma") $GUI_CH2_Control[5] = GUICtrlCreateLabel("Xáo trộn đáp án: ", 200, 72, 105, 20) GUICtrlSetFont(-1, 10, 400, 0, "Tahoma") $GUI_CH2_Control[6] = GUICtrlCreateCheckbox("Tự động xáo trộn đáp án trắc nghiệm", 312, 72, 241, 17) GUICtrlSetState(-1, $GUI_CHECKED) GUICtrlSetFont(-1, 10, 400, 0, "Tahoma") $GUI_CH2_Control[7] = GUICtrlCreateLabel("Nội dung câu hỏi:", 200, 96, 100, 20) GUICtrlSetFont(-1, 10, 400, 0, "Tahoma") $GUI_CH2_Control[8] = GUICtrlCreateEdit("", 200, 120, 385, 49, BitOR($ES_AUTOVSCROLL, $ES_WANTRETURN, $WS_VSCROLL)) GUICtrlSetData(-1, "") GUICtrlSetFont(-1, 10, 400, 0, "Tahoma") $GUI_CH2_Control[9] = GUICtrlCreateCheckbox("Sử dụng hình ảnh cho câu hỏi", 200, 176, 193, 17) GUICtrlSetFont(-1, 10, 400, 0, "Tahoma") $GUI_CH2_Control[10] = GUICtrlCreateLabel("Câu trả lời:", 200, 200, 364, 20) GUICtrlSetFont(-1, 10, 400, 0, "Tahoma") $GUI_CH2_Control[11] = GUICtrlCreateLabel("A)", 200, 224, 17, 20) GUICtrlSetFont(-1, 10, 400, 0, "Tahoma") $GUI_CH2_Control[12] = GUICtrlCreateLabel("B)", 200, 256, 16, 20) GUICtrlSetFont(-1, 10, 400, 0, "Tahoma") $GUI_CH2_Control[13] = GUICtrlCreateLabel("C)", 200, 288, 17, 20) GUICtrlSetFont(-1, 10, 400, 0, "Tahoma") $GUI_CH2_Control[14] = GUICtrlCreateLabel("D)", 200, 320, 17, 20) GUICtrlSetFont(-1, 10, 400, 0, "Tahoma") $GUI_CH2_Control[15] = GUICtrlCreateInput("", 224, 221, 233, 24) GUICtrlSetFont(-1, 10, 400, 0, "Tahoma") $GUI_CH2_Control[16] = GUICtrlCreateInput("", 224, 253, 233, 24) GUICtrlSetFont(-1, 10, 400, 0, "Tahoma") $GUI_CH2_Control[17] = GUICtrlCreateInput("", 224, 285, 233, 24) GUICtrlSetFont(-1, 10, 400, 0, "Tahoma") $GUI_CH2_Control[18] = GUICtrlCreateInput("", 224, 317, 233, 24) GUICtrlSetFont(-1, 10, 400, 0, "Tahoma") $GUI_CH2_Control[19] = GUICtrlCreateCheckbox("Là câu đúng", 464, 224, 97, 17) GUICtrlSetFont(-1, 10, 400, 0, "Tahoma") $GUI_CH2_Control[20] = GUICtrlCreateCheckbox("Là câu đúng", 464, 256, 97, 17) GUICtrlSetFont(-1, 10, 400, 0, "Tahoma") $GUI_CH2_Control[21] = GUICtrlCreateCheckbox("Là câu đúng", 464, 288, 97, 17) GUICtrlSetFont(-1, 10, 400, 0, "Tahoma") $GUI_CH2_Control[22] = GUICtrlCreateCheckbox("Là câu đúng", 464, 320, 97, 17) GUICtrlSetFont(-1, 10, 400, 0, "Tahoma") $GUI_CH2_Control[23] = GUICtrlCreateButton("Lưu lại", 520, 344, 75, 25) GUICtrlSetFont(-1, 10, 400, 0, "Tahoma") $GUI_CH2_Control[24] = GUICtrlCreateEdit("", 200, 224, 385, 113, BitOR($ES_AUTOVSCROLL, $ES_WANTRETURN, $WS_VSCROLL)) GUICtrlSetData(-1, "") GUICtrlSetFont(-1, 10, 400, 0, "Tahoma") GUICtrlSetState(-1, $GUI_HIDE) $GUI_CH2_Control[25] = GUICtrlCreateLabel("Điểm: ", 200, 352, 50, 20) GUICtrlSetFont(-1, 10, 400, 0, "Tahoma") $GUI_CH2_Control[26] = GUICtrlCreateInput("", 244, 347, 100, 24) $GUI_CH2_Control[27] = GUICtrlCreateLabel("[Tạo giải thích]", 355, 352) If GUICtrlRead($GUI_CH1_Control[8]) = 1 Then GUICtrlSetState($GUI_CH2_Control[27], $GUI_SHOW) Else GUICtrlSetState($GUI_CH2_Control[27], $GUI_HIDE) EndIf GUICtrlSetCursor(-1, 0) GUICtrlSetFont(-1, 10, 400, 0, "Tahoma") GUICtrlCreateTabItem("") If $lammoi = 0 Then $thongtin = '' For $i = 1 To Number(GUICtrlRead($GUI_CH1_Control[6])) $thongtin = $thongtin & '|' & 'Câu số ' & $i Next GUICtrlSetData($GUI_CH2_Control[1], $thongtin) GUICtrlSetState($GUI_CH2_Control[23], $GUI_DISABLE) EndIf $Button1 = GUICtrlCreateButton("Đóng lại", 528, 384, 75, 25) GUISetState(@SW_SHOW) While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_CH2_Control[27] $cauhoi2 = StringReplace(GUICtrlRead($GUI_CH2_Control[1]), 'Câu số ', '') LuuGiaiThich($cauhoi2) Case $GUI_CH1_Control[14] If GUICtrlRead($GUI_CH1_Control[14]) = 1 Then GUICtrlSetState($GUI_CH1_Control[8], $GUI_CHECKED) Else GUICtrlSetState($GUI_CH1_Control[8], $GUI_UNCHECKED) EndIf Case $GUI_CH1_Control[8] If GUICtrlRead($GUI_CH1_Control[14]) <> 1 Then GUICtrlSetState($GUI_CH1_Control[8], $GUI_UNCHECKED) Else If GUICtrlRead($GUI_CH1_Control[8]) = 1 Then GUICtrlSetState($GUI_CH2_Control[27], $GUI_SHOW) Else GUICtrlSetState($GUI_CH2_Control[27], $GUI_HIDE) EndIf EndIf Case $GUI_CH2_Control[8] $suthaydoi = 1 Case $GUI_CH2_Control[15] $suthaydoi = 1 Case $GUI_CH2_Control[16] $suthaydoi = 1 Case $GUI_CH2_Control[17] $suthaydoi = 1 Case $GUI_CH2_Control[18] $suthaydoi = 1 Case $GUI_CH2_Control[24] $suthaydoi = 1 Case $GUI_CH2_Control[26] $suthaydoi = 1 Case $GUI_CH2_Control[9] $suthaydoi = 1 $input = FileOpenDialog('Chọn hình đại diện', '', 'Hình ảnh (*.jpg;*.png)') If $input <> '' And FileExists($input) Then $anh = $input Else $anh = '' GUICtrlSetState($GUI_CH2_Control[9], $GUI_UNCHECKED) EndIf Case $GUI_CH2_Control[6] If GUICtrlRead($GUI_CH2_Control[4]) = 1 Then $suthaydoi = 1 GUICtrlSetState($GUI_CH2_Control[6], $GUI_UNCHECKED) EndIf Case $GUI_CH2_Control[23] If GUICtrlRead($GUI_CH2_Control[1]) <> '' Then $cauhoi2 = StringReplace(GUICtrlRead($GUI_CH2_Control[1]), 'Câu số ', '') If GUICtrlRead($GUI_CH2_Control[3]) = 1 Then 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 $loai = 0 MsgBox(16, 'Thông báo', 'Vui lòng nhập các thông tin trên đầy đủ') Else 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 $loai = 1 Else MsgBox(16, 'Thông báo', 'Vui lòng nhập các thông tin trên đầy đủ') $loai = 0 EndIf EndIf Else If GUICtrlRead($GUI_CH2_Control[8]) = '' Or GUICtrlRead($GUI_CH2_Control[24]) = '' Then $loai = 0 MsgBox(16, 'Thông báo', 'Vui lòng nhập các thông tin trên đầy đủ') Else $loai = 1 EndIf EndIf If $loai = 1 Then $suthaydoi = 0 If GUICtrlRead($GUI_CH2_Control[3]) = 1 Then IniWrite($dir, 'Cauhoi' & $cauhoi2, 'Loaicauhoi', 1) If GUICtrlRead($GUI_CH2_Control[19]) = 1 Then IniWrite($dir, 'Cauhoi' & $cauhoi2, 'Dapandung', 1) ElseIf GUICtrlRead($GUI_CH2_Control[20]) = 1 Then IniWrite($dir, 'Cauhoi' & $cauhoi2, 'Dapandung', 2) ElseIf GUICtrlRead($GUI_CH2_Control[21]) = 1 Then IniWrite($dir, 'Cauhoi' & $cauhoi2, 'Dapandung', 3) Else IniWrite($dir, 'Cauhoi' & $cauhoi2, 'Dapandung', 4) EndIf For $i = 1 To 4 IniWrite($dir, 'Cauhoi' & $cauhoi2, $i, GUICtrlRead($GUI_CH2_Control[$i + 14])) Next Else IniWrite($dir, 'Cauhoi' & $cauhoi2, 'Loaicauhoi', 2) IniWrite($dir, 'Cauhoi' & $cauhoi2, 'Dapandung', StringReplace(GUICtrlRead($GUI_CH2_Control[24]), @CRLF, '|')) EndIf If GUICtrlRead($GUI_CH2_Control[6]) = 1 Then IniWrite($dir, 'Cauhoi' & $cauhoi2, 'ngaunhien', 1) Else IniWrite($dir, 'Cauhoi' & $cauhoi2, 'ngaunhien', 0) EndIf IniWrite($dir, 'Cauhoi' & $cauhoi2, 'Cauhoi', StringReplace(GUICtrlRead($GUI_CH2_Control[8]), @CRLF, '/n')) IniWrite($dir, 'Cauhoi' & $cauhoi2, 'diem', Number(GUICtrlRead($GUI_CH2_Control[26]))) If GUICtrlRead($GUI_CH2_Control[9]) = 1 Then IniWrite($dir, 'Cauhoi' & $cauhoi2, 'Hinhanh', 1) If $anh = '' Then Else If FileExists($anh) Then DirCreate(@ScriptDir & '\Data\' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $tacvu & '_d', '') & '\' & $sode) FileCopy($anh, @ScriptDir & '\Data\' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $tacvu & '_d', '') & '\' & $sode & '\image_' & $cauhoi2 & '.jpg', 1) EndIf EndIf Else IniWrite($dir, 'Cauhoi' & $cauhoi2, 'Hinhanh', 0) FileDelete(@ScriptDir & '\Data\' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $tacvu & '_d', '') & '\' & $sode & '\image_' & $cauhoi2 & '.jpg') EndIf MsgBox(64, 'Thông báo', 'Lưu thành công') EndIf EndIf Case $GUI_CH2_Control[19] $suthaydoi = 1 GUICtrlSetState($GUI_CH2_Control[20], $GUI_UNCHECKED) GUICtrlSetState($GUI_CH2_Control[21], $GUI_UNCHECKED) GUICtrlSetState($GUI_CH2_Control[22], $GUI_UNCHECKED) Case $GUI_CH2_Control[20] $suthaydoi = 1 GUICtrlSetState($GUI_CH2_Control[19], $GUI_UNCHECKED) GUICtrlSetState($GUI_CH2_Control[21], $GUI_UNCHECKED) GUICtrlSetState($GUI_CH2_Control[22], $GUI_UNCHECKED) Case $GUI_CH2_Control[21] $suthaydoi = 1 GUICtrlSetState($GUI_CH2_Control[20], $GUI_UNCHECKED) GUICtrlSetState($GUI_CH2_Control[19], $GUI_UNCHECKED) GUICtrlSetState($GUI_CH2_Control[22], $GUI_UNCHECKED) Case $GUI_CH2_Control[22] $suthaydoi = 1 GUICtrlSetState($GUI_CH2_Control[20], $GUI_UNCHECKED) GUICtrlSetState($GUI_CH2_Control[21], $GUI_UNCHECKED) GUICtrlSetState($GUI_CH2_Control[19], $GUI_UNCHECKED) Case $GUI_CH2_Control[1] If $suthaydoi = 1 Then If GUICtrlRead($GUI_CH2_Control[3]) = 1 Then 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 $suthaydoi = 0 Else 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 $suthaydoi = 1 Else $suthaydoi = 0 EndIf EndIf Else If GUICtrlRead($GUI_CH2_Control[26]) = '' Or GUICtrlRead($GUI_CH2_Control[8]) = '' Or GUICtrlRead($GUI_CH2_Control[24]) = '' Then $suthaydoi = 0 Else $suthaydoi = 1 EndIf EndIf If $suthaydoi = 1 And $caucu <> 0 Then 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 $cauhoi2 = $caucu If GUICtrlRead($GUI_CH2_Control[3]) = 1 Then IniWrite($dir, 'Cauhoi' & $cauhoi2, 'Loaicauhoi', 1) If GUICtrlRead($GUI_CH2_Control[19]) = 1 Then IniWrite($dir, 'Cauhoi' & $cauhoi2, 'Dapandung', 1) ElseIf GUICtrlRead($GUI_CH2_Control[20]) = 1 Then IniWrite($dir, 'Cauhoi' & $cauhoi2, 'Dapandung', 2) ElseIf GUICtrlRead($GUI_CH2_Control[21]) = 1 Then IniWrite($dir, 'Cauhoi' & $cauhoi2, 'Dapandung', 3) Else IniWrite($dir, 'Cauhoi' & $cauhoi2, 'Dapandung', 4) EndIf For $i = 1 To 4 IniWrite($dir, 'Cauhoi' & $cauhoi2, $i, GUICtrlRead($GUI_CH2_Control[$i + 14])) Next Else IniWrite($dir, 'Cauhoi' & $cauhoi2, 'Loaicauhoi', 2) IniWrite($dir, 'Cauhoi' & $cauhoi2, 'Dapandung', StringReplace(GUICtrlRead($GUI_CH2_Control[24]), @CRLF, '|')) EndIf If GUICtrlRead($GUI_CH2_Control[6]) = 1 Then IniWrite($dir, 'Cauhoi' & $cauhoi2, 'ngaunhien', 1) Else IniWrite($dir, 'Cauhoi' & $cauhoi2, 'ngaunhien', 0) EndIf IniWrite($dir, 'Cauhoi' & $cauhoi2, 'diem', Number(GUICtrlRead($GUI_CH2_Control[26]))) IniWrite($dir, 'Cauhoi' & $cauhoi2, 'Cauhoi', StringReplace(GUICtrlRead($GUI_CH2_Control[8]), @CRLF, '/n')) If GUICtrlRead($GUI_CH2_Control[9]) = 1 Then IniWrite($dir, 'Cauhoi' & $cauhoi2, 'Hinhanh', 1) If $anh = '' Then Else If FileExists($anh) Then DirCreate(@ScriptDir & '\Data\' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $tacvu & '_d', '') & '\' & $tacvu) FileCopy($anh, @ScriptDir & '\Data\' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $tacvu & '_d', '') & '\' & $tacvu & '\image_' & $cauhoi2 & '.jpg', 1) EndIf EndIf Else IniWrite($dir, 'Cauhoi' & $cauhoi2, 'Hinhanh', 0) FileDelete(@ScriptDir & '\Data\' & IniRead(@ScriptDir & '\Data\List.dat', 'List', $tacvu & '_d', '') & '\' & $tacvu & '\image_' & $cauhoi2 & '.jpg') EndIf EndIf EndIf EndIf If GUICtrlRead($GUI_CH2_Control[1]) <> '' Then GUICtrlSetState($GUI_CH2_Control[23], $GUI_ENABLE) $anh = '' $cauhoi2 = StringReplace(GUICtrlRead($GUI_CH2_Control[1]), 'Câu số ', '') $caucu = $cauhoi2 $suthaydoi = 0 If IniRead($dir, 'Cauhoi' & $cauhoi2, 'Loaicauhoi', '') = 2 Then GUICtrlSetData($GUI_CH2_Control[10], 'Câu trả lời (mỗi dòng là một đáp án đúng):') For $i = 11 To 22 GUICtrlSetState($GUI_CH2_Control[$i], $GUI_HIDE) Next GUICtrlSetState($GUI_CH2_Control[24], $GUI_SHOW) GUICtrlSetState($GUI_CH2_Control[4], $GUI_CHECKED) GUICtrlSetData($GUI_CH2_Control[24], StringReplace(IniRead($dir, 'Cauhoi' & $cauhoi2, 'Dapandung', ''), '|', @CRLF)) Else ; GUICtrlSetState($GUI_CH2_Control[3], $GUI_CHECKED) GUICtrlSetData($GUI_CH2_Control[10], 'Câu trả lời:') GUICtrlSetState($GUI_CH2_Control[24], $GUI_HIDE) For $i = 11 To 22 GUICtrlSetState($GUI_CH2_Control[$i], $GUI_SHOW) If $i > 18 Then GUICtrlSetData($GUI_CH2_Control[$i - 4], '') GUICtrlSetData($GUI_CH2_Control[$i - 4], IniRead($dir, 'Cauhoi' & $cauhoi2, $i - 18, '')) GUICtrlSetState($GUI_CH2_Control[$i], $GUI_UNCHECKED) EndIf Next GUICtrlSetState($GUI_CH2_Control[IniRead($dir, 'Cauhoi' & $cauhoi2, 'Dapandung', '') + 18], $GUI_CHECKED) EndIf ; GUICtrlSetData($GUI_CH2_Control[26], IniRead($dir, 'Cauhoi' & $cauhoi2, 'diem', '')) If IniRead($dir, 'Cauhoi' & $cauhoi2, 'giaithich', '') <> '' Then GUICtrlSetData($GUI_CH2_Control[27], "[Sửa giải thích]") Else GUICtrlSetData($GUI_CH2_Control[27], "[Tạo giải thích]") EndIf If IniRead($dir, 'Cauhoi' & $cauhoi2, 'Hinhanh', '') = 1 Then GUICtrlSetState($GUI_CH2_Control[9], $GUI_CHECKED) Else GUICtrlSetState($GUI_CH2_Control[9], $GUI_UNCHECKED) EndIf If IniRead($dir, 'Cauhoi' & $cauhoi2, 'ngaunhien', '') = 1 Then GUICtrlSetState($GUI_CH2_Control[6], $GUI_CHECKED) Else GUICtrlSetState($GUI_CH2_Control[6], $GUI_UNCHECKED) EndIf If IniRead($dir, 'Cauhoi' & $cauhoi2, 'ngaunhien', '') = '' Then GUICtrlSetState($GUI_CH2_Control[6], $GUI_CHECKED) GUICtrlSetData($GUI_CH2_Control[8], StringReplace(IniRead($dir, 'Cauhoi' & $cauhoi2, 'Cauhoi', ''), '/n', @CRLF)) EndIf Case $GUI_CH1_Control[13] If GUICtrlRead($GUI_CH1_Control[2]) = '' Or GUICtrlRead($GUI_CH1_Control[4]) = '' Or GUICtrlRead($GUI_CH1_Control[6]) = '' Then MsgBox(16, 'Thông báo', 'Bạn chưa nhập các thông tin trên') Else If GUICtrlRead($GUI_CH1_Control[6]) > 57 Then MsgBox(16, 'Thông báo', 'Số câu không được vượt quá 57') Else IniWrite($dir, 'Thongtin', 'ten', GUICtrlRead($GUI_CH1_Control[2])) IniWrite($dir, 'Thongtin', 'thoigian', GUICtrlRead($GUI_CH1_Control[4])) IniWrite($dir, 'Thongtin', 'socau', GUICtrlRead($GUI_CH1_Control[6])) IniWrite($dir, 'Thongtin', 'made', $made) If GUICtrlRead($GUI_CH1_Control[14]) = 1 Then IniWrite($dir, 'Thongtin', 'xemlai', 1) Else IniWrite($dir, 'Thongtin', 'xemlai', 0) EndIf If GUICtrlRead($GUI_CH1_Control[7]) = 1 Then IniWrite($dir, 'Thongtin', 'ngaunhien', 1) Else IniWrite($dir, 'Thongtin', 'ngaunhien', 0) EndIf If GUICtrlRead($GUI_CH1_Control[8]) = 1 Then IniWrite($dir, 'Thongtin', 'giaithich', 1) Else IniWrite($dir, 'Thongtin', 'giaithich', 0) EndIf $thongtin = '' For $i = 1 To Number(GUICtrlRead($GUI_CH1_Control[6])) $thongtin = $thongtin & '|' & 'Câu số ' & $i Next GUICtrlSetData($GUI_CH2_Control[1], $thongtin) GUICtrlSetState($GUI_CH2_Control[23], $GUI_DISABLE) If $lammoi = 1 Then IniWrite(@ScriptDir & '\Data\List.dat', 'List', $tacvu & '_t', IniRead(@ScriptDir & '\Data\List.dat', 'List', $tacvu & '_t', '') + 1) MsgBox(64, 'Thông báo', 'Đã lưu thành công') EndIf EndIf Case $GUI_CH2_Control[4] GUISwitch($GUI_De, $TabSheet2) $suthaydoi = 1 For $i = 11 To 22 GUICtrlSetState($GUI_CH2_Control[$i], $GUI_HIDE) Next GUICtrlSetState($GUI_CH2_Control[24], $GUI_SHOW) GUICtrlSetData($GUI_CH2_Control[24], '') GUICtrlSetData($GUI_CH2_Control[10], 'Câu trả lời (mỗi dòng là một đáp án đúng):') Case $GUI_CH2_Control[3] GUISwitch($GUI_De, $TabSheet2) $suthaydoi = 1 For $i = 11 To 22 GUICtrlSetState($GUI_CH2_Control[$i], $GUI_SHOW) If $i >= 15 And $i <= 18 Then GUICtrlSetData($GUI_CH2_Control[$i], '') If $i >= 19 And $i <= 22 Then GUICtrlSetState($GUI_CH2_Control[$i], $GUI_UNCHECKED) Next GUICtrlSetState($GUI_CH2_Control[24], $GUI_HIDE) GUICtrlSetData($GUI_CH2_Control[10], 'Câu trả lời:') Case $Button1 GUIDelete($GUI_De) ExitLoop EndSwitch WEnd EndFunc ;==>TaoSuaDe Func PText($text) Return $text EndFunc ;==>PText Func GText($text) Return $text EndFunc ;==>GText Func Dangnhap() Dim $Login_Control[8], $Reg_Control[13] $Form2 = GUICreate("Đăng nhập", 266, 242, -1, -1, 0) GUISetFont(10, 400, 0, "Tahoma") ;266 146 ; dang nhap $Login_Control[0] = GUICtrlCreateLabel("Hãy nhập tài khoản và mật khẩu của bạn.", 16, 16) $Login_Control[1] = GUICtrlCreateLabel("Tài khoản:", 16, 46, 65, 20) $Login_Control[2] = GUICtrlCreateLabel("Mật khẩu:", 16, 78, 61, 20) $Login_Control[3] = GUICtrlCreateInput("", 88, 43, 161, 24) $Login_Control[4] = GUICtrlCreateInput("", 88, 75, 161, 24, BitOR($GUI_SS_DEFAULT_INPUT, $ES_PASSWORD)) $Login_Control[5] = GUICtrlCreateButton("Đăng nhập", 176, 110, 75, 25, $BS_DEFPUSHBUTTON) If IniRead(@ScriptDir & '\Data\System.dat', 'System', '2', '') = 1 Then GUICtrlSetState(-1, $GUI_DISABLE) $Login_Control[6] = GUICtrlCreateButton("Đăng ký", 96, 110, 75, 25) If IniRead(@ScriptDir & '\Data\System.dat', 'System', '1', '') = 1 Then GUICtrlSetState(-1, $GUI_DISABLE) $Login_Control[7] = GUICtrlCreateButton("Thoát", 16, 110, 75, 25) ; dang ky $Reg_Control[1] = GUICtrlCreateLabel("Tài khoản:", 16, 16, 65, 20) $Reg_Control[2] = GUICtrlCreateLabel("Mật khẩu:", 16, 48, 61, 20) $Reg_Control[3] = GUICtrlCreateLabel("Xác nhận:", 16, 80, 62, 20) $Reg_Control[4] = GUICtrlCreateLabel("Họ tên:", 16, 112, 46, 20) $Reg_Control[5] = GUICtrlCreateLabel("Học lớp:", 16, 144, 51, 20) $Reg_Control[6] = GUICtrlCreateInput("", 88, 13, 161, 24) $Reg_Control[7] = GUICtrlCreateInput("", 88, 45, 161, 24, BitOR($GUI_SS_DEFAULT_INPUT, $ES_PASSWORD)) $Reg_Control[8] = GUICtrlCreateInput("", 88, 77, 161, 24, BitOR($GUI_SS_DEFAULT_INPUT, $ES_PASSWORD)) $Reg_Control[9] = GUICtrlCreateInput("", 88, 109, 161, 24) $Reg_Control[10] = GUICtrlCreateInput("", 88, 141, 161, 24) $Reg_Control[11] = GUICtrlCreateButton("Đăng ký", 136, 176, 75, 25) $Reg_Control[12] = GUICtrlCreateButton("Quay về", 56, 176, 75, 25) For $i = 1 To 12 GUICtrlSetState($Reg_Control[$i], $GUI_HIDE) Next Dim $Form2_AccelTable[1][2] = [["{ENTER}", $Login_Control[5]]] GUISetAccelerators($Form2_AccelTable) GUISetState(@SW_SHOW) WinSetOnTop($Form2, '', 1) While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $Login_Control[5] WinSetOnTop($Form2, '', 0) If GUICtrlRead($Login_Control[3]) <> '' And GUICtrlRead($Login_Control[3]) <> '' Then 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 $taikhoan = GUICtrlRead($Login_Control[3]) GUIDelete($Form2) Return $taikhoan Else MsgBox(16, 'Thông báo', 'Tài khoản hoặc mật khẩu không chính xác') EndIf Else MsgBox(16, 'Thông báo', 'Vui lòng nhập đầy đủ thông tin trên') EndIf WinSetOnTop($Form2, '', 1) Case $Login_Control[7] Exit Case $Login_Control[6] For $i = 0 To 7 GUICtrlSetState($Login_Control[$i], $GUI_HIDE) Next WinSetTitle($Form2, '', 'Đăng ký thành viên') For $i = 1 To 12 GUICtrlSetState($Reg_Control[$i], $GUI_SHOW) If $i >= 6 And $i <= 10 Then GUICtrlSetData($Reg_Control[$i], '') Next Case $Reg_Control[12] For $i = 0 To 7 GUICtrlSetState($Login_Control[$i], $GUI_SHOW) If $i >= 3 And $i <= 4 Then GUICtrlSetData($Login_Control[$i], '') Next WinSetTitle($Form2, '', 'Đăng nhập') For $i = 1 To 12 GUICtrlSetState($Reg_Control[$i], $GUI_HIDE) Next Case $Reg_Control[11] WinSetOnTop($Form2, '', 0) 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 If StringIsASCII(GUICtrlRead($Reg_Control[6])) = 0 Or StringIsASCII(GUICtrlRead($Reg_Control[7])) = 0 Or StringIsASCII(GUICtrlRead($Reg_Control[8])) = 0 Then 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ư: *,:,\,/,?,<,>,|') Else If StringLen(GUICtrlRead($Reg_Control[6])) < 5 Or StringLen(GUICtrlRead($Reg_Control[7])) < 5 Then 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ự') Else If GUICtrlRead($Reg_Control[7]) <> GUICtrlRead($Reg_Control[8]) Then MsgBox(16, 'Thông báo', 'Mật khẩu xác nhận không khớp') Else If IniRead(@ScriptDir & '\Data\Database.dat', PText(GUICtrlRead($Reg_Control[6])), '1', '') = '' Or GUICtrlRead($Reg_Control[6]) = 'giaovien' Then IniWrite(@ScriptDir & '\Data\Database.dat', PText(GUICtrlRead($Reg_Control[6])), '1', PText(GUICtrlRead($Reg_Control[7]))) IniWrite(@ScriptDir & '\Data\Database.dat', PText(GUICtrlRead($Reg_Control[6])), '2', PText(GUICtrlRead($Reg_Control[9]))) IniWrite(@ScriptDir & '\Data\Database.dat', PText(GUICtrlRead($Reg_Control[6])), '3', PText(GUICtrlRead($Reg_Control[10]))) IniWrite(@ScriptDir & '\Data\Database.dat', PText(GUICtrlRead($Reg_Control[6])), '5', PText(0)) IniWrite(@ScriptDir & '\Data\Database.dat', PText(GUICtrlRead($Reg_Control[6])), '6', PText(0)) MsgBox(64, 'Thông báo', 'Chúc mừng bạn, quá trình đăng ký đã thành công') For $i = 0 To 7 GUICtrlSetState($Login_Control[$i], $GUI_SHOW) If $i >= 3 And $i <= 4 Then GUICtrlSetData($Login_Control[$i], '') Next WinSetTitle($Form2, '', 'Đăng nhập') For $i = 1 To 12 GUICtrlSetState($Reg_Control[$i], $GUI_HIDE) Next Else 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') EndIf EndIf EndIf EndIf Else MsgBox(16, 'Thông báo', 'Vui lòng nhập đầy đủ các thông tin trên') EndIf WinSetOnTop($Form2, '', 1) EndSwitch WEnd EndFunc ;==>Dangnhap Func Batdau($tacvu1, $dir1) $tacvu = $tacvu1 $dir = $dir1 If IniRead(@ScriptDir & '\Data\System.dat', 'System', '3', '') = 1 Then 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') Return 0 EndIf For $i = 1 To 56 $causai[$i] = '' $Dapan_C[$i][1] = '' $Dapan_C[$i][2] = '' $Dapan_C[$i][3] = '' $Dapan_C[$i][4] = '' $Cautraloi[$i] = '' $thutucau[$i] = '' Next $ini = @ScriptDir & '\Data\' & $dir & '\de' & $tacvu & '.dat' $socau = IniRead($ini, 'Thongtin', 'socau', '') $caudung = 0 $socauht = 1 $thoigian = IniRead($ini, 'Thongtin', 'thoigian', '') $phut = @MIN IniWrite($ini, 'Thongtin', 'solanlam', IniRead($ini, 'Thongtin', 'solanlam', '') + 1) If IniRead($ini, 'Thongtin', 'ngaunhien', '') = 1 Then For $i = 1 To $socau If IniRead($ini, 'Cauhoi' & $i, 'Cauhoi', '') = '' Then MsgBox(64, 'Thông báo', 'Bộ đề này chưa hoàn thiện, hãy trở lại sau') Return 0 EndIf Do $temp = Random(1, $socau, 1) Until _ArraySearch($thutucau, $temp) = -1 $thutucau[$i] = $temp Next Else For $i = 1 To $socau If IniRead($ini, 'Cauhoi' & $i, 'Cauhoi', '') = '' Then MsgBox(64, 'Thông báo', 'Bộ đề này chưa hoàn thiện, hãy trở lại sau') Return 0 EndIf $thutucau[$i] = $i Next EndIf $GUI2 = GUICreate(IniRead($ini, 'Thongtin', 'ten', ''), 800, 600, -1, -1) GUISetFont(10, 400, 0, "Tahoma") GUISetBkColor(0xFFFFFF) $socau_control[0] = GUICtrlCreatePic("", 0, 0, 800, 600) _setimage(-1, @ScriptDir & '\Data\Picture\hinhanh_g' & Random(1, 6, 1) & '.png') GUICtrlSetState(-1, $GUI_DISABLE) $socau_control[1] = GUICtrlCreateLabel(IniRead($ini, 'Thongtin', 'ten', ''), 16, 8, 376, 43) GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT) GUICtrlSetFont(-1, 24, 400, 0, "Tahoma") $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) GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT) GUICtrlSetFont(-1, 10, 400, 2, "Tahoma") $socau_control[3] = GUICtrlCreateLabel("________________________________________________________", 0, 88, 396, 20) GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT) GUICtrlSetColor(-1, 0x808080) $socau_control[4] = GUICtrlCreateLabel("Câu hỏi số 1: ", 16, 120, 150, 27) GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT) GUICtrlSetFont(-1, 14, 800, 0, "Tahoma") GUICtrlSetColor(-1, 0x000000) $socau_control[5] = GUICtrlCreateLabel("Hãy cho biết câu nói sau có ý nghĩa gì", 16, 160, 370, 383) ;) GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT) GUICtrlSetFont(-1, 12, 400, 0, "Tahoma") $socau_control[6] = GUICtrlCreateLabel("- Bảng câu hỏi -", 505, 30, 200) GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT) GUICtrlSetColor(-1, 0xFFFFFF) GUICtrlSetFont(-1, 10, 800, 0, "Tahoma") $socau_control[7] = GUICtrlCreateRadio("Radio1", 440, 256, 241, 33, BitOR($GUI_SS_DEFAULT_RADIO, $BS_MULTILINE)) GUICtrlSetBkColor(-1, 0xF5F5F5) $socau_control[8] = GUICtrlCreateRadio("Radio1", 440, 304, 241, 33, BitOR($GUI_SS_DEFAULT_RADIO, $BS_MULTILINE)) GUICtrlSetBkColor(-1, 0xF5F5F5) $socau_control[9] = GUICtrlCreateRadio("Radio1", 440, 352, 241, 33, BitOR($GUI_SS_DEFAULT_RADIO, $BS_MULTILINE)) GUICtrlSetBkColor(-1, 0xF5F5F5) $socau_control[10] = GUICtrlCreateRadio("Radio1", 440, 400, 241, 33, BitOR($GUI_SS_DEFAULT_RADIO, $BS_MULTILINE)) GUICtrlSetBkColor(-1, 0xF5F5F5) $socau_control[11] = GUICtrlCreateLabel("Chọn câu trả lời:", 440, 224, 99, 20) GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT) $socau_control[12] = GUICtrlCreateButton("Đồng ý", 608, 472, 75, 25) $socau_control[13] = GUICtrlCreateButton("Bỏ qua", 520, 472, 75, 25) $socau_control[14] = GUICtrlCreateButton("Nộp bài", 432, 472, 75, 25) $socau_control[15] = GUICtrlCreateInput("", 416, 328, 297, 24) GUICtrlSetState(-1, $GUI_HIDE) $socau_control[16] = GUICtrlCreatePic("", 64, 336, 273, 209) GUICtrlSetState(-1, $GUI_HIDE) $top = 57 ;17 $left = 489 ;18 $cong = 0 For $i = 1 To $socau $cong += 1 $socau_List[1][$i] = GUICtrlCreatePic(@ScriptDir & "\Data\Picture\O1.bmp", $left + ($cong - 1) * 18, $top, 19, 18) GUICtrlSetCursor(-1, 0) $socau_List[2][$i] = GUICtrlCreateLabel($i, $left + ($cong - 1) * 18, $top, 19, 18, BitOR($SS_CENTER, $SS_CENTERIMAGE)) _ControlHover(2, $GUI2, $socau_List[2][$i]) GUICtrlSetFont(-1, 9, 400, 0, "Tahoma") GUICtrlSetColor(-1, 0xFFFFFF) GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT) If Mod($i, 8) = 0 Then $left = 489 $top += 17 $cong = 0 EndIf Next Doicauhoi(1) Dim $Form3_AccelTable[1][2] = [["{ENTER}", $socau_control[12]]] GUISetAccelerators($Form3_AccelTable) GUISetState(@SW_SHOW, $GUI2) GUISetState(@SW_HIDE, $GUI) While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $socau_control[14] If MsgBox(1, 'Thông báo', 'Bạn muốn kết thúc kiểm tra?', 3) = 1 Then $thoigian = 0 Case $socau_control[13] If $thoigian < 0 Then GUIDelete($GUI2) ExitLoop Else If $socauht = $socau Then For $i = 1 To $socau If $Cautraloi[$i] == '' Then Doicauhoi($i) ExitLoop EndIf Next Else If $Cautraloi[$socauht + 1] = '' Then Doicauhoi($socauht + 1) Else For $i = $socauht To $socau If $Cautraloi[$i] = '' Then Doicauhoi($i) ExitLoop EndIf Next EndIf EndIf EndIf Case $socau_control[12] If $thoigian < 0 Then $ok = 0 For $i = $kt + 1 To $socau If $causai[$i] = 1 Then $ok = 1 Doicauhoi($i) $kt = $i ExitLoop EndIf Next If $ok = 0 Then For $i = 1 To $socau If $causai[$i] = 1 Then $ok = 1 Doicauhoi($i) $kt = $i ExitLoop EndIf Next EndIf Else If IniRead($ini, 'Cauhoi' & $thutucau[$socauht], 'Loaicauhoi', '') = 1 Then 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 If $Cautraloi[$socauht] = '' Then $caudung += 1 If GUICtrlRead($socau_control[7]) = 1 Then $Cautraloi[$socauht] = $Dapan_C[$socauht][1] ElseIf GUICtrlRead($socau_control[8]) = 1 Then $Cautraloi[$socauht] = $Dapan_C[$socauht][2] ElseIf GUICtrlRead($socau_control[9]) = 1 Then $Cautraloi[$socauht] = $Dapan_C[$socauht][3] ElseIf GUICtrlRead($socau_control[10]) = 1 Then $Cautraloi[$socauht] = $Dapan_C[$socauht][4] EndIf GUICtrlSetFont($socau_List[2][$socauht], 9, 800, 2, "Tahoma") If $socauht = $socau Then Doicauhoi(1) Else Doicauhoi($socauht + 1) EndIf Else MsgBox(16, 'Thông báo', 'Vui lòng chọn một câu', 3) EndIf Else If GUICtrlRead($socau_control[15]) = '' Then MsgBox(16, 'Thông báo', 'Vui lòng nhập câu trả lời', 3) Else If $Cautraloi[$socauht] = '' Then $caudung += 1 $Cautraloi[$socauht] = GUICtrlRead($socau_control[15]) GUICtrlSetFont($socau_List[2][$socauht], 9, 800, 2, "Tahoma") If $socauht = $socau Then Doicauhoi(1) Else Doicauhoi($socauht + 1) EndIf EndIf EndIf EndIf Case $GUI_EVENT_CLOSE If $thoigian >= 0 Then If MsgBox(1, 'Thông báo', 'Bạn muốn thoát kiểm tra?', 5) = 1 Then GUIDelete($GUI2) ExitLoop EndIf Else GUIDelete($GUI2) ExitLoop EndIf Case Else For $i = 1 To $socau If $nMsg = $socau_List[1][$i] Then If $thoigian >= 0 Then Doicauhoi($i) EndIf Next EndSwitch If $thoigian >= 0 Then If $thoigian <> 0 Then If @MIN <> $phut Then $phut = @MIN $thoigian -= 1 GUICtrlSetData($socau_control[2], "Số câu hỏi: " & $socau & " Đã trả lời: " & $caudung & " Thời gian còn lại: " & $thoigian & " phút") EndIf Else If $socauht <> 0 Then $socauht = 0 GUICtrlSetState($socau_control[12], $GUI_DISABLE) GUICtrlSetState($socau_control[13], $GUI_DISABLE) GUICtrlSetState($socau_control[14], $GUI_DISABLE) $kq = Ketqua() If $kq = 1 Then For $i = 1 To $socau If $causai[$i] = 1 Then Doicauhoi($i) $kt = $i ExitLoop EndIf Next Else GUIDelete($GUI2) ExitLoop EndIf EndIf EndIf EndIf If _ControlHover(0, $GUI2) = 1 Then For $i = 1 To $socau If @extended = $socau_List[2][$i] And $thoigian >= 0 Then _setimage($socau_List[1][$i], @ScriptDir & '\Data\Picture\O2.bmp') Next Else For $i = 1 To $socau If @extended = $socau_List[2][$i] And $socauht <> $i Then _setimage($socau_List[1][$i], @ScriptDir & '\Data\Picture\O1.bmp') Next EndIf WEnd EndFunc ;==>Batdau Func Doicauhoi($i) GUISwitch($GUI2) $n = $i _setimage($socau_control[0], @ScriptDir & '\Data\Picture\hinhanh_g' & Random(1, 6, 1) & '.png') _setimage($socau_List[1][$socauht], @ScriptDir & '\Data\Picture\O1.bmp') _setimage($socau_List[1][$i], @ScriptDir & '\Data\Picture\O2.bmp') GUICtrlSetData($socau_control[4], 'Câu hỏi số ' & $i & ':') If IniRead($ini, 'Cauhoi' & $thutucau[$i], 'Hinhanh', '') = 1 Then GUICtrlSetState($socau_control[16], $GUI_SHOW) _setimage($socau_control[16], @ScriptDir & '\Data\' & $dir & '\' & $tacvu & '\image_' & $thutucau[$i] & '.jpg') GUICtrlSetPos($socau_control[5], 16, 160, 370, 151) GUICtrlSetData($socau_control[5], StringReplace(IniRead($ini, 'Cauhoi' & $thutucau[$i], 'Cauhoi', ''), '/n', @CRLF)) Else GUICtrlSetPos($socau_control[5], 16, 160, 370, 383) GUICtrlSetData($socau_control[5], StringReplace(IniRead($ini, 'Cauhoi' & $thutucau[$i], 'Cauhoi', ''), '/n', @CRLF)) GUICtrlSetState($socau_control[16], $GUI_HIDE) EndIf If $thoigian >= 0 Then GUICtrlSetData($socau_control[2], "Số câu hỏi: " & $socau & " Đã trả lời: " & $caudung & " Thời gian còn lại: " & $thoigian & " phút") If IniRead($ini, 'Cauhoi' & $thutucau[$i], 'Loaicauhoi', '') = 1 Then GUICtrlSetState($socau_control[15], $GUI_HIDE) GUICtrlSetState($socau_control[7], $GUI_SHOW) GUICtrlSetState($socau_control[8], $GUI_SHOW) GUICtrlSetState($socau_control[9], $GUI_SHOW) GUICtrlSetState($socau_control[10], $GUI_SHOW) GUICtrlSetState($socau_control[7], $GUI_UNCHECKED) GUICtrlSetState($socau_control[8], $GUI_UNCHECKED) GUICtrlSetState($socau_control[9], $GUI_UNCHECKED) GUICtrlSetState($socau_control[10], $GUI_UNCHECKED) If $Cautraloi[$i] <> '' Then For $u = 1 To 4 If $Cautraloi[$i] = $Dapan_C[$i][$u] Then GUICtrlSetState($socau_control[$u + 6], $GUI_CHECKED) Next EndIf If $Dapan_C[$i][1] == '' Then If IniRead($ini, 'Cauhoi' & $thutucau[$i], 'Ngaunhien', '') = 1 Then $Dapan_C[$i][1] = Random(1, 4, 1) $Dapan_C[$i][2] = Random(1, 4, 1) Do $Dapan_C[$i][2] = Random(1, 4, 1) Until $Dapan_C[$i][1] <> $Dapan_C[$i][2] $Dapan_C[$i][3] = Random(1, 4, 1) Do $Dapan_C[$i][3] = Random(1, 4, 1) 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] $Dapan_C[$i][4] = Random(1, 4, 1) Do $Dapan_C[$i][4] = Random(1, 4, 1) 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] Else $Dapan_C[$i][1] = 1 $Dapan_C[$i][2] = 2 $Dapan_C[$i][3] = 3 $Dapan_C[$i][4] = 4 EndIf EndIf GUICtrlSetData($socau_control[7], 'A) ' & IniRead($ini, 'Cauhoi' & $thutucau[$i], $Dapan_C[$i][1], '')) GUICtrlSetData($socau_control[8], 'B) ' & IniRead($ini, 'Cauhoi' & $thutucau[$i], $Dapan_C[$i][2], '')) GUICtrlSetData($socau_control[9], 'C) ' & IniRead($ini, 'Cauhoi' & $thutucau[$i], $Dapan_C[$i][3], '')) GUICtrlSetData($socau_control[10], 'D) ' & IniRead($ini, 'Cauhoi' & $thutucau[$i], $Dapan_C[$i][4], '')) GUICtrlSetData($socau_control[11], 'Chọn câu trả lời:') Else GUICtrlSetState($socau_control[15], $GUI_SHOW) GUICtrlSetData($socau_control[15], '') If $Cautraloi[$i] <> '' Then GUICtrlSetData($socau_control[15], $Cautraloi[$i]) GUICtrlSetState($socau_control[7], $GUI_HIDE) GUICtrlSetState($socau_control[8], $GUI_HIDE) GUICtrlSetState($socau_control[9], $GUI_HIDE) GUICtrlSetState($socau_control[10], $GUI_HIDE) GUICtrlSetData($socau_control[11], 'Ghi câu trả lời:') EndIf If IniRead($ini, 'Cauhoi' & $thutucau[$i], 'Hinhanh', '') = 1 Then GUICtrlSetState($socau_control[16], $GUI_SHOW) _setimage($socau_control[16], @ScriptDir & '\Data\' & $dir & '\' & $tacvu & '\image_' & $thutucau[$i] & '.jpg') GUICtrlSetPos($socau_control[5], 16, 160, 370, 151) GUICtrlSetData($socau_control[5], StringReplace(IniRead($ini, 'Cauhoi' & $thutucau[$i], 'Cauhoi', ''), '/n', @CRLF)) Else GUICtrlSetPos($socau_control[5], 16, 160, 370, 383) GUICtrlSetData($socau_control[5], StringReplace(IniRead($ini, 'Cauhoi' & $thutucau[$i], 'Cauhoi', ''), '/n', @CRLF)) GUICtrlSetState($socau_control[16], $GUI_HIDE) EndIf EndIf If $thoigian < 0 Then GUICtrlSetState($socau_control[7], $GUI_HIDE) GUICtrlSetState($socau_control[8], $GUI_HIDE) GUICtrlSetState($socau_control[9], $GUI_HIDE) GUICtrlSetState($socau_control[10], $GUI_HIDE) GUICtrlSetState($socau_control[15], $GUI_HIDE) GUICtrlSetData($socau_control[2], "Xem lại các câu trả lời sai") GUICtrlSetPos($socau_control[11], 408, 224, 300, 236) GUICtrlSetState($socau_control[12], $GUI_ENABLE) GUICtrlSetState($socau_control[13], $GUI_ENABLE) GUICtrlSetData($socau_control[12], 'Tiếp theo') GUICtrlSetData($socau_control[13], 'Thoát') If IniRead($ini, 'Cauhoi' & $thutucau[$i], 'Loaicauhoi', '') = 1 Then $dapan = IniRead($ini, 'Cauhoi' & $thutucau[$i], IniRead($ini, 'Cauhoi' & $thutucau[$i], 'Dapandung', ''), '') If IniRead($ini, 'Thongtin', 'giaithich', '') = 1 Then 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)) Else GUICtrlSetData($socau_control[11], 'Câu trả lời đúng: ' & $dapan & @CRLF & 'Đề không giải thích') EndIf Else $dapan = IniRead($ini, 'Cauhoi' & $thutucau[$i], 'Dapandung', '') If IniRead($ini, 'Thongtin', 'giaithich', '') = 1 Then 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)) Else GUICtrlSetData($socau_control[11], 'Câu trả lời đúng: ' & StringReplace($dapan, '|', ' [hoặc] ') & @CRLF & 'Đề không giải thích') EndIf EndIf EndIf $socauht = $i EndFunc ;==>Doicauhoi Func Ketqua() GUISwitch($GUI2) For $i = 1 To $socau _setimage($socau_List[1][$i], @ScriptDir & '\Data\Picture\O1.bmp') Next $caudung = 0 $diem = 0 $kt = 0 For $i = 1 To $socau $causai[$i] = 1 If $Cautraloi[$i] <> '' Then If IniRead($ini, 'Cauhoi' & $thutucau[$i], 'Loaicauhoi', '') = 1 Then If $Cautraloi[$i] = IniRead($ini, 'Cauhoi' & $thutucau[$i], 'Dapandung', '') Then $diem += IniRead($ini, 'Cauhoi' & $thutucau[$i], 'diem', '') $caudung += 1 $causai[$i] = 0 Else EndIf Else $thoigian = StringSplit(IniRead($ini, 'Cauhoi' & $thutucau[$i], 'Dapandung', ''), '|') For $u = 1 To $thoigian[0] If $Cautraloi[$i] = $thoigian[$u] Then $diem += IniRead($ini, 'Cauhoi' & $thutucau[$i], 'diem', '') $caudung += 1 $causai[$i] = 0 ExitLoop EndIf Next EndIf EndIf If $causai[$i] = 1 Then GUICtrlSetColor($socau_List[2][$i], 0xFF0000) EndIf Next If $diem > IniRead($ini, 'Thongtin', 'diemcao', '') Or IniRead($ini, 'Thongtin', 'diemcao', '') = '' Then IniWrite($ini, 'Thongtin', 'diemcao', $diem) IniWrite($ini, 'Thongtin', 'tdiemcao', $taikhoan) EndIf 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)) IniWrite(@ScriptDir & '\Data\Database.dat', PText($taikhoan), '5', PText(GText(IniRead(@ScriptDir & '\Data\Database.dat', PText($taikhoan), '5', '')) + Round($caudung / 10, 1))) IniWrite(@ScriptDir & '\Data\Database.dat', PText($taikhoan), '6', PText(GText(IniRead(@ScriptDir & '\Data\Database.dat', PText($taikhoan), '6', '')) + Round($diem, 1))) $Ketqua = GUICreate("Kết quả " & IniRead($ini, 'Thongtin', 'ten', ''), 380, 187, -1, -1, 0) GUISetFont(10, 400, 0, "Tahoma") GUICtrlCreateGroup("Thông tin", 8, 8, 225, 129) GUICtrlCreateLabel("Số câu hỏi: " & $socau, 32, 32, 137, 20) GUICtrlCreateLabel("Trả lời đúng: " & $caudung & ' câu', 32, 56, 142, 20) GUICtrlCreateLabel("Trả lời sai: " & $socau - $caudung & ' câu', 32, 80, 142, 20) GUICtrlCreateLabel("Tổng điểm: " & $diem & ' điểm', 32, 104, 142, 20) GUICtrlSetFont(-1, 10, 800, 0, "Tahoma") GUICtrlCreateGroup("", -99, -99, 1, 1) $Ketqua_Button1 = GUICtrlCreateButton("Xem các câu sai", 240, 16, 131, 25) If $caudung = $socau Then GUICtrlSetState(-1, $GUI_DISABLE) Else If IniRead($ini, 'Thongtin', 'giaithich', '') = 0 And IniRead($ini, 'Thongtin', 'xemlai', '') = 0 Then GUICtrlSetState(-1, $GUI_DISABLE) Else If IniRead($ini, 'Thongtin', 'giaithich', '') = 1 Then GUICtrlSetState(-1, $GUI_ENABLE) Else GUICtrlSetState(-1, $GUI_ENABLE) EndIf EndIf EndIf $Ketqua_Button2 = GUICtrlCreateButton("Đóng lại", 240, 48, 131, 25) GUISetState(@SW_SHOW) While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $Ketqua_Button1 GUIDelete($Ketqua) $thoigian = -1 Return 1 Case $Ketqua_Button2 GUIDelete($Ketqua) Return 0 EndSwitch WEnd EndFunc ;==>Ketqua Func LuuGiaiThich($i) $LGT = GUICreate("Thêm giải thích cho câu " & $i, 386, 223, -1, -1, 0) GUISetFont(10, 400, 0, "Tahoma") $LGT_Edit1 = GUICtrlCreateEdit("", 0, 0, 385, 153, BitOR($ES_AUTOVSCROLL, $ES_WANTRETURN, $WS_VSCROLL)) GUICtrlSetData(-1, StringReplace(IniRead($dir, 'Cauhoi' & $i, 'giaithich', ''), '/n', @CRLF)) $LGT_Button1 = GUICtrlCreateButton("Lưu lại", 304, 160, 75, 25) $LGT_Button2 = GUICtrlCreateButton("Đóng lại", 224, 160, 75, 25) GUISetState(@SW_SHOW) While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $LGT_Button1 IniWrite($dir, 'Cauhoi' & $i, 'giaithich', StringReplace(GUICtrlRead($LGT_Edit1), @CRLF, '/n')) GUIDelete($LGT) ExitLoop Case $LGT_Button2 GUIDelete($LGT) ExitLoop EndSwitch WEnd EndFunc ;==>LuuGiaiThich
Optional Paste Settings
Category:
None
Cryptocurrency
Cybersecurity
Fixit
Food
Gaming
Haiku
Help
History
Housing
Jokes
Legal
Money
Movies
Music
Pets
Photo
Science
Software
Source Code
Spirit
Sports
Travel
TV
Writing
Tags:
Syntax Highlighting:
None
Bash
C
C#
C++
CSS
HTML
JSON
Java
JavaScript
Lua
Markdown (PRO members only)
Objective C
PHP
Perl
Python
Ruby
Swift
4CS
6502 ACME Cross Assembler
6502 Kick Assembler
6502 TASM/64TASS
ABAP
AIMMS
ALGOL 68
APT Sources
ARM
ASM (NASM)
ASP
ActionScript
ActionScript 3
Ada
Apache Log
AppleScript
Arduino
Asymptote
AutoIt
Autohotkey
Avisynth
Awk
BASCOM AVR
BNF
BOO
Bash
Basic4GL
Batch
BibTeX
Blitz Basic
Blitz3D
BlitzMax
BrainFuck
C
C (WinAPI)
C Intermediate Language
C for Macs
C#
C++
C++ (WinAPI)
C++ (with Qt extensions)
C: Loadrunner
CAD DCL
CAD Lisp
CFDG
CMake
COBOL
CSS
Ceylon
ChaiScript
Chapel
Clojure
Clone C
Clone C++
CoffeeScript
ColdFusion
Cuesheet
D
DCL
DCPU-16
DCS
DIV
DOT
Dart
Delphi
Delphi Prism (Oxygene)
Diff
E
ECMAScript
EPC
Easytrieve
Eiffel
Email
Erlang
Euphoria
F#
FO Language
Falcon
Filemaker
Formula One
Fortran
FreeBasic
FreeSWITCH
GAMBAS
GDB
GDScript
Game Maker
Genero
Genie
GetText
Go
Godot GLSL
Groovy
GwBasic
HQ9 Plus
HTML
HTML 5
Haskell
Haxe
HicEst
IDL
INI file
INTERCAL
IO
ISPF Panel Definition
Icon
Inno Script
J
JCL
JSON
Java
Java 5
JavaScript
Julia
KSP (Kontakt Script)
KiXtart
Kotlin
LDIF
LLVM
LOL Code
LScript
Latex
Liberty BASIC
Linden Scripting
Lisp
Loco Basic
Logtalk
Lotus Formulas
Lotus Script
Lua
M68000 Assembler
MIX Assembler
MK-61/52
MPASM
MXML
MagikSF
Make
MapBasic
Markdown (PRO members only)
MatLab
Mercury
MetaPost
Modula 2
Modula 3
Motorola 68000 HiSoft Dev
MySQL
Nagios
NetRexx
Nginx
Nim
NullSoft Installer
OCaml
OCaml Brief
Oberon 2
Objeck Programming Langua
Objective C
Octave
Open Object Rexx
OpenBSD PACKET FILTER
OpenGL Shading
Openoffice BASIC
Oracle 11
Oracle 8
Oz
PARI/GP
PCRE
PHP
PHP Brief
PL/I
PL/SQL
POV-Ray
ParaSail
Pascal
Pawn
Per
Perl
Perl 6
Phix
Pic 16
Pike
Pixel Bender
PostScript
PostgreSQL
PowerBuilder
PowerShell
ProFTPd
Progress
Prolog
Properties
ProvideX
Puppet
PureBasic
PyCon
Python
Python for S60
QBasic
QML
R
RBScript
REBOL
REG
RPM Spec
Racket
Rails
Rexx
Robots
Roff Manpage
Ruby
Ruby Gnuplot
Rust
SAS
SCL
SPARK
SPARQL
SQF
SQL
SSH Config
Scala
Scheme
Scilab
SdlBasic
Smalltalk
Smarty
StandardML
StoneScript
SuperCollider
Swift
SystemVerilog
T-SQL
TCL
TeXgraph
Tera Term
TypeScript
TypoScript
UPC
Unicon
UnrealScript
Urbi
VB.NET
VBScript
VHDL
VIM
Vala
Vedit
VeriLog
Visual Pro Log
VisualBasic
VisualFoxPro
WHOIS
WhiteSpace
Winbatch
XBasic
XML
XPP
Xojo
Xorg Config
YAML
YARA
Z80 Assembler
ZXBasic
autoconf
jQuery
mIRC
newLISP
q/kdb+
thinBasic
Paste Expiration:
Never
Burn after read
10 Minutes
1 Hour
1 Day
1 Week
2 Weeks
1 Month
6 Months
1 Year
Paste Exposure:
Public
Unlisted
Private
Folder:
(members only)
Password
NEW
Enabled
Disabled
Burn after read
NEW
Paste Name / Title:
Create New Paste
Hello
Guest
Sign Up
or
Login
Sign in with Facebook
Sign in with Twitter
Sign in with Google
You are currently not logged in, this means you can not edit or delete anything you paste.
Sign Up
or
Login
Public Pastes
Crypto admin access
24 min ago | 0.43 KB
+12,000$ in 2 days
CSS | 24 min ago | 0.72 KB
Free Crypto Method
CSS | 25 min ago | 0.72 KB
Documents
25 min ago | 0.43 KB
Untitled
20 hours ago | 0.68 KB
The Road Not Taken
1 day ago | 0.79 KB
OG OLDHAM CODE
3 days ago | 27.75 KB
remove current bid and bid now button from au...
PHP | 4 days ago | 0.80 KB
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the
Cookies Policy
.
OK, I Understand
Not a member of Pastebin yet?
Sign Up
, it unlocks many cool features!