Guest User

Untitled

a guest
Aug 15th, 2018
269
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
AutoIt 6.35 KB | None | 0 0
  1. #NoTrayIcon
  2.  
  3. #include <ListViewConstants.au3>
  4. #include <GUIConstantsEx.au3>
  5. #include <GuiListView.au3>
  6. #include <WinAPIEx.au3>
  7. #include <FontConstants.au3>
  8. #include <ComboConstants.au3>
  9. #include <WindowsConstants.au3>
  10.  
  11. Opt('GUIDataSeparatorChar', @TAB)
  12.  
  13. Local $hGUI, $idListView, $idComboBlock, $idComboFont, $sTmp, $aFonts, $sFonts = ''
  14. Local $aRange[35][2] = [[34, 0], _
  15. [0x0020, 0x007F], _
  16. [0x0080, 0x00FF], _
  17. [0x0100, 0x017F], _
  18. [0x0180, 0x024F], _
  19. [0x0250, 0x02AF], _
  20. [0x02B0, 0x02FF], _
  21. [0x0300, 0x036F], _
  22. [0x0370, 0x03FF], _
  23. [0x0400, 0x04FF], _
  24. [0x0500, 0x052F], _
  25. [0x0530, 0x058F], _
  26. [0x0590, 0x05FF], _
  27. [0x0600, 0x06FF], _
  28. [0x0700, 0x074F], _
  29. [0x0750, 0x077F], _
  30. [0x0780, 0x07BF], _
  31. [0x07C0, 0x07FF], _
  32. [0x0800, 0x083F], _
  33. [0x0840, 0x085F], _
  34. [0x0860, 0x086F], _
  35. [0x08A0, 0x08FF], _
  36. [0x0900, 0x097F], _
  37. [0x0980, 0x09FF], _
  38. [0x0A00, 0x0A7F], _
  39. [0x0A80, 0x0AFF], _
  40. [0x0B00, 0x0B7F], _
  41. [0x0B80, 0x0BFF], _
  42. [0x0C00, 0x0C7F], _
  43. [0x0C80, 0x0CFF], _
  44. [0x0D00, 0x0D7F], _
  45. [0x0D80, 0x0DFF], _
  46. [0x0E00, 0x0E7F], _
  47. [0x0E80, 0x0EFF], _
  48. [0x0F00, 0x0FFF]]
  49.  
  50. $hGUI = GUICreate("ListView", 580, 440)
  51. Local $sListName = '1' & @TAB & '2' & @TAB & '3' & @TAB & '4' & @TAB & '5' & @TAB & '6' & @TAB & '7' & @TAB & '8' & @TAB & '9' & @TAB & '10' & @TAB & '11' & @TAB & '12' & @TAB & '13' & @TAB & '14' & @TAB & '15' & @TAB & '16'
  52. $idListView = GUICtrlCreateListView($sListName, 10, 50, 560, 380, $LVS_REPORT + $LVS_NOCOLUMNHEADER, $LVS_EX_GRIDLINES)
  53. $idComboBlock = GUICtrlCreateCombo('', 10, 20, 340, 24)
  54. GUICtrlSetData($idComboBlock, '1. Основная латиница (0020 - 007F)' & @TAB & _
  55.                         '2. Дополнение к латинице - 1 (0080 - 00FF)' & @TAB & _
  56.                         '3. Расширенная латиница - A (0100 - 017F)' & @TAB & _
  57.                         '4. Расширенная латиница - B (0180 - 024F)' & @TAB & _
  58.                         '5. Расширения МФА (0250 - 02AF)' & @TAB & _
  59.                         '6. Модификаторы букв (02B0 - 02FF)' & @TAB & _
  60.                         '7. Комбинируемые диакритические знаки (0300 - 036F)' & @TAB & _
  61.                         '8. Греческое и коптское письмо (0370 - 03FF)' & @TAB & _
  62.                         '9. Кириллица (0400 - 04FF)' & @TAB & _
  63.                         '10. Дополнение к кириллице (0500 - 052F)' & @TAB & _
  64.                         '11. Армянское письмо (0530 - 058F)' & @TAB & _
  65.                         '12. Иврит (0590 - 05FF)' & @TAB & _
  66.                         '13. Арабское письмо (0600 - 06FF)' & @TAB & _
  67.                         '14. Сирийское письмо (0700 - 074F)' & @TAB & _
  68.                         '15. Дополнение к арабскому письму (0750 - 077F)' & @TAB & _
  69.                         '16. Тана (0780 - 07BF)' & @TAB & _
  70.                         '17. Нко (07C0 - 07FF)' & @TAB & _
  71.                         '18. Самаритянское письмо (0800 - 083F)' & @TAB & _
  72.                         '19. Мандейское письмо (0840 - 085F)' & @TAB & _
  73.                         '20. Дополнение к сирийскому письму (0860 - 086F)' & @TAB & _
  74.                         '21. Расширенное арабское письмо - A (08A0 - 08FF)' & @TAB & _
  75.                         '22. Деванагари (0900 - 097F)' & @TAB & _
  76.                         '23. Бенгальское письмо (0980 - 09FF)' & @TAB & _
  77.                         '24. Гурмукхи (0A00 - 0A7F)' & @TAB & _
  78.                         '25. Гуджарати (0A80 - 0AFF)' & @TAB & _
  79.                         '26. Ория (0B00 - 0B7F)' & @TAB & _
  80.                         '27. Тамильское письмо (0B80 - 0BFF)' & @TAB & _
  81.                         '28. Телугу (0C00 - 0C7F)' & @TAB & _
  82.                         '29. Каннада (0C80 - 0CFF)' & @TAB & _
  83.                         '30. Малаялам (0D00 - 0D7F)' & @TAB & _
  84.                         '31. Сингальское письмо (0D80 - 0DFF)' & @TAB & _
  85.                         '32. Тайское письмо (0E00 - 0E7F)' & @TAB & _
  86.                         '33. Лаосское письмо (0E80 - 0EFF)' & @TAB & _
  87.                         '34. Тибетское письмо (0F00 - 0FFF)', '1. Основная латиница (0020 - 007F)')
  88. $idComboFont = GUICtrlCreateCombo('', 360, 20, 200, 24, $CBS_DROPDOWN + $CBS_AUTOHSCROLL + $WS_VSCROLL + $WS_TABSTOP + $CBS_SORT)
  89. $aFonts = _WinAPI_EnumFontFamilies(0, '', $DEFAULT_CHARSET, -1, '@*', 1)
  90. If @error Then
  91.     GUICtrlSetData($idComboFont, 'Arial', 'Arial')
  92. Else
  93.     For $i = 1 To $aFonts[0][0]
  94.         If ($i > 1) And ($aFonts[$i][0] = $aFonts[$i - 1][0]) Then ContinueLoop
  95.         $sFonts &= $aFonts[$i][0]
  96.         $sFonts &= @TAB
  97.     Next
  98.     GUICtrlSetData($idComboFont, StringTrimRight($sFonts, 1), 'Arial')
  99. EndIf
  100. GUICtrlSetFont($idListView, 10, 400, 1, 'Arial')
  101. _SetSymbols(1)
  102. GUISetState()
  103.  
  104. While 1
  105.     Switch GUIGetMsg()
  106.         Case $GUI_EVENT_CLOSE
  107.             Exit
  108.         Case $idComboBlock
  109.             $sTmp = GUICtrlRead($idComboBlock)
  110.             _SetSymbols(Int(StringReplace(StringLeft($sTmp, 2), '.', '')))
  111.         Case $idComboFont
  112.             $sTmp = GUICtrlRead($idComboFont)
  113.             GUICtrlDelete($idListView)
  114.             $idListView = GUICtrlCreateListView($sListName, 10, 50, 560, 380, $LVS_REPORT + $LVS_NOCOLUMNHEADER, $LVS_EX_GRIDLINES)
  115.             GUICtrlSetFont($idListView, 10, 400, 1, $sTmp)
  116.             $sTmp = GUICtrlRead($idComboBlock)
  117.             _SetSymbols(Int(StringReplace(StringLeft($sTmp, 2), '.', '')))
  118.     EndSwitch
  119. WEnd
  120.  
  121. Func _SetSymbols($iI)
  122.     Local $sL = '', $iN = 0, $iS = $aRange[$iI][0]
  123.     GUICtrlSendMsg($idListView, $__LISTVIEWCONSTANT_WM_SETREDRAW, 0, 0)
  124.     GUICtrlSendMsg($idListView, $LVM_DELETEALLITEMS, 0, 0)
  125.     While $iS < $aRange[$iI][1]
  126.         $sL &= ChrW($iS)
  127.         $sL &= @TAB
  128.         $iS += 1
  129.         $iN += 1
  130.         If $iN = 16 Then
  131.             $sL = StringTrimRight($sL, 1)
  132.             GUICtrlCreateListViewItem($sL, $idListView)
  133.             $sL = ''
  134.             $iN = 0
  135.         EndIf
  136.     WEnd
  137.     GUICtrlSendMsg($idListView, $__LISTVIEWCONSTANT_WM_SETREDRAW, 1, 0)
  138.     Return 1
  139. EndFunc
Advertisement
Add Comment
Please, Sign In to add comment