这时很久之前学习Win32下的汇编程序是碰到问题,搁置很久。
------解决方案--------------------------------------------------------
用窗口子类化,限制输入的字符。
如果是汇编写的的话,转换为为数字,WINDOWS里应该有函数能做到,自己写的话,就看看ASCII码表吧!
------解决方案--------------------------------------------------------
可以自己判断啊,字符ASCII码在30-39之间就是数字了,然后再用_atoi()(_宽字符wtoi())就可以转换为数值了。
------解决方案--------------------------------------------------------
_checknum proc buff:dword,b_size:dword
mov edx,buff
xor ecx,ecx
b_loop:
mov al,[edx+ecx]
cmp al, '0 '
jb over
cmp al, '9 '
jg over
cmp ecx,b_size
je ok_isnum
inc ecx
jmp b_loop
over:
xor eax,eax
ret
ok_isnum:
mov eax,1
ret
_checknum endp
上面是判断函数,是数字的话,返回1
随便写的代码,可能有些乱了。
如果是有负数,只要在开头判断是不是 '- '就可以了