3,7 → 3,6 |
;¯â¨¬¨§¨à®¢ ë© ª®¬¯®¥â EditBox (áå®¤ë© ¢ ਠ⠮â Maxxxx32) |
;¯â¨¬¨§ æ¨ï ª®¬ ¤. |
;<Lrz> - ¥¯«®¢ «¥ªá¥© www.lrz.land.ru |
|
;§ £®«®¢®ª ¯à¨«®¦¥¨ï |
use32 ; âà á«ïâ®à, ¨á¯®«ì§ãî騩 32 à §àï¤ëå ª®¬ ¤ë |
org 0x0 ; ¡ §®¢ë© ¤à¥á ª®¤ , ¢á¥£¤ 0x0 |
15,24 → 14,17 |
dd i_end and not 3 ; ¡ê¥¬ ¨á¯®«ì§ã¥¬®© ¯ ¬ïâ¨, ¤«ï á⥪ ®â¢¥¤¥¬ 0å100 ¡ ©â ¨ ¢ë஢¨¬ £à¨æã 4 ¡ ©â |
dd i_end and not 3 ; à ᯮ«®¦¨¬ ¯®§¨æ¨î á⥪ ¢ ®¡« á⨠¯ ¬ïâ¨, áà §ã § ⥫®¬ ¯à®£à ¬¬ë. ¥àè¨ á⥪ ¢ ¤¨ ¯ §®¥ ¯ ¬ïâ¨, 㪠§ ®¬ ¢ëè¥ |
dd 0x0,0x0 ; 㪠§ ⥫ì áâபã á ¯ à ¬¥âà ¬¨. |
; ¥á«¨ ¯®á«¥ § ¯ã᪠¥à ¢® ã«î, ¯à¨«®¦¥¨¥ ¡ë«® |
; § ¯ã饮 á ¯ à ¬¥âà ¬¨ ¨§ ª®¬ ¤®© áâப¨ |
|
; 㪠§ ⥫ì áâபã, ¢ ª®â®àãî § ¯¨á ¯ãâì, |
; ®âªã¤ § ¯ã饮 ¯à¨«®¦¥¨¥ |
|
include 'macros.inc' |
include 'editbox.inc' |
use_edit_box |
;¡« áâì ª®¤ |
start: ;®çª ¢å®¤ ¢ ¯à®£à ¬¬ã |
mov eax,40 ;ãáâ ®¢¨âì ¬ áªã ¤«ï ®¦¨¤ ¥¬ëå ᮡë⨩ |
mov ebx,0x27 ;á¨á⥬ ¡ã¤¥â ॠ£¨à®¢ âì ⮫쪮 á®®¡é¥¨¥ ® ¯¥à¥à¨á®¢ª¥, ¦ â ª®¯ª , ®¯à¥¤¥«ñ ï à ¥¥, ᮡë⨥ ®â ¬ëè¨ (çâ®-â® á«ã稫®áì - ¦ ⨥ ª®¯ªã ¬ëè¨ ¨«¨ ¯¥à¥¬¥é¥¨¥; á¡à áë¢ ¥âáï ¯à¨ ¯à®ç⥨¨) ¨ ¦ ⨥ ª« ¢¨è¨ |
int 0x40 |
mcall 40,0x27 ;ãáâ ®¢¨âì ¬ áªã ¤«ï ®¦¨¤ ¥¬ëå ᮡë⨩ |
;á¨á⥬ ¡ã¤¥â ॠ£¨à®¢ âì ⮫쪮 á®®¡é¥¨¥ ® ¯¥à¥à¨á®¢ª¥, ¦ â ª®¯ª , ®¯à¥¤¥«ñ ï à ¥¥, ᮡë⨥ ®â ¬ëè¨ (çâ®-â® á«ã稫®áì - ¦ ⨥ ª®¯ªã ¬ëè¨ ¨«¨ ¯¥à¥¬¥é¥¨¥; á¡à áë¢ ¥âáï ¯à¨ ¯à®ç⥨¨) ¨ ¦ ⨥ ª« ¢¨è¨ |
red_win: |
call draw_window ;¯¥à¢® ç «ì® ¥®¡å®¤¨¬® à¨á®¢ âì ®ª® |
still: ;®á®¢®© ®¡à ¡®â稪 |
mov eax,10 ;¦¨¤ âì ᮡëâ¨ï |
int 0x40 ;®¦¨¤ âì ᮡë⨥ ¢ â¥ç¥¨¥ 2 ¬¨««¨á¥ªã¤ |
mcall 10 ;¦¨¤ âì ᮡëâ¨ï ¢ â¥ç¥¨¥ 2 ¬¨««¨á¥ªã¤ |
|
cmp al,0x1 ;¥á«¨ ¨§¬¥¨«®áì ¯®«®¦¥¨¥ ®ª |
jz red_win |
45,48 → 37,34 |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
button: |
mov eax,17 ;¯®«ãç¨âì ¨¤¥â¨ä¨ª â®à ¦ ⮩ ª« ¢¨è¨ |
int 0x40 |
mcall 17 ;¯®«ãç¨âì ¨¤¥â¨ä¨ª â®à ¦ ⮩ ª« ¢¨è¨ |
test ah,ah ;¥á«¨ ¢ ah 0, â® ¯¥à¥©â¨ ®¡à ¡®â稪 ᮡë⨩ still |
jz still |
or eax,-1 ;¢ eax,-1 - 5 ,¡ ©â®¢ ã á ¦¥ ⮫쪮 3 ¢ë©â¨ |
int 0x40 ;¤ «¥¥ ¢ë¯®«ï¥âáï ¢ë室 ¨§ ¯à®£à ¬¬ë |
|
mcall -1 |
key: |
mov eax,2 ;§ £à㧨¬ § 票¥ 2 ¢ ॣ¨áâ®à eax |
int 0x40 ;¯®«ã稬 ª®¤ ¦ ⮩ ª« ¢¨è¨ |
mcall 2 ;§ £à㧨¬ § 票¥ 2 ¢ ॣ¨áâ®à eax ¨ ¯®«ã稬 ª®¤ ¦ ⮩ ª« ¢¨è¨ |
key_edit_boxes editboxes,editboxes_end |
jmp still |
|
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>> |
draw_window: ;à¨á®¢ ¨¥ ®ª ¯à¨«®¦¥¨ï |
mov eax,12 ;¢ ॣ¨áâà ¢¥á⨠§ 票¥ = 12 |
mov ebx,1 ;¯à¨á¢®¨âì 1 |
int 0x40 |
|
xor eax,eax ;®¡ã«¨âì eax |
mov ebx,50*65536+390 ;[ª®®à¤¨ â ¯® ®á¨ x]*65536 + [à §¬¥à ¯® ®á¨ x] |
mov ecx,30*65536+200 ;[ª®®à¤¨ â ¯® ®á¨ y]*65536 + [à §¬¥à ¯® ®á¨ y] |
mov edx,0xb3AABBCC ;0xXYRRGGBB Y =3 - ¢ë¢®¤ à ¬ª¨, ¨á¯®«ì§ãï áªà¨ |
mov esi,0x805080DD ;0xXYRRGGBB - 梥⠧ £®«®¢ª |
mov edi,hed ;ª § ⥫ì áâபã á § £®«®¢ª®¬ |
int 0x40 ; à¨á®¢ âì ®ª® ¯à¨«®¦¥¨ï |
|
mcall 12,1 |
mcall 0,(50*65536+390),(30*65536+200),0xb3AABBCC,0x805080DD,hed |
draw_edit_boxes editboxes,editboxes_end ;à¨á®¢ ¨¥ edit box'®¢ |
|
mov eax,12 ;ãªæ¨ï 12 - ç âì/§ ª®ç¨âì ¯¥à¥à¨á®¢ªã ®ª . |
mov ebx,2 ;®¤äãªæ¨ï 2 - § ª®ç¨âì ¯¥à¥à¨á®¢ªã ®ª . |
int 0x40 |
mcall 12,2 |
ret |
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> |
;DATA ¤ ë¥ |
editboxes: |
edit1 edit_box 168,5,10,0xffffff,0,0,0,99,ed_buffer.2,ed_figure_only |
edit2 edit_box 250,5,30,0xffffff,0,0xAABBCC,0,308,hed,ed_focus,53 |
edit3 edit_box 35,5,50,0xffffff,0,0,0,9,ed_buffer.3,ed_figure_only |
edit4 edit_box 16,5,70,0xffffff,0,0,0,1,ed_buffer.4,ed_figure_only |
edit1 edit_box 168,5,10,0xffffff,0x6a9480,0,0,0,99,ed_buffer.2,ed_figure_only |
edit2 edit_box 250,5,30,0xffffff,0x6a9480,0,0xAABBCC,0,308,hed,ed_focus,53,53 |
edit3 edit_box 35,5,50,0xffffff,0x6a9480,0,0,0,9,ed_buffer.3,ed_figure_only |
edit4 edit_box 16,5,70,0xffffff,0x6a9480,0,0,0,1,ed_buffer.4,ed_figure_only |
editboxes_end: |
data_of_code dd 0 |
mouse_flag dd 0x0 |
hed db 'EDITBOX optimization and retype <Lrz> date 13.04.2007',0 |
rb 256 |
ed_buffer: |
;.1: rb 514;256 |
.2: rb 101 |
94,9 → 72,6 |
.4: rb 3 |
;¤¢ § ¯ áëå ¡ ©â ¥®¡å®¤¨¬ë ¤«ï ⮣® çâ® ¡ë ¥ ¯¥¯¥à¥¯¨á âì á«¥¤ãî騥© ¡ ©âë, ¢ ª®æ¥ ¡ãä¥à 0 |
buffer_end: |
hed db 'EDITBOX optimization and retype <Lrz> date 04.04.2007',0 |
rb 256 |
mouse_flag: dd 0x0 |
structure_of_potock: |
rb 1024 ;1 ª¡ ¤«ï ¯®«ãç¥¨ï ®¡é¥© áâàãªâãàë |
rb 1024 |