Это для демонстрации работы ProgressBar.
Программа просто создаёт файлы в папке (edit1) в количестве (edit2).
Attachment:
GenFiles.kex [1.36 KiB]
Downloaded 214 times
Исходник
Attachment:
GenFiles.asm [12.78 KiB]
Downloaded 206 times
Суть в этом месте
Code:
mov [pb.max], ecx
mov [pb.value], dword 0
; draw progressbar
push pb
call [progressbar_draw]
; ------------------------------------- ;
cmp [count], dword 0
jz .done
; SetCurrentDirectory
mov eax, 30
mov ebx, 1
mov ecx, [edit1.text]
int 64
;
mov [status_string], dword sz_doing
call DrawStatus
.do:
CreateNextFile
test eax, eax
jnz .error
; increase progress
push pb
call [progressbar_progress]
; CheckEvent
mov eax, 11
int 64
call [eax * 4 + Events]
dec dword [count]
jnz .do
.done:
mov [status_string], dword sz_done
call DrawStatus
ret
.error:
mov [status_string], dword sz_error
call DrawStatus
ret
Скриншот во время работы:
Attachment:
GenerateFiles.PNG [ 31.49 KiB | Viewed 3846 times ]
Вот, кстати, такой баг обнаружился, иногда создаются файлы с неверными атрибутами, например, месяц ну никак не может быть равен 15. Проявляется примерно 1 из 10000.
Attachment:
15_04_16.png [ 75.66 KiB | Viewed 3846 times ]