This simple but fast and short proc will help you easily check if any of windows you specified has not been filled by user.
You can specify as many windows as you want:


IfFieldsEmpty proto C :DWORD,:VARARG

IfFieldsEmpty proc C uses ebx edi pcount:DWORD,hndls:VARARG
LOCAL buffer[4]:BYTE
mov edi,pcount
dec edi
@@:
invoke GetWindowText,dword ptr hndls[edi*4],addr buffer,4
test eax,eax
je @r
dec edi
jns @B
@r: ret
IfFieldsEmpty endp


Usage:
pcount - number of Windows (for example Edit controls) you
need to check if any of them is empty.
hndls - handles of these windows.
return - 0 if any of the windows is not filled,
not zero value if all of them have something in it.
Assuming you need to check 5 Edit controls


.data?
hEdit1 dd ?
hEdit2 dd ?
hEdit3 dd ?
hEdit4 dd ?
hEdit5 dd ?
.code
.......
mov eax,offset hEdit1
invoke IfFieldsEmpty,4,dword ptr [eax],dword ptr [eax+4], dword ptr [eax+8],dword ptr [eax+12],dword ptr [eax+16]
test eax,eax
je @notfilled
;here is code if user filled all

...
@notfilled
;for example some Warning and return
Posted on 2002-02-19 21:56:59 by The Svin