Subversion Repositories Kolibri OS

Rev

Rev 449 | Rev 468 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

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