Subversion Repositories Kolibri OS

Rev

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

Rev 4213 Rev 4270
Line 6... Line 6...
6
;        11.05.2009 - ¤«ï à ¡®âë ­ã¦­  á¨á⥬­ ï ¡¨¡«¨®â¥ª  box_lib.obj
6
;        11.05.2009 - ¤«ï à ¡®âë ­ã¦­  á¨á⥬­ ï ¡¨¡«¨®â¥ª  box_lib.obj
7
;   Mario79   08.09.2010 - select path with OpenDialog,keys 1,2,3,4 for select options
7
;   Mario79   08.09.2010 - select path with OpenDialog,keys 1,2,3,4 for select options
8
;   Heavyiron 01.12.2013 - new logic
8
;   Heavyiron 01.12.2013 - new logic
9
;---------------------------------------------------------------------
9
;---------------------------------------------------------------------
10
appname equ 'RDsave '
10
appname equ 'RDsave '
11
version equ '1.4'
11
version equ '1.41'
12
debug   equ no
12
debug   equ no
Line 13... Line 13...
13
 
13
 
14
use32        ; ¢ª«îç¨âì 32-¡¨â­ë© ०¨¬  áᥬ¡«¥à 
14
use32        ; ¢ª«îç¨âì 32-¡¨â­ë© ०¨¬  áᥬ¡«¥à 
Line 52... Line 52...
52
 
52
 
Line 53... Line 53...
53
stdcall dll.Init,[init_lib]
53
stdcall dll.Init,[init_lib]
54
 
54
 
-
 
55
invoke  ini_get_int,ini_file,asettings,aautoclose,0
-
 
56
        mov   [autoclose],eax
-
 
57
invoke  ini_get_str,ini_file,apath,apath,fname_buf,4096,path
-
 
58
stdcall _lstrcpy,ini_path,fname_buf
Line 55... Line 59...
55
invoke  ini_get_int,ini_file,asettings,aautoclose,0
59
 
56
        mov   [autoclose],eax
60
stdcall _lstrcpy,filename_area,start_temp_file_name
57
 
61
 
58
        mov   ecx,PARAMS
62
        mov   eax,PARAMS
59
        cmp   byte[ecx], 0
63
        cmp   byte[eax], 0
60
        je    no_params
64
        je    no_params
61
        cmp   byte[ecx], 'h'
65
        cmp   byte[eax], 'h'
62
        je    @f
66
        je    @f
63
        cmp   byte[ecx], 'H'
67
        cmp   byte[eax], 'H'
64
        jne   .no_h
68
        jne   .no_h
65
@@:
69
@@:
66
        mov   [hidden],1
70
        mov   [hidden],1
-
 
71
        jmp   no_params
-
 
72
.no_h:
67
        jmp   no_params
73
        mov   [param],1
68
.no_h:
74
        stdcall _lstrcpy,fname_buf,eax
Line 69... Line -...
69
        mov   [param],1
-
 
70
        mov   ah,2
-
 
71
        jmp   noclose
-
 
72
 
-
 
73
no_params:
-
 
74
 
-
 
75
invoke  ini_get_str,ini_file,apath,apath,fname_buf,4096,path
75
        xor   eax,eax
-
 
76
        mov   ah,2
76
 
77
        jmp   noclose
77
stdcall _lstrcpy,filename_area,start_temp_file_name
78
 
78
 
79
;---------------------------------------------------------------------
79
;---------------------------------------------------------------------
80
no_params:
80
stdcall _lstrcpy,check_dir,fname_buf
81
stdcall _lstrcpy,check_dir,ini_path
81
        call    check_path
82
        call    check_path
Line 118... Line 119...
118
        mcall   40,0x00000027
119
        mcall   40,0x00000027
Line 119... Line 120...
119
 
120
 
120
        cmp     [hidden],1
121
        cmp     [hidden],1
121
        jne     red
122
        jne     red
122
        mov     ah,2
-
 
123
        mov     ecx,fname_buf
123
        mov     ah,2
124
        jmp     noclose
124
        jmp     noclose
125
red:
125
red:
126
        call    draw_window
126
        call    draw_window
127
;---------------------------------------------------------------------
127
;---------------------------------------------------------------------
Line 138... Line 138...
138
;---------------------------------------------------------------------
138
;---------------------------------------------------------------------
139
button:
139
button:
140
        mcall   17      ; ¯®«ãç¨âì ¨¤¥­â¨ä¨ª â®à ­ ¦ â®© ª­®¯ª¨
140
        mcall   17      ; ¯®«ãç¨âì ¨¤¥­â¨ä¨ª â®à ­ ¦ â®© ª­®¯ª¨
141
        dec     ah
141
        dec     ah
142
        jz      close
142
        jz      close
143
        mov     ecx,fname_buf
-
 
144
        cmp     ah,1             ; ª­®¯ª  á id=1("§ ªàëâì")?
143
        cmp     ah,1             ; ª­®¯ª  á id=1("§ ªàëâì")?
145
        jne     noclose
144
        jne     noclose
146
close:
145
close:
147
        or       eax,-1          ; äã­ªæ¨ï -1: § ¢¥àè¨âì ¯à®£à ¬¬ã
146
        or       eax,-1          ; äã­ªæ¨ï -1: § ¢¥àè¨âì ¯à®£à ¬¬ã
148
        mcall
147
        mcall
149
;---------------------------------------------------------------------
148
;---------------------------------------------------------------------
150
key:
149
key:
151
        mcall   2
150
        mcall   2
152
        cmp     ah,0x1b
151
        cmp     ah,0x1b
153
        je      close
152
        je      close
154
        mov     ecx,fname_buf
-
 
155
        cmp     ah,0x0D
153
        cmp     ah,0x0D
156
        jne     @f
154
        jne     @f
157
        mov     ah,2
155
        mov     ah,2
158
        jmp     noclose
156
        jmp     noclose
159
@@:
157
@@:
160
        cmp     ah,9h
158
        cmp     ah,9h
161
        jne     still
159
        jne     still
162
;---------------------------------------------------------------------
160
;---------------------------------------------------------------------
163
noclose:
161
noclose:
-
 
162
        mov     ecx,fname_buf
164
        push  16
163
        push  16
165
        mov   ebx,1
164
        mov   ebx,1
166
        cmp   byte[ecx+1],'f'
165
        cmp   byte[ecx+1],'f'
167
        je    @f
166
        je    @f
168
        cmp   byte[ecx+1],'F'
167
        cmp   byte[ecx+1],'F'
Line 195... Line 194...
195
        mov     ecx,fname_buf
194
        mov     ecx,fname_buf
196
        mov     ah,2
195
        mov     ah,2
197
        jmp     noclose
196
        jmp     noclose
Line 198... Line 197...
198
 
197
 
-
 
198
doit:
-
 
199
        cmp     [param],0
199
doit:
200
        jne     @f
-
 
201
        call    save_ini
-
 
202
@@:
-
 
203
        cmp   byte[ecx+1],'r'
-
 
204
        je    @f
-
 
205
        cmp   byte[ecx+1],'R'
-
 
206
        jne   not_rd
-
 
207
@@:
-
 
208
        mov   edx,rdError
-
 
209
        call  print_err
-
 
210
        cmp     [param],1
-
 
211
        je      @f
-
 
212
        jmp     still
-
 
213
@@:
-
 
214
        mov     [param],0
-
 
215
        jmp     no_params
200
        call    save_ini
216
not_rd:
201
        pop     eax
217
        pop     eax
202
        mcall
218
        mcall
203
        call    check_for_error
219
        call    check_for_error
204
        cmp     [param],1
220
        cmp     [param],1
205
        je      @f
221
        je      @f
206
        jmp     still
222
        jmp     still
-
 
223
@@:
207
@@:
224
        mov     [param],0
Line 208... Line 225...
208
        jmp     no_params
225
        jmp     no_params
209
 
226
 
210
;---------------------------------------------------------------------
227
;---------------------------------------------------------------------
Line 217... Line 234...
217
        cmp     ebx,6
234
        cmp     ebx,6
218
        je      @f
235
        je      @f
219
        mov     edx,error11
236
        mov     edx,error11
220
        jmp     print_err
237
        jmp     print_err
221
@@:     
238
@@:     
222
        mov     edi, error_msg
-
 
223
        cmp     eax, 11
239
        cmp     eax, 11
224
        ja      .unknown
240
        ja      .unknown
225
        mov     esi, [errors+eax*4]
241
        mov     edx, [errors+eax*4]
226
@@:
-
 
227
        lodsb
-
 
228
        stosb
-
 
229
        test    al, al
242
        stdcall _lstrcat,error_msg,edx
230
        jnz     @b
-
 
231
        mov     edx, error_msg
243
        mov     edx, error_msg
232
        jmp     print_err
244
        jmp     print_err
233
.unknown:
245
.unknown:
234
        mov     edx, aUnknownError
246
        mov     edx, aUnknownError
235
print_err:
247
print_err:
-
 
248
        pushad
-
 
249
        stdcall _lstrlen,ini_path
-
 
250
        invoke  ini_set_str,ini_file,apath,apath,ini_path,eax
-
 
251
        stdcall _lstrcpy,fname_buf,ini_path
-
 
252
        popad
-
 
253
        cmp     [hidden],1
-
 
254
        je      @f
-
 
255
        cmp     [param],1
-
 
256
        je      @f
-
 
257
        stdcall _lstrlen,edx
-
 
258
        imul    eax,6
-
 
259
        mov     ebx,390
-
 
260
        sub     ebx,eax
-
 
261
        sar     ebx,1
-
 
262
        shl     ebx,16
-
 
263
        add     ebx,96
-
 
264
        mov     ecx,[sc.work_text]
-
 
265
        or      ecx,0xc0880000
-
 
266
        mcall   4, , , , ,[sc.work]
-
 
267
        ret
-
 
268
@@:
236
        mov   dword [is_notify + 8], edx
269
        mov     dword [is_notify + 8], edx
237
        mcall 70, is_notify
270
        mcall   70, is_notify
238
        ret
271
        ret
239
print_ok:
272
print_ok:
240
        mov   dword [is_notify + 8], edx
-
 
241
        mcall 70, is_notify
-
 
242
        cmp     [hidden],1
273
        cmp     [hidden],1
243
        je      close
-
 
244
        cmp   [autoclose],0
-
 
245
        je   @f
274
        je       @f
-
 
275
        cmp     [param],1
-
 
276
        je       @f
-
 
277
        stdcall _lstrlen,edx
-
 
278
        imul    eax,6
-
 
279
        mov     ebx,390
-
 
280
        sub     ebx,eax
-
 
281
        sar     ebx,1
-
 
282
        shl     ebx,16
-
 
283
        add     ebx,96
-
 
284
        mov     ecx,[sc.work_text]
-
 
285
        or      ecx,0xc0008800
-
 
286
        mcall   4, , , , ,[sc.work]
246
        mcall 5,50
287
        mcall   5,100
-
 
288
        cmp     [autoclose],1
247
        jmp   close
289
        je      close
248
@@:
-
 
249
        ret
290
        ret
-
 
291
@@:
-
 
292
        mov     dword [is_notify + 8], edx
-
 
293
        mcall   70, is_notify
-
 
294
        mcall   5,100
-
 
295
        jmp     close
250
;---------------------------------------------------------------------
296
;---------------------------------------------------------------------
251
draw_PathShow:
297
draw_PathShow:
252
        pushad
298
        pushad
253
        mcall   13,<15,280>,<32,16>,0xffffff
299
        mcall   13,<15,280>,<32,16>,0xffffff
254
        push    dword PathShow_data_1
300
        push    dword PathShow_data_1
Line 288... Line 334...
288
draw_window:
334
draw_window:
289
        mcall   12,1
335
        mcall   12,1
Line 290... Line 336...
290
 
336
 
291
        mov     edx,[sc.work]
337
        mov     edx,[sc.work]
292
        or      edx,0x34000000
338
        or      edx,0x34000000
Line 293... Line 339...
293
        mcall   0,<200,400>,<200,120>, , ,title
339
        mcall   0,<200,400>,<200,130>, , ,title
294
 
340
 
295
;buttons
341
;buttons
296
        mcall   8,<198,70>,<68,20>,2,[sc.work_button]
342
        mcall   8,<198,70>,<68,20>,2,[sc.work_button]
Line 335... Line 381...
335
error8          db '„¨áª § ¯®«­¥­',0
381
error8          db '„¨áª § ¯®«­¥­',0
336
error9          db '” ©«®¢ ï áâàãªâãà  à §àã襭 ',0
382
error9          db '” ©«®¢ ï áâàãªâãà  à §àã襭 ',0
337
error10         db '„®áâ㯠§ ¯à¥éñ­',0
383
error10         db '„®áâ㯠§ ¯à¥éñ­',0
338
error11         db 'Žè¨¡ª  ãáâனá⢠',0
384
error11         db 'Žè¨¡ª  ãáâனá⢠',0
339
aUnknownError   db  '¥¨§¢¥áâ­ ï ®è¨¡ª ',0
385
aUnknownError   db '¥¨§¢¥áâ­ ï ®è¨¡ª ',0
-
 
386
rdError         db '¥«ì§ï á®åà ­ïâì ®¡à § ¢ á ¬®£® ᥡï',0
-
 
387
error_msg       db 'Žè¨¡ª : ',0
340
;---------------------------------------------------------------------
388
;---------------------------------------------------------------------
341
else if lang eq et
389
else if lang eq et
342
save            db 'Salvesta',0
390
save            db 'Salvesta',0
343
cansel          db 'Cansel',0
391
cansel          db 'Cansel',0
344
select          db ' Valige',0
392
select          db ' Valige',0
Line 354... Line 402...
354
error8          db 'Ketas täis',0
402
error8          db 'Ketas täis',0
355
error9          db 'FAT tabel vigane',0
403
error9          db 'FAT tabel vigane',0
356
error10         db 'Juurdepääs keelatud',0
404
error10         db 'Juurdepääs keelatud',0
357
error11         db 'Seadme viga',0
405
error11         db 'Seadme viga',0
358
aUnknownError   db 'Tundmatu viga',0
406
aUnknownError   db 'Tundmatu viga',0
-
 
407
rdError         db 'You can't save image on itself',0
-
 
408
error_msg       db 'Viga: ',0
359
;---------------------------------------------------------------------
409
;---------------------------------------------------------------------
360
else if lang eq it
410
else if lang eq it
361
save            db '  Salva',0
411
save            db '  Salva',0
362
cansel          db 'Cansel',0
412
cansel          db 'Cansel',0
363
select          db 'Seleziona',0
413
select          db 'Seleziona',0
Line 373... Line 423...
373
error8          db 'Disco pieno',0
423
error8          db 'Disco pieno',0
374
error9          db 'Tabella FAT corrotta',0
424
error9          db 'Tabella FAT corrotta',0
375
error10         db 'Accesso negato',0
425
error10         db 'Accesso negato',0
376
error11         db 'Errore di device',0
426
error11         db 'Errore di device',0
377
aUnknownError   db 'Errore sconosciuto',0
427
aUnknownError   db 'Errore sconosciuto',0
-
 
428
rdError         db 'You can't save image on itself',0
-
 
429
error_msg       db 'Errore: ',0
378
;---------------------------------------------------------------------
430
;---------------------------------------------------------------------
379
else
431
else
380
save            db '  Save',0
432
save            db '  Save',0
381
cansel          db 'Cansel',0
433
cansel          db 'Cansel',0
382
select          db ' Select',0
434
select          db ' Select',0
Line 392... Line 444...
392
error8          db 'Disk is full',0
444
error8          db 'Disk is full',0
393
error9          db 'File structure is destroyed',0
445
error9          db 'File structure is destroyed',0
394
error10         db 'Access denied',0
446
error10         db 'Access denied',0
395
error11         db 'Device error',0
447
error11         db 'Device error',0
396
aUnknownError   db 'Unknown error',0
448
aUnknownError   db 'Unknown error',0
397
 
-
 
-
 
449
rdError         db 'You can't save image on itself',0
-
 
450
error_msg       db 'Error: ',0
398
end if
451
end if
399
 
-
 
400
title   db appname,version,0
-
 
401
;---------------------------------------------------------------------
452
;---------------------------------------------------------------------
402
errors:
453
errors:
403
        dd      ok
454
        dd      ok
404
        dd      error1
455
        dd      error1
405
        dd      error2
456
        dd      error2
Line 411... Line 462...
411
        dd      error8
462
        dd      error8
412
        dd      error9
463
        dd      error9
413
        dd      error10
464
        dd      error10
414
        dd      error11
465
        dd      error11
415
;---------------------------------------------------------------------
466
;---------------------------------------------------------------------
-
 
467
 
-
 
468
title   db appname,version,0
-
 
469
 
416
;Lib_DATA
470
;Lib_DATA
417
;‚ᥣ¤  ᮡ«î¤ âì ¯®á«¥¤®¢ â¥«ì­®áâì ¢ ¨¬¥­¨.
471
;‚ᥣ¤  ᮡ«î¤ âì ¯®á«¥¤®¢ â¥«ì­®áâì ¢ ¨¬¥­¨.
418
system_dir_Boxlib       db '/sys/lib/box_lib.obj',0
472
system_dir_Boxlib       db '/sys/lib/box_lib.obj',0
419
system_dir_ProcLib      db '/sys/lib/proc_lib.obj',0
473
system_dir_ProcLib      db '/sys/lib/proc_lib.obj',0
420
system_dir_libini       db '/sys/lib/libini.obj',0
474
system_dir_libini       db '/sys/lib/libini.obj',0
Line 599... Line 653...
599
check_dir:
653
check_dir:
600
        rb 4096
654
        rb 4096
Line 601... Line 655...
601
 
655
 
Line 602... Line -...
602
sc     system_colors
-
 
603
 
-
 
604
;mouse_dd  rd 1
656
sc     system_colors
Line 605... Line -...
605
 
-
 
606
autoclose rd 1
-
 
607
 
657
 
608
error_msg rb 128
658
autoclose rd 1
609
 
659
 
610
folder_data:
660
folder_data:
611
        rb 304*32+32 ; 9 Kb
661
        rb 304*32+32 ; 9 Kb