/programs/develop/libraries/proc_lib/trunk/opendial.mac |
---|
396,5 → 396,56 |
cld |
ret |
;---------------------------------------------- |
align 4 |
.set_file_name: |
push ebp |
mov ebp,esp |
push eax ecx edi esi |
mov edi,[ebp+8] ;open dlg struct |
mov edi,[edi+40] ;+40 - filename_area |
mov esi,[ebp+12] ;file name |
mov ecx,256 |
;copy file name in dialog |
@@: |
lodsb |
stosb |
test eax,eax |
loop @b |
pop esi edi ecx eax |
pop ebp |
ret 8 |
;---------------------------------------------- |
align 4 |
.set_file_ext: |
push ebp |
mov ebp,esp |
push eax ecx edi esi |
mov esi,[ebp+8] ;open dlg struct |
xor eax,eax |
mov ecx,256 |
mov edi,[esi+40] ;+40 - filename_area |
repne scasb |
@@: ;found position of '.' |
dec edi |
cmp byte[edi],'.' |
je @f |
cmp edi,[esi+40] |
ja @b |
jmp .no_dot |
@@: |
inc edi |
mov esi,[ebp+12] ;file ext |
;copy file ext in dialog |
@@: |
lodsb |
stosb |
test eax,eax |
jnz @b |
.no_dot: |
pop esi edi ecx eax |
pop ebp |
ret 8 |
} |
;***************************************************************************** |
/programs/develop/libraries/proc_lib/trunk/proc_lib.asm |
---|
45,6 → 45,8 |
dd sz_OpenDialog_init, OpenDialog.init |
dd sz_OpenDialog_start, OpenDialog.start |
dd sz_OpenDialog_set_file_name, OpenDialog.set_file_name |
dd sz_OpenDialog_set_file_ext, OpenDialog.set_file_ext |
dd szVersion_OpenDialog, 0x00010001 |
dd sz_ColorDialog_init, ColorDialog.init |
58,6 → 60,8 |
sz_OpenDialog_init db 'OpenDialog_init',0 |
sz_OpenDialog_start db 'OpenDialog_start',0 |
sz_OpenDialog_set_file_name db 'OpenDialog_set_file_name',0 |
sz_OpenDialog_set_file_ext db 'OpenDialog_set_file_ext',0 |
szVersion_OpenDialog db 'Version_OpenDialog',0 |
sz_ColorDialog_init db 'ColorDialog_init',0 |