Subversion Repositories Kolibri OS

Rev

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

  1. ; <Lrz> 30.03.2007 ¯à®¨§¢¥¤¥­  ®¯â¨¬¨§ æ¨ï à ¡®âë ª®­¯®ª DEL ¨ Backspace? 㬥­ì襭 à §¬¥à ¢ë¯®«­ï¥¬®£® ª®¤ .
  2. ;ä䥪⨢­®¥ ¯à®£à ¬¬¨à®¢ ­¨¥ ¢ KOLIBRI
  3. ;Ž¯â¨¬¨§¨à®¢ ­­ë© ª®¬¯®­¥­â EditBox (ˆá室­ë© ¢ à¨ ­â ®â Maxxxx32)
  4. ;Ž¯â¨¬¨§ æ¨ï ª®¬ ­¤.
  5. ;<Lrz>  - ’¥¯«®¢ €«¥ªá¥©  www.lrz.land.ru
  6. ;§ £®«®¢®ª ¯à¨«®¦¥­¨ï
  7. use32           ; âà ­á«ïâ®à, ¨á¯®«ì§ãî騩 32 à §à來ëå ª®¬ ­¤ë
  8.     org 0x0             ; ¡ §®¢ë©  ¤à¥á ª®¤ , ¢á¥£¤  0x0
  9.     db 'MENUET01'       ; ¨¤¥­â¨ä¨ª â®à ¨á¯®«­ï¥¬®£® ä ©«  (8 ¡ ©â)
  10.     dd 0x1              ; ¢¥àá¨ï ä®à¬ â  § £®«®¢ª  ¨á¯®«­ï¥¬®£® ä ©« 
  11.     dd start            ;  ¤à¥á, ­  ª®â®àë© á¨á⥬  ¯¥à¥¤ ñâ ã¯à ¢«¥­¨¥
  12.                         ; ¯®á«¥ § £à㧪¨ ¯à¨«®¦¥­¨ï ¢ ¯ ¬ïâì
  13.     dd i_end            ; à §¬¥à ¯à¨«®¦¥­¨ï
  14.     dd i_end and not 3  ; Ž¡ê¥¬ ¨á¯®«ì§ã¥¬®© ¯ ¬ïâ¨, ¤«ï á⥪  ®â¢¥¤¥¬ 0å100 ¡ ©â ¨ ¢ë஢­¨¬ ­  £à­¨æã 4 ¡ ©â 
  15.     dd i_end and not 3  ; à á¯®«®¦¨¬ ¯®§¨æ¨î á⥪  ¢ ®¡« á⨠¯ ¬ïâ¨, áࠧ㠧  ⥫®¬ ¯à®£à ¬¬ë. ‚¥à設  á⥪  ¢ ¤¨ ¯ §®­¥ ¯ ¬ïâ¨, 㪠§ ­­®¬ ¢ëè¥
  16.     dd 0x0,0x0          ; 㪠§ â¥«ì ­  áâபã á ¯ à ¬¥âà ¬¨.
  17.         include 'macros.inc'
  18.         include 'editbox.inc'
  19.         use_edit_box
  20. ;Ž¡« áâì ª®¤ 
  21. start:                          ;’®çª  ¢å®¤  ¢ ¯à®£à ¬¬ã
  22.         mcall   40,0x27         ;ãáâ ­®¢¨âì ¬ áªã ¤«ï ®¦¨¤ ¥¬ëå ᮡë⨩
  23.  ;á¨á⥬  ¡ã¤¥â ॠ£¨à®¢ âì ⮫쪮 ­  á®®¡é¥­¨¥ ® ¯¥à¥à¨á®¢ª¥,­ ¦ â  ª­®¯ª , ®¯à¥¤¥«ñ­­ ï à ­¥¥, ᮡë⨥ ®â ¬ëè¨ (çâ®-â® á«ã稫®áì - ­ ¦ â¨¥ ­  ª­®¯ªã ¬ëè¨ ¨«¨ ¯¥à¥¬¥é¥­¨¥; á¡à á뢠¥âáï ¯à¨ ¯à®ç⥭¨¨) ¨ ­ ¦ â¨¥ ª« ¢¨è¨
  24. red_win:
  25.     call draw_window            ;¯¥à¢®­ ç «ì­® ­¥®¡å®¤¨¬® ­ à¨á®¢ âì ®ª­®
  26. still:                          ;®á­®¢­®© ®¡à ¡®â稪
  27.         mcall   10              ;Ž¦¨¤ âì ᮡëâ¨ï ¢ â¥ç¥­¨¥ 2 ¬¨««¨á¥ªã­¤
  28.  
  29.         cmp al,0x1    ;¥á«¨ ¨§¬¥­¨«®áì ¯®«®¦¥­¨¥ ®ª­ 
  30.         jz red_win
  31.         cmp al,0x2    ;¥á«¨ ­ ¦ â  ª« ¢¨è  â® ¯¥à¥©â¨
  32.         jz key
  33.         cmp al,0x3    ;¥á«¨ ­ ¦ â  ª­®¯ª  â® ¯¥à¥©â¨
  34.         jz button
  35.         mouse_edit_boxes editboxes,editboxes_end
  36.         jmp still    ;¥á«¨ ­¨ç¥£® ¨§ ¯¥à¥ç¨á«¥­­®£® â® á­®¢  ¢ 横«
  37. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  38. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  39. button:
  40.         mcall   17      ;¯®«ãç¨âì ¨¤¥­â¨ä¨ª â®à ­ ¦ â®© ª« ¢¨è¨
  41.         test ah,ah              ;¥á«¨ ¢ ah 0, â® ¯¥à¥©â¨ ­  ®¡à ¡®â稪 ᮡë⨩ still
  42.         jz  still
  43.         mcall   -1
  44. key:
  45.         mcall   2       ;§ £à㧨¬ §­ ç¥­¨¥ 2 ¢ ॣ¨áâ®à eax ¨ ¯®«ã稬 ª®¤ ­ ¦ â®© ª« ¢¨è¨
  46.         key_edit_boxes editboxes,editboxes_end    
  47.     jmp still
  48.  
  49. ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  50. draw_window:            ;à¨á®¢ ­¨¥ ®ª­  ¯à¨«®¦¥­¨ï
  51.         mcall   12,1
  52.         mcall   0,(50*65536+390),(30*65536+200),0xb3AABBCC,0x805080DD,hed
  53.         draw_edit_boxes editboxes,editboxes_end  ;à¨á®¢ ­¨¥ edit box'®¢
  54.         mcall   12,2
  55.     ret
  56. ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  57. ;DATA ¤ ­­ë¥
  58. editboxes:
  59. edit1 edit_box 168,5,10,0xffffff,0x6a9480,0,0,0,99,ed_buffer.2,ed_figure_only
  60. edit2 edit_box 250,5,30,0xffffff,0x6a9480,0,0xAABBCC,0,308,hed,ed_focus,53,53
  61. edit3 edit_box 35,5,50,0xffffff,0x6a9480,0,0,0,9,ed_buffer.3,ed_figure_only
  62. edit4 edit_box 16,5,70,0xffffff,0x6a9480,0,0,0,1,ed_buffer.4,ed_figure_only
  63. editboxes_end:
  64. data_of_code dd 0
  65. mouse_flag dd 0x0
  66. hed db   'EDITBOX optimization and retype <Lrz> date 13.04.2007',0
  67. rb  256
  68. ed_buffer:
  69. ;.1: rb 514;256
  70. .2: rb 101
  71. .3: rb 11
  72. .4: rb 3
  73. ;¤¢  § ¯ á­ëå ¡ ©â  ­¥®¡å®¤¨¬ë ¤«ï ⮣® çâ® ¡ë ­¥ ¯¥¯¥à¥¯¨á âì á«¥¤ãî騥© ¡ ©âë, ¢ ª®­æ¥ ¡ãä¥à  0
  74. buffer_end:
  75. structure_of_potock:
  76. rb 1024 ;1 ª¡ ¤«ï ¯®«ã祭¨ï ®¡é¥© áâàãªâãàë
  77. rb 1024
  78. i_end: