Subversion Repositories Kolibri OS

Rev

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

Rev 2091 Rev 2139
Line -... Line 1...
-
 
1
;;      h2d2b v0.4 use editbox by IgorA     ;;
-
 
2
;;      30.08.2011                          ;;
-
 
3
 
1
;;      h2d2b v0.3 system colors by Leency  ;;
4
;;      h2d2b v0.3 system colors by Leency  ;;
2
;;      21.08.2011                          ;;
5
;;      21.08.2011                          ;;
Line 3... Line 6...
3
 
6
 
4
;;      hex2dec2bin 0.2 by Alexei Ershov    ;;
7
;;      hex2dec2bin 0.2 by Alexei Ershov    ;;
Line 5... Line 8...
5
;;      16.11.2006                          ;;
8
;;      16.11.2006                          ;;
6
 
9
 
7
use32
10
use32
8
    org 0x0
11
    org 0x0
Line 9... Line 12...
9
    db  'MENUET01'
12
    db  'MENUET01'
10
    dd  0x01,start,i_end,e_end,e_end,0,0
13
    dd  0x01,start,i_end,e_end,e_end,0,sys_path
-
 
14
 
-
 
15
include '../../../proc32.inc'
-
 
16
include '../../../macros.inc' ; ¬ ªà®áë ®¡«¥£ç îâ ¦¨§­ì  áᥬ¡«¥à騪®¢!
Line -... Line 17...
-
 
17
include '../../../develop/libraries/box_lib/load_lib.mac'
Line 11... Line 18...
11
 
18
include '../../../develop/libraries/box_lib/trunk/box_lib.mac'
-
 
19
include 'lang.inc'
-
 
20
 
-
 
21
@use_library
-
 
22
 
-
 
23
start:
-
 
24
	load_libraries l_libs_start,l_libs_end
12
include '../../../proc32.inc'
25
	;¯à®¢¥àª  ­  ᪮«ìª® 㤠筮 § £ã§¨« áì ­ è  ¡¨¡«¨®â¥ª 
-
 
26
	mov	ebp,lib_0
-
 
27
	cmp	dword [ebp+ll_struc_size-4],0
-
 
28
	jz	@f
Line -... Line 29...
-
 
29
		mcall -1 ;exit not correct
13
include '../../../macros.inc' ; ìàêðîñû îáëåã÷àþò æèçíü àññåìáëåðùèêîâ!
30
	@@:
Line 14... Line 31...
14
 
31
	mcall 40,0x27
15
 
32
	mcall 48, 3, sys_colors, 40
Line 16... Line 33...
16
start:
33
	edit_boxes_set_sys_color edit1,editboxes_end,sys_colors
17
red:
34
 
18
 
35
red:
19
    call draw_window
36
    call draw_window
20
 
37
 
21
still:
38
still:
-
 
39
    mcall 10		; äã­ªæ¨ï 10 - ¦¤ âì ᮡëâ¨ï
-
 
40
 
Line 22... Line 41...
22
    mcall 10		; ôóíêöèÿ 10 - æäàòü ñîáûòèÿ
41
    cmp  eax,1		; ¯¥à¥à¨á®¢ âì ®ª­® ?
Line 23... Line 42...
23
 
42
    je	 red		; ¥á«¨ ¤  - ­  ¬¥âªã red
Line 24... Line 43...
24
    cmp  eax,1		; ïåðåðèñîâàòü îêíî ?
43
    cmp  eax,2		; ­ ¦ â  ª« ¢¨è  ?
25
    je	 red		; åñëè äà - íà ìåòêó red
-
 
26
    cmp  eax,2		; íàæàòà êëàâèøà ?
44
    je	 key		; ¥á«¨ ¤  - ­  key
27
    je	 key		; åñëè äà - íà key
-
 
28
    cmp  eax,3		; íàæàòà êíîïêà ?
-
 
29
    je	 button 	; åñëè äà - íà button
-
 
30
 
-
 
31
    jmp  still		; åñëè äðóãîå ñîáûòèå - â íà÷àëî öèêëà
-
 
32
 
-
 
33
;---------------------------------------------------------------------
-
 
34
 
-
 
35
key:		       ; íàæàòà êëàâèøà íà êëàâèàòóðå
-
 
36
    mov   eax, 2
-
 
37
    mcall
-
 
38
    mov   edi, [index]
-
 
39
    cmp   edi, string1
-
 
40
    jz	  no_back
-
 
41
 
-
 
42
    cmp   ah, 8
-
 
43
    jnz   no_back
-
 
44
 
-
 
45
    dec   edi
-
 
46
    mov   byte [edi], ' '
-
 
47
    mov   [index], edi
45
    cmp  eax,3		; ­ ¦ â  ª­®¯ª  ?
48
    call  Draw_String
-
 
49
    jmp   still
46
    je	 button 	; ¥á«¨ ¤  - ­  button
Line 50... Line 47...
50
no_back:
47
    cmp  eax,6
51
    cmp   ah, 13
48
    je	 mouse
52
    jz	  read_str
49
 
Line 91... Line 88...
91
    jbe   @f
88
    jbe   @f
92
    sub   dl, 'A'-'9'-1
89
    sub   dl, 'A'-'9'-1
93
@@:
90
@@:
94
    cmp   dl, bl
91
    cmp   dl, bl
95
    jb	  @f
92
    jb	  @f
96
    ; Çäåñü îáðàáîòàòü îøèáêó
93
    ; ‡¤¥áì ®¡à ¡®â âì ®è¨¡ªã
Line 97... Line 94...
97
 
94
 
98
    jmp   .done
95
    jmp   .done
99
@@:
96
@@:
100
    push  ecx
97
    push  ecx
Line 106... Line 103...
106
    xchg  eax, ecx
103
    xchg  eax, ecx
107
    dec   edi
104
    dec   edi
108
    jmp   next_digit
105
    jmp   next_digit
Line 109... Line 106...
109
 
106
 
110
.done:
107
.done:
111
   mov	  [num], eax	; ñîõðàíÿåì ââåäåííîå ÷èñëî
-
 
112
   xor	  eax, eax
-
 
113
   mov	  al, ' '
-
 
114
   mov	  edi, string1
-
 
115
   mov	  [index], edi
-
 
116
   mov	  ecx, string1_end-string1
-
 
117
   rep	  stosb 	; ñòèðàåì ââåäåííóþ ñòðîêó
108
   mov	  [num], eax	; á®å࠭塞 ¢¢¥¤¥­­®¥ ç¨á«®
Line 118... Line 109...
118
   jmp	  red
109
   jmp	  red
Line 119... Line 110...
119
 
110
 
120
;---------------------------------------------------------------------
111
;---------------------------------------------------------------------
121
 
112
 
122
  button:
113
button:
123
    mcall 17		; 17 - ïîëó÷èòü èäåíòèôèêàòîð íàæàòîé êíîïêè
114
	mcall 17		; 17 - ¯®«ãç¨âì ¨¤¥­â¨ä¨ª â®à ­ ¦ â®© ª­®¯ª¨
124
    cmp   ah, 1 	; åñëè ÍÅ íàæàòà êíîïêà ñ íîìåðîì 1,
115
	cmp   ah, 1 	; ¥á«¨ … ­ ¦ â  ª­®¯ª  á ­®¬¥à®¬ 1,
125
    jne   @f
116
	jne   @f
126
    mcall -1
117
		mcall -1
Line 134... Line 125...
134
    jne   @f
125
	jne @f
135
    shr   [num], 1
126
		shr [num], 1
136
    jmp   red
127
		jmp red
137
@@:
128
	@@:
138
    cmp   ah, 4
129
	cmp ah, 4
139
    jne   still
130
	jne @f
140
    sar   [num], 1
131
		sar [num], 1
141
    jmp   red
132
		jmp red
-
 
133
	@@:
-
 
134
	cmp ah, 5
-
 
135
	jne @f
-
 
136
		mov edi,string1
-
 
137
		add edi,[edit1.size] ;ãáâ ­ ¢«¨¢ ¥¬ ¢ edi ª®­¥æ áâப¨
-
 
138
		jmp read_str
-
 
139
		;jmp red
-
 
140
	@@:
-
 
141
	jmp still
-
 
142
 
-
 
143
mouse:
-
 
144
	stdcall [edit_box_mouse], edit1
-
 
145
	jmp still
Line 142... Line 146...
142
 
146
 
143
;------------------------------------------------
147
;------------------------------------------------
144
    draw_window:
148
    draw_window:
145
;------------------------------------------------
149
;------------------------------------------------
Line 151... Line 155...
151
	;mov	esi, 0x80000000
155
	;mov	esi, 0x80000000
152
	;or	esi, [sys_colors.grab_text]
156
	;or	esi, [sys_colors.grab_text]
153
    mcall 0, 200*65536+300, 200*65536+175, ,,title
157
    mcall 0, 200*65536+300, 200*65536+175, ,,title
Line 154... Line 158...
154
 
158
 
155
	
159
	
156
    mcall  8, 15      *65536+ 38, 90*65536+ 15, 2, [sys_colors.work_button] ; êíîïêà shl
160
    mcall  8, 15      *65536+ 38, 90*65536+ 15, 2, [sys_colors.work_button] ; ª­®¯ª  shl
157
    mcall  ,		       ,110*65536+ 15,	,	   ; êíîïêà sal
161
    mcall  ,		       ,110*65536+ 15,	,	   ; ª­®¯ª  sal
-
 
162
    mcall  , (300-53)*65536+ 38, 90*65536+ 15, 3,	   ; ª­®¯ª  shr
Line 158... Line 163...
158
    mcall  , (300-53)*65536+ 38, 90*65536+ 15, 3,	   ; êíîïêà shr
163
    mcall  ,		       ,110*65536+ 15, 4,	   ; ª­®¯ª  sar
159
    mcall  ,		       ,110*65536+ 15, 4,	   ; êíîïêà sar
164
    mcall  ,		       ,145*65536+ 15, 5,	   ; ª­®¯ª  Ok
160
 
165
 
161
	mov	ecx, 0x80000000
166
	mov	ecx, 0x80000000
Line 170... Line 175...
170
	or	ecx, [sys_colors.work_button_text]
175
	or	ecx, [sys_colors.work_button_text]
171
    mcall  ,	   26*65536+94, 	, shlstr,3
176
    mcall  ,	   26*65536+94, 	, shlstr,3
172
    mcall  , (300-42)*65536+94, 	, shrstr,
177
    mcall  , (300-42)*65536+94, 	, shrstr,
173
    mcall  ,	   26*65536+114,	, salstr,
178
    mcall  ,	   26*65536+114,	, salstr,
174
    mcall  , (300-42)*65536+114,	, sarstr,
179
    mcall  , (300-42)*65536+114,	, sarstr,
-
 
180
	mcall  , (300-42)*65536+149,	, Okstr,
175
    mov    ecx, [num]
181
    mov    ecx, [num]
Line 176... Line 182...
176
 
182
 
177
	
183
	
178
    mcall  47, 8*65536+256,,240*65536+72,[sys_colors.work_text]    ; 16-íàÿ
184
    mcall  47, 8*65536+256,,240*65536+72,[sys_colors.work_text]    ; 16-­ ï
179
    mcall    , 10*65536,   ,228*65536+44,     ; 10-íàÿ
185
    mcall    , 10*65536,   ,228*65536+44,     ; 10-­ ï
180
    mcall    , 8*65536+512,,240*65536+30,     ; 2-íàÿ
186
    mcall    , 8*65536+512,,240*65536+30,     ; 2-­ ï
181
    ror    ecx, 8
187
    ror    ecx, 8
182
    mcall    ,		  ,,(240-56)*65536+30,
188
    mcall    ,		  ,,(240-56)*65536+30,
183
    ror    ecx, 8
189
    ror    ecx, 8
Line 188... Line 194...
188
    mov    [minus], '+'
194
    mov    [minus], '+'
189
    jnc    @f
195
    jnc    @f
190
    mov    [minus], '-'
196
    mov    [minus], '-'
191
    neg    ecx
197
    neg    ecx
192
@@:
198
@@:
193
    mcall   ,  10*65536,,228*65536+58,	      ; 10-íàÿ ñî çíàêîì
199
    mcall   ,  10*65536,,228*65536+58,	      ; 10-­ ï á® §­ ª®¬
194
    mcall  4, 222*65536+58, 0, minus, 1
200
    mcall  4, 222*65536+58, 0, minus, 1
195
    mcall 38, 15*65536+300-15, 137*65536+137, [sys_colors.work_graph]
201
    mcall 38, 15*65536+300-15, 137*65536+137, [sys_colors.work_graph]
196
    call   Draw_String
202
	stdcall [edit_box_draw], edit1
197
    mcall 12, 2 		   ; ôóíêöèÿ 12: ñîîáùèòü ÎÑ îá îòðèñîâêå îêíà
203
    mcall 12, 2 		   ; äã­ªæ¨ï 12: á®®¡é¨âì Ž‘ ®¡ ®âà¨á®¢ª¥ ®ª­ 
Line 198... Line 204...
198
 
204
 
Line 199... Line -...
199
ret
-
 
200
 
-
 
201
;-------------------------------------------------
-
 
202
    Draw_String:
-
 
203
;-------------------------------------------------
-
 
204
 
-
 
205
     mcall   4, 60*65536+150, 0x40A40473, \
-
 
Line 206... Line 205...
206
	     string1,string1_end-string1,0x00AABBCC
205
ret
207
     ret
206
 
208
 
207
 
209
;-------------------------------------------------
208
;-------------------------------------------------
Line 242... Line 241...
242
 
241
 
243
;-------------------------------------------------
242
;-------------------------------------------------
244
string1:
243
string1:
245
  db  34 dup(' ')
244
  db  34 dup(' ')
246
string1_end:
-
 
247
  index dd string1
245
string1_end:
Line 248... Line 246...
248
  num	dd  0
246
  num	dd  0
249
 
247
 
250
 
-
 
251
 title db 'hex2dec2bin 0.3',0
248
 
252
 minus	db '-',0
249
 title db 'hex2dec2bin 0.4',0
253
 numstr db 'Number:',0
250
 minus	db '-',0
254
 hexstr db 'hex:',0
251
 hexstr db 'hex:',0
255
 binstr db 'bin:',0
252
 binstr db 'bin:',0
256
 decstr db 'dec:',0
253
 decstr db 'dec:',0
257
sdecstr db 'signed dec:',0
254
 sdecstr db 'signed dec:',0
258
 shlstr db 'shl',0
255
 shlstr db 'shl',0
Line -... Line 256...
-
 
256
 salstr db 'sal',0
-
 
257
 shrstr db 'shr',0
-
 
258
 sarstr db 'sar',0
-
 
259
 
-
 
260
if lang eq ru
-
 
261
	numstr db '—¨á«®:',0
-
 
262
	Okstr db '‚¢®¤',0
-
 
263
	head_f_i:
-
 
264
	head_f_l db '‘¨á⥬­ ï ®è¨¡ª ',0
-
 
265
else
-
 
266
	numstr db 'Number:',0
-
 
267
	Okstr db 'Ok',0
-
 
268
	head_f_i:
-
 
269
	head_f_l db 'System error',0
-
 
270
end if
-
 
271
 
-
 
272
mouse_dd dd 0
-
 
273
edit1 edit_box 182, 59, 146, 0xffffff, 0xff, 0x80ff, 0, 0x8000, (string1_end-string1), string1, mouse_dd, 0
-
 
274
editboxes_end:
-
 
275
 
-
 
276
system_dir_0 db '/sys/lib/'
-
 
277
lib_name_0 db 'box_lib.obj',0
-
 
278
err_msg_found_lib_0 db '¥ ­ ©¤¥­  ¡¨¡«¨®â¥ª  ',39,'box_lib.obj',39,0
-
 
279
err_msg_import_0 db 'Žè¨¡ª  ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ ',39,'box_lib',39,0
-
 
280
 
-
 
281
l_libs_start:
-
 
282
	lib_0 l_libs lib_name_0, sys_path, library_path, system_dir_0,\
-
 
283
		err_msg_found_lib_0,head_f_l,import_box_lib,err_msg_import_0,head_f_i
-
 
284
l_libs_end:
-
 
285
 
-
 
286
align 4
-
 
287
import_box_lib:
-
 
288
	;dd sz_init1
-
 
289
	edit_box_draw dd sz_edit_box_draw
-
 
290
	edit_box_key dd sz_edit_box_key
-
 
291
	edit_box_mouse dd sz_edit_box_mouse
-
 
292
	;edit_box_set_text dd sz_edit_box_set_text
-
 
293
dd 0,0
-
 
294
	;sz_init1 db 'lib_init',0
-
 
295
	sz_edit_box_draw db 'edit_box',0
259
 salstr db 'sal',0
296
	sz_edit_box_key db 'edit_box_key',0
260
 shrstr db 'shr',0
297
	sz_edit_box_mouse db 'edit_box_mouse',0
261
 sarstr db 'sar',0
298
	;sz_edit_box_set_text db 'edit_box_set_text',0
262
 
-
 
-
 
299
 
-
 
300
i_end:
263
i_end:
301
 sys_colors		system_colors