Subversion Repositories Kolibri OS

Rev

Rev 1449 | Rev 1457 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1. ;---  фрээ√х яЁюуЁрьь√  ----------------------------------------------
  2. fn_col_option dd def_col_file
  3. fn_syntax_dir db 'info/',0
  4. def_col_file db 'default.syn',0
  5.  
  6. system_dir0 db '/sys/lib/'
  7. boxlib_name db 'box_lib.obj',0
  8.  
  9. system_dir1 db '/sys/lib/'
  10. msgbox_name db 'msgbox.obj',0
  11.  
  12. fn_icon_tl_sys db 'tl_sys_16.bmp',0
  13. fn_icon_tl_nod db 'tl_nod_16.bmp',0
  14. ;---------------------------------------------------------------------
  15. fileinfo:
  16.   dd 5
  17.   dd 0
  18.   dd 0
  19.   dd 0
  20.   dd file_info
  21. string:
  22.   db 0
  23.   dd file_name
  24.  
  25. ;plugin dd 0
  26.  
  27. ;---------------------------------------------------------------------
  28. align 4
  29. myimport:
  30. edit_box_draw  dd aEdit_box_draw
  31. edit_box_key   dd aEdit_box_key
  32. edit_box_mouse dd aEdit_box_mouse
  33. ;version_ed     dd aVersion_ed
  34.  
  35. ;check_box_draw dd aCheck_box_draw
  36. ;check_box_mouse dd aCheck_box_mouse
  37. ;version_ch     dd aVersion_ch
  38.  
  39. ;option_box_draw  dd aOption_box_draw
  40. ;option_box_mouse dd aOption_box_mouse
  41. ;version_op      dd aVersion_op
  42.  
  43. scrollbar_ver_draw  dd aScrollbar_ver_draw
  44. scrollbar_ver_mouse dd aScrollbar_ver_mouse
  45. scrollbar_hor_draw  dd aScrollbar_hor_draw
  46. scrollbar_hor_mouse dd aScrollbar_hor_mouse
  47. ;version_scrollbar   dd aVersion_scrollbar
  48.  
  49. ;dinamic_button_draw  dd aDbutton_draw
  50. ;dinamic_button_mouse dd aDbutton_mouse
  51. ;version_dbutton      dd aVersion_dbutton
  52.  
  53. menu_bar_draw    dd aMenu_bar_draw
  54. menu_bar_mouse   dd aMenu_bar_mouse
  55. ;version_menu_bar dd aVersion_menu_bar
  56.  
  57.   tl_data_init dd sz_tl_data_init
  58.   tl_data_clear dd sz_tl_data_clear
  59.   tl_info_clear dd sz_tl_info_clear
  60.   tl_key dd sz_tl_key
  61.   tl_mouse dd sz_tl_mouse
  62.   tl_draw dd sz_tl_draw
  63.   tl_info_undo dd sz_tl_info_undo
  64.   tl_info_redo dd sz_tl_info_redo
  65.   tl_node_add dd sz_tl_node_add
  66.   tl_node_set_data dd sz_tl_node_set_data
  67.   tl_node_get_data dd sz_tl_node_get_data
  68.   tl_node_delete dd sz_tl_node_delete
  69.   tl_cur_beg dd sz_tl_cur_beg
  70.   tl_cur_next dd sz_tl_cur_next
  71.   tl_cur_perv dd sz_tl_cur_perv
  72.   tl_node_close_open dd sz_tl_node_close_open
  73.   tl_node_lev_inc dd sz_tl_node_lev_inc
  74.   tl_node_lev_dec dd sz_tl_node_lev_dec
  75. dd 0,0
  76.  
  77. aEdit_box_draw  db 'edit_box',0
  78. aEdit_box_key   db 'edit_box_key',0
  79. aEdit_box_mouse db 'edit_box_mouse',0
  80. ;aVersion_ed    db 'version_ed',0
  81.  
  82. ;aCheck_box_draw  db 'check_box_draw',0
  83. ;aCheck_box_mouse db 'check_box_mouse',0
  84. ;aVersion_ch     db 'version_ch',0
  85.  
  86. ;aOption_box_draw  db 'option_box_draw',0
  87. ;aOption_box_mouse db 'option_box_mouse',0
  88. ;aVersion_op      db 'version_op',0
  89.  
  90. aScrollbar_ver_draw  db 'scrollbar_v_draw',0
  91. aScrollbar_ver_mouse db 'scrollbar_v_mouse',0
  92. aScrollbar_hor_draw  db 'scrollbar_h_draw',0
  93. aScrollbar_hor_mouse db 'scrollbar_h_mouse',0
  94. ;aVersion_scrollbar   db 'version_scrollbar',0
  95.  
  96. ;aDbutton_draw    db 'dbutton_draw',0
  97. ;aDbutton_mouse   db 'dbutton_mouse',0
  98. ;aVersion_dbutton  db 'version_dbutton',0
  99.  
  100. aMenu_bar_draw    db 'menu_bar_draw',0
  101. aMenu_bar_mouse   db 'menu_bar_mouse',0
  102. ;aVersion_menu_bar db 'version_menu_bar',0
  103.  
  104.   sz_tl_data_init db 'tl_data_init',0
  105.   sz_tl_data_clear db 'tl_data_clear',0
  106.   sz_tl_info_clear db 'tl_info_clear',0
  107.   sz_tl_key db 'tl_key',0
  108.   sz_tl_mouse db 'tl_mouse',0
  109.   sz_tl_draw db 'tl_draw',0
  110.   sz_tl_info_undo db 'tl_info_undo',0
  111.   sz_tl_info_redo db 'tl_info_redo',0
  112.   sz_tl_node_add db 'tl_node_add',0
  113.   sz_tl_node_set_data db 'tl_node_set_data',0
  114.   sz_tl_node_get_data db 'tl_node_get_data',0
  115.   sz_tl_node_delete db 'tl_node_delete',0
  116.   sz_tl_cur_beg db 'tl_cur_beg',0
  117.   sz_tl_cur_next db 'tl_cur_next',0
  118.   sz_tl_cur_perv db 'tl_cur_perv',0
  119.   sz_tl_node_close_open db 'tl_node_close_open',0
  120.   sz_tl_node_lev_inc db 'tl_node_lev_inc',0
  121.   sz_tl_node_lev_dec db 'tl_node_lev_dec',0
  122. ;--------------------------------------------------
  123. align 4
  124. msgbox_lib_import:
  125.   mb_create dd amb_create
  126.   mb_reinit dd amb_reinit
  127.   mb_setfunctions dd amb_setfunctions
  128.   dd 0,0
  129.   amb_create db 'mb_create',0
  130.   amb_reinit db 'mb_reinit',0
  131.   amb_setfunctions db 'mb_setfunctions',0
  132. ;---------------------------------------------------------------------  
  133. align 4
  134. wScr:
  135. .x:
  136. .size_x   dw 16 ;+0
  137. .start_x  dw 50 ;+2
  138. .y:
  139. .size_y   dw 300 ; +4
  140. .start_y  dw  50 ; +6
  141. .btn_high dd  15 ; +8
  142. .type     dd   1 ;+12
  143. .max_area dd 100 ;+16
  144. .cur_area dd  30 ;+20
  145. .position dd   0 ;+24
  146. .bckg_col dd 0xeeeeee ;+28
  147. .frnt_col dd 0xbbddff ;+32
  148. .line_col dd   0 ;+36
  149. .redraw   dd   0 ;+40
  150. .delta    dw   0 ;+44
  151. .delta2   dw   0 ;+46
  152. .run_x:
  153. .r_size_x  dw 0 ;+48
  154. .r_start_x dw 0 ;+50
  155. .run_y:
  156. .r_size_y   dw 0 ;+52
  157. .r_start_y  dw 0 ;+54
  158. .m_pos      dd 0 ;+56
  159. .m_pos_2    dd 0 ;+60
  160. .m_keys     dd 0 ;+64
  161. .run_size   dd 0 ;+68
  162. .position2  dd 0 ;+72
  163. .work_size  dd 0 ;+76
  164. .all_redraw dd 0 ;+80
  165. .ar_offset  dd 1 ;+84
  166. ;---------------------------------------------------------------------
  167. align 4
  168. hScr:
  169. .x:
  170. .size_x     dw 150 ;+0
  171. .start_x    dw 0 ;+2
  172. .y:
  173. .size_y     dw 16 ;+4
  174. .start_y    dw 50 ;+6
  175. .btn_high   dd 15 ;+8
  176. .type       dd 1  ;+12
  177. .max_area   dd 100 ;+16
  178. .cur_area   dd 30  ;+20
  179. .position   dd 0  ;+24
  180. .bckg_col   dd 0xeeeeee ;+28
  181. .frnt_col   dd 0xbbddff ;+32
  182. .line_col   dd 0  ;+36
  183. .redraw     dd 0  ;+40
  184. .delta      dw 0  ;+44
  185. .delta2     dw 0  ;+46
  186. .run_x:
  187. .r_size_x   dw 0  ;+48
  188. .r_start_x  dw 0  ;+50
  189. .run_y:
  190. .r_size_y   dw 0 ;+52
  191. .r_start_y  dw 0 ;+54
  192. .m_pos      dd 0 ;+56
  193. .m_pos_2    dd 0 ;+60
  194. .m_keys     dd 0 ;+64
  195. .run_size   dd 0 ;+68
  196. .position2  dd 0 ;+72
  197. .work_size  dd 0 ;+76
  198. .all_redraw dd 0 ;+80
  199. .ar_offset  dd 1 ;+84
  200. ;---------------------------------------------------------------------  
  201. align 4
  202. ws_dir_lbox: ;фюўхЁэшщ ёъЁюыышэу фы  ¤ыхьхэЄр ListBox
  203. .x:
  204. .size_x     dw 16 ;+0
  205. .start_x    dw 0 ;+2
  206. .y:
  207. .size_y     dw 30 ;+4
  208. .start_y    dw 70 ;+6
  209. .btn_high   dd 15 ;+8
  210. .type       dd 1  ;+12
  211. .max_area   dd 100  ;+16
  212. .cur_area   dd 30  ;+20
  213. .position   dd 0  ;+24
  214. .bckg_col   dd 0xeeeeee ;+28
  215. .frnt_col   dd 0xbbddff ;+32
  216. .line_col   dd 0  ;+36
  217. .redraw     dd 0  ;+40
  218. .delta      dw 0  ;+44
  219. .delta2     dw 0  ;+46
  220. .run_x:
  221. .r_size_x   dw 0  ;+48
  222. .r_start_x  dw 0  ;+50
  223. .run_y:
  224. .r_size_y   dw 0 ;+52
  225. .r_start_y  dw 0 ;+54
  226. .m_pos      dd 0 ;+56
  227. .m_pos_2    dd 0 ;+60
  228. .m_keys     dd 0 ;+64
  229. .run_size   dd 0 ;+68
  230. .position2  dd 0 ;+72
  231. .work_size  dd 0 ;+76
  232. .all_redraw dd 0 ;+80
  233. .ar_offset  dd 1 ;+84
  234. ;---------------------------------------------------------------------
  235.  
  236. align 4
  237. menu_data_1:
  238. .type: dd 0   ;+0
  239. .x:
  240. .size_x  dw 35 ;+4
  241. .start_x dw  5 ;+6
  242. .y:
  243. .size_y  dw 15 ;+8
  244. .start_y dw  5 ;+10
  245. .text_pointer: dd menu_text_area   ;+12
  246. .pos_pointer:  dd menu_text_area.1 ;+16
  247. .text_end   dd menu_text_area.end  ;+20
  248. .mouse_pos  dd 0 ;+24
  249. .mouse_keys dd 0 ;+28
  250. .x1:
  251. .size_x1  dw 70  ;+32
  252. .start_x1 dw  5  ;+34
  253. .y1:
  254. .size_y1  dw 15  ;+36
  255. .start_y1 dw 20  ;+38
  256. .bckg_col dd 0xeeeeee ;+40
  257. .frnt_col dd 0xff ;+44
  258. .menu_col dd 0xffffff ;+48
  259. .select   dd 0 ;+52
  260. .out_select dd 0 ;+56
  261. .buf_adress dd 0 ;+60
  262. .procinfo dd procinfo ;0 ;+64
  263. .click   dd 0 ;+68
  264. .cursor  dd 0 ;+72
  265. .cursor_old dd 0 ;+76
  266. .interval   dd 16 ;+80
  267. .cursor_max  dd 0 ;+84
  268. .extended_key dd 0 ;+88
  269. .menu_sel_col dd 0x00cc00 ;+92
  270. .bckg_text_col dd 0 ;+96
  271. .frnt_text_col dd 0xffffff ;+100
  272. .mouse_keys_old dd 0 ;+104
  273. .font_height dd 8 ;+108
  274. .cursor_out  dd 0 ;+112
  275. .get_mouse_flag dd 0 ;+116
  276. ;-------------------------
  277.  
  278. TE_PANEL_NULL equ 0
  279. TE_PANEL_FIND equ 1
  280. TE_PANEL_SYNTAX equ 2
  281. TE_PANEL_WIDTH equ 150 ;°шЁшэр ярэхыш
  282.  
  283. count_of_dir_list_files equ 15
  284.  
  285. ;------------------------------------------------------------------------------
  286. struct TexSelect
  287.   x0 dd ?
  288.   y0 dd ?
  289.   x1 dd ?
  290.   y1 dd ?
  291. ends
  292. ;------------------------------------------------------------------------------
  293. ted_wnd_l equ dword[edi+ 0] ;окно редактора: отступ слева
  294. ted_wnd_t equ dword[edi+ 4] ;окно редактора: отступ сверху
  295. ted_wnd_w equ dword[edi+ 8] ;окно редактора: ширина
  296. ted_wnd_h equ dword[edi+12] ;окно редактора: высота
  297. ted_rec_l equ dword[edi+16] ;ширина панели в окне
  298. ted_rec_t equ dword[edi+20] ;высота панели в окне
  299. ted_rec_w equ dword[edi+24] ;ширина символа (знакоместа) в окне
  300. ted_rec_h equ dword[edi+28] ;высота символа (знакоместа) в окне
  301. ted_drag_m equ byte[edi+32] ;выделение от мыши
  302. ted_drag_k equ byte[edi+33] ;выделение от клавиатуры
  303. ted_sel_x0 equ dword[edi+34] ;координата выделения x0
  304. ted_sel_y0 equ dword[edi+38] ;координата выделения y0
  305. ted_sel_x1 equ dword[edi+42] ;координата выделения x1
  306. ted_sel_y1 equ dword[edi+46] ;координата выделения y1
  307. ;запасные координаты выделения
  308. ted_seln_x0 equ dword[edi+50]
  309. ted_seln_y0 equ dword[edi+54]
  310. ted_seln_x1 equ dword[edi+58]
  311. ted_seln_y1 equ dword[edi+62]
  312.  
  313. ted_tex     equ dword[edi+66] ;указатель на память для хранения текста
  314. ted_tex_1   equ dword[edi+70] ;указатель на 1-ю стркутру символа
  315. ted_tex_end equ dword[edi+74] ;указатель на последнюю структуру символа
  316. ted_cur_x   equ dword[edi+78] ;координата x курсора
  317. ted_cur_y   equ dword[edi+82] ;координата y курсора
  318. ted_cur_ins equ  byte[edi+86] ;режим работы курсора (обычный или замена)
  319. ted_mode_color equ byte[edi+87] ;режим выделения слов цветом (0-выкл. 1-вкл.)
  320. ted_mode_invis equ byte[edi+88] ;режим показа непечатаемых символов
  321. ted_gp_opt     equ byte[edi+89] ;опции возвращаемые функцией GetPos
  322. ted_colors_text_count equ dword[edi+90] ;колличество цветов текста
  323. ted_key_words_count   equ dword[edi+94] ;колличество ключевых слов
  324. ted_color_cursor   equ dword[edi+98] ;цвет курсора
  325. ted_color_wnd_capt equ dword[edi+102] ;цвет полей вокруг окна
  326. ted_color_wnd_work equ dword[edi+106] ;цвет фона окна
  327. ted_color_wnd_bord equ dword[edi+110] ;цвет текста на полях
  328. ted_color_select   equ dword[edi+114] ;цвет выделения
  329. ted_color_cur_text equ dword[edi+118] ;цвет символа под курсором
  330. ted_color_wnd_text equ dword[edi+122] ;цвет текста в окне
  331. ted_syntax_file   equ dword[edi+126] ;указатель на начало файла синтаксиса
  332. ted_syntax_file_end equ dword[edi+130] ;указатель на конец файла синтаксиса
  333. ted_text_colors     equ dword[edi+134] ;указатель на массив цветов текста
  334. ted_help_text_f1   equ dword[edi+138] ;указатель на текст справки (по нажатии F1)
  335. ted_help_id         equ dword[edi+142] ;идентификатор для справки
  336. ted_key_words_data equ dword[edi+146] ;указатель на структуры ключевых слов TexColViv
  337. ted_tim_ch         equ dword[edi+150] ;колличество изменений в файле
  338. ted_tim_undo       equ dword[edi+154] ;колличество отмененных действий
  339. ted_tim_ls         equ dword[edi+158] ;время последнего сохранения
  340. ted_tim_co         equ dword[edi+162] ;время последней цветовой разметки
  341. ted_el_focus       equ dword[edi+166] ;указатель на переменную элемента в фокусе
  342. ted_err_save       equ  word[edi+170] ;ошибка сохранения файла
  343. ted_key_new         equ  byte[edi+172] ;символ, который будет добавлятся с клавиатуры
  344. ted_symbol_new_line equ  byte[edi+173] ;символ завершения строки
  345. ted_scr_w           equ dword[edi+174] ;вертикальный скроллинг
  346. ted_scr_h           equ dword[edi+178] ;горизонтальный скроллинг
  347. ted_panel_id       equ  byte[edi+182] ;номер открытой панели
  348. ;------------------------------------------------------------------------------
  349. sb_offs_max_area equ 16
  350. sb_offs_cur_area equ 20
  351. sb_offs_position equ 24
  352. sb_offs_redraw   equ 40
  353. ;------------------------------------------------------------------------------
  354. ted_opt_ed_move_cursor equ 1 ;двигать курсор после добавления текста
  355. ted_opt_ed_change_time equ 2 ;добавлять изменения при редактировании текста
  356. ted_offs_sel equ 34 ;смещение структуры sel
  357. ted_offs_seln equ 50 ;смещение структуры seln
  358. ted_offs_count_colors equ 90 ;смещение переменной колличества цветов
  359. ted_offs_key_new equ 172
  360. ted_offs_symbol_new_line equ 173 ;смещение символа новой строки
  361. ;------------------------------------------------------------------------------
  362. align 4
  363. tedit0: ;структура текстового редактора
  364.         .wnd BOX 0,50,440,150 ;+ 0
  365.         .rec BOX 30,23,7,10   ;+16
  366.         .drag_m db 0 ;+32 выделение от мыши
  367.         .drag_k db 0 ;+33 выделение от клавиатуры
  368.         .sel  TexSelect 0,0,0,0 ;+34 структура выделения
  369.         .seln TexSelect ;+50 дополнительная структура выделения
  370.         .tex     dd 0 ;+66 text memory pointer
  371.         .tex_1   dd 0 ;+70 text first symbol pointer
  372.         .tex_end dd 0 ;+74 text end memory pointer
  373.         .cur_x   dd 0 ;+78
  374.         .cur_y   dd 0 ;+82
  375.         .cur_ins db 1 ;+86
  376.         .mode_color db 1 ;+87 режим выделения слов цветом (0-выкл. 1-вкл.)
  377.         .mode_invis db 0 ;+88 режим показа непечатаемых символов
  378.         .gp_opt     db 0 ;+89 опции возвращаемые функцией GetPos
  379. ; \/ не разрывать следующие переменные:
  380.         .count_colors_text dd 1 ;+90 колличество цветов текста
  381.         .count_key_words   dd 0 ;+94 колличество ключевых слов
  382.         .color_cursor    dd 0x808080 ;+98 цвет курсора
  383.         .color_wnd_capt  dd     0x80 ;+102 цвет полей вокруг окна
  384.         .color_wnd_work  dd      0x0 ;+106 цвет фона окна
  385.         .color_wnd_bord  dd 0xd0d0d0 ;+110 цвет текста на полях
  386.         .color_select    dd 0x208080 ;+114 цвет выделения
  387.         .color_cur_text  dd 0xff0000 ;+118 цвет символа под курсором
  388.         .color_wnd_text  dd 0xffff00 ;+122 цвет текста в окне
  389. ; /\ другие, идущие ниже можно разрывать.
  390.         .syntax_file     dd 0 ;+126 указатель на начало файла синтаксиса
  391.         .syntax_file_end dd 0 ;+130 указатель на конец файла синтаксиса
  392.         .text_colors     dd 0 ;+134 указатель на массив цветов текста
  393.         .help_text_f1    dd 0 ;+138 указатель на текст справки (по нажатии F1)
  394.         .help_id         dd -1 ;+142 идентификатор для справки
  395.         .key_words_data  dd 0 ;+146 указатель на структуры ключевых слов TexColViv
  396.         .tim_ch   dd ? ;+150 количество изменений в файле
  397.         .tim_undo dd ? ;+154 количество отмененных действий
  398.         .tim_ls   dd ? ;+158 время последнего сохранения
  399.         .tim_co   dd ? ;+162 время последней цветовой разметки
  400.         .el_focus dd el_focus ;+166 указатель на переменную элемента в фокусе
  401.         .err_save    dw 0 ;+170 ошибка сохранения файла
  402.         .key_new     db 0 ;+172 символ, который будет добавлятся с клавиатуры
  403.         .symbol_new_line db 20 ;+173 символ завершения строки
  404.         .scr_w dd wScr ;+174 вертикальный скроллинг
  405.         .scr_h dd hScr ;+178 горизонтальный скроллинг
  406.         .panel_id db 0 ;+182 номер открытой панели
  407. ;------------------------------------------------------------------------------
  408.  
  409. FkPos: rd 256
  410. conv_tabl rb 128 ; таблица для конвертирования scan-кода в ascii-код
  411.  
  412.  
  413. el_focus dd 0
  414. mouse_dd dd 0
  415. tree1 tree_list 264,count_of_dir_list_files+2, tl_key_no_edit+tl_draw_par_line+tl_list_box_mode,\
  416.     16,16, 0x8080ff,0x0000ff,0xffffff, 0,70,TE_PANEL_WIDTH-17,120, 0,0,0, el_focus,\
  417.     ws_dir_lbox,0
  418.  
  419. ;dir_list memory
  420. tree_file_struct:
  421.   dd 1
  422.   dd 0,0,count_of_dir_list_files
  423.   dd dir_mem
  424.   db 0
  425.   dd file_name ;sys_path
  426.  
  427. dir_mem rb 32+304*count_of_dir_list_files
  428.  
  429.  
  430. if lang eq ru
  431.  
  432. menu_text_area:
  433. db 'Файл',0
  434. .1:
  435. db 'Создать',0
  436. db 'Открыть',0
  437. db 'Сохранить',0
  438. db 'Выход',0
  439. .end:
  440. db 0
  441.  
  442. ;--------
  443. msgbox_1:
  444.   dw 0
  445.   db 'Внимание',0 ;+2 = +MB_TEXT_OFFSET
  446.   db 'Файл большой, потому открыт не весь.',13
  447.   db '  1. При его сохранении будут потеряны "не открывшиеся" символы.',13
  448.   db '  2. В документ нельзя добавлять текст, т. к. память занята.',0
  449.   db 'Я понял(а)',0 ;button1
  450.   db 0
  451. msgbox_2:
  452.   db 3,0
  453.   db 'Внимание',0 ;+2 = +MB_TEXT_OFFSET
  454.   db 'Сохранить изменения в файле?',0
  455.   db 'Сохранить',0
  456.   db 'Не сохранять',0
  457.   db 'Отмена',0
  458.   db 0
  459. msgbox_2_funct:
  460.   dd On_SaveAndNewFile
  461.   dd On_NewFile
  462.   dd 0
  463.  
  464. msgbox_3:
  465.   db 1,0
  466.   db 'Внимание',0 ;+2 = +MB_TEXT_OFFSET
  467.   db 'Ошибка при открытии файла с цветовыми настройками!',13,\
  468.      'Потому выделение слов цветом не возможно.',13,\
  469.      '  (код ошибки ='
  470.   .err: db '?'
  471.   db ')',0
  472.   db 'Закрыть',0
  473.   db 0
  474.  
  475. msgbox_4:
  476.   db 1,0
  477.   db 'Внимание',0 ;+2 = +MB_TEXT_OFFSET
  478.   db 'Ошибка при открытии файла!',13,\
  479.      'Возможно имя файла введено не правильно.',13,\
  480.      '  (код ошибки ='
  481.   .err: db '?'
  482.   db ')',0
  483.   db 'Закрыть',0
  484.   db 0
  485.  
  486. msgbox_5:
  487.   db 3,0
  488.   db 'Внимание',0 ;+2 = +MB_TEXT_OFFSET
  489.   db 'Сохранить изменения в файле?',0
  490.   db 'Не сохранять',0
  491.   db 'Отмена',0
  492.   db 0
  493. msgbox_5_funct:
  494.   dd but_no_msg_OpenFile
  495.   dd 0
  496.  
  497. msgbox_6:
  498.   db 1,0
  499.   db 'Внимание',0 ;+2 = +MB_TEXT_OFFSET
  500.   db 'Ошибка при сохранении файла!',13,\
  501.      'Возможно имя файла введено не правильно.',13,\
  502.      '  (код ошибки ='
  503.   .err: db '?'
  504.   db ')',0
  505.   db 'Закрыть',0
  506.   db 0
  507. msgbox_7:
  508.   db 1,0
  509.   db 'Текст не найден',0 ;+2 = +MB_TEXT_OFFSET
  510.   db 'Достигнут конец документа.',13,\
  511.      'Попробуйте перейти в начало документа',13,\
  512.      'или изменить запрос и повторить поиск.',0
  513.   db 'Закрыть',0
  514.   db 0
  515. msgbox_8:
  516.   db 3,0
  517.   db 'Внимание',0 ;+2 = +MB_TEXT_OFFSET
  518.   db 'Для выхода завершите работу с файлом.',13,\
  519.      'Попробуйте сохранить изменения в файле',13,\
  520.      'или начать новый пустой.',0
  521.   db 'Отмена',0
  522.   db 0
  523.  
  524. txtFindCapt db 'Поиск',0
  525. txtFindNext db 'Найти далее',0
  526. txtFormatCapt db 'Формат',0
  527. txtFormatApply db 'Применить',0
  528. txtRow db 'Строка',0
  529. txtCol db 'Знак',0
  530. txtOtm db 'Отмены',0
  531. txtBuf db 'Буфер: '
  532. buf db BUF_SIZE dup(0) ;buf тёхуфр яюёых txtBuf
  533.  
  534. else
  535.  
  536. menu_text_area:
  537. db 'File',0
  538. .1:
  539. db 'New',0
  540. db 'Open',0
  541. db 'Save',0
  542. db 'Exit',0
  543. .end:
  544. db 0
  545.  
  546. ;--------
  547. msgbox_1:
  548.   dw 0
  549.   db 'Warning',0 ;+2 = +MB_TEXT_OFFSET
  550.   db 'File is large, because not all open.',13
  551.   db '  1. If you save it will lose "not opened" characters.',13
  552.   db '  2. The document can not add text, because the memory is busy.',0
  553.   db 'Ok',0 ;button1
  554.   db 0
  555. msgbox_2:
  556.   db 3,0
  557.   db 'Warning',0 ;+2 = +MB_TEXT_OFFSET
  558.   db 'Save changes to the file?',0
  559.   db 'Save',0
  560.   db 'Discard',0
  561.   db 'Cancel',0
  562.   db 0
  563. msgbox_2_funct:
  564.   dd On_SaveAndNewFile
  565.   dd On_NewFile
  566.   dd 0
  567.  
  568. msgbox_3:
  569.   db 1,0
  570.   db 'Warning',0 ;+2 = +MB_TEXT_OFFSET
  571.   db 'Error opening the file with the color settings!',13,\
  572.      'Because color selection of words is not possible.',13,\
  573.      '  (error code ='
  574.   .err: db '?'
  575.   db ')',0
  576.   db 'Close',0
  577.   db 0
  578.  
  579. msgbox_4:
  580.   db 1,0
  581.   db 'Warning',0 ;+2 = +MB_TEXT_OFFSET
  582.   db 'Error opening file!',13,\
  583.      'Maybe the file name is not entered correctly.',13,\
  584.      '  (error code ='
  585.   .err: db '?'
  586.   db ')',0
  587.   db 'Close',0
  588.   db 0
  589.  
  590. msgbox_5:
  591.   db 3,0
  592.   db 'Warning',0 ;+2 = +MB_TEXT_OFFSET
  593.   db 'Save changes to the file?',0
  594.   db 'Discard',0
  595.   db 'Cancel',0
  596.   db 0
  597. msgbox_5_funct:
  598.   dd but_no_msg_OpenFile
  599.   dd 0
  600.  
  601. msgbox_6:
  602.   db 1,0
  603.   db 'Warning',0 ;+2 = +MB_TEXT_OFFSET
  604.   db 'Error saving file!',13,\
  605.      'Maybe the file name is not entered correctly.',13,\
  606.      '  (error code ='
  607.   .err: db '?'
  608.   db ')',0
  609.   db 'Close',0
  610.   db 0
  611. msgbox_7:
  612.   db 1,0
  613.   db 'Text not found.',0 ;+2 = +MB_TEXT_OFFSET
  614.   db 'Reached end of the document.',13,\
  615.      'Try to go to the beginning of the document',13,\
  616.      'or change the query and search again.',0
  617.   db 'Close',0
  618.   db 0
  619. msgbox_8:
  620.   db 3,0
  621.   db 'Warning',0 ;+2 = +MB_TEXT_OFFSET
  622.   db 'To quit, quit the file.',13,\
  623.      'Try to keep changes to a file',13,\
  624.      'or start a new blank file.',0
  625.   db 'Cancel',0
  626.   db 0
  627.  
  628. txtFindCapt db 'Search',0
  629. txtFindNext db 'Find next',0
  630. txtFormatCapt db 'Format',0
  631. txtFormatApply db 'Apply',0
  632. txtRow db 'Rows',0
  633. txtCol db 'Cols',0
  634. txtOtm db 'Undo',0
  635. txtBuf db 'Buffer: '
  636. buf db BUF_SIZE dup(0) ;buf always after txtBuf
  637.  
  638. end if
  639. ;------
  640. align 4
  641. EvChar db 0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0
  642.     db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  643.     db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
  644.     db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
  645.     db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
  646.     db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
  647.     db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
  648.     db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0
  649.     db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
  650.     db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
  651.     db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
  652.     db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  653.     db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  654.     db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  655.     db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
  656.     db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  657.  
  658. EvUpper db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  659.     db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  660.     db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  661.     db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  662.     db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  663.     db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  664.     db 0,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79
  665.     db 80,81,82,83,84,85,86,87,88,89,90,0,0,0,0,0
  666.     db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  667.     db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  668.     db 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143
  669.     db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  670.     db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  671.     db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  672.     db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  673.     db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  674. EvLover db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  675.     db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  676.     db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  677.     db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  678.     db 0,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111
  679.     db 112,113,114,115,116,117,118,119,120,121,122,0,0,0,0,0
  680.     db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  681.     db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  682.     db 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175
  683.     db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  684.     db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  685.     db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  686.     db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  687.     db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  688.     db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  689.     db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  690. conv_table dd 0
  691.  
  692.  
  693. KM_SHIFT equ 0x00010000
  694. KM_CTRL equ 0x00020000
  695. KM_ALT equ 0x00040000
  696. KM_NUMLOCK equ 0x00080000
  697.  
  698. ; KEY CODES
  699. KEY_F1 equ 0x0000003B
  700. KEY_F2 equ 0x0000003C
  701. KEY_F3 equ 0x0000003D
  702.  
  703.