如何区分数字与字母
判断输入的是字母还是数字 请问这个判断语句该怎么写呀??var
vStr: string;
vChar: string;
begin
result := True;
vStr :=S;
while vStr <> '' do
begin
vChar :=copy(vStr,0,1);
vStr := copy(vStr, 2, length(vStr) - 1);
if not (((vChar>='a') and (vChar<='z')) or ((vChar>='A') and (vChar<='Z'))) then
begin
result := False;
break;
end;
end;
end;
function Checknum(S: string): Boolean;
var
vStr: string;
vChar: string;
begin
result := True;
vStr := S;
while vStr <> '' do
begin
vChar := copy(vStr, 0, 1);
vStr := copy(vStr, 2, length(vStr) - 1);
try
StrToInt(vChar);
except
result := False;
break;
end;
end;
end;
只接受数字键入的 Edit 控件
在KeyPress 事件中添加如下代码,Edit1 将只能键入数字,并且可以按退格键删除:procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if ((key<'0') or (key>'9')) and (key<>#8) then
key:=#0;
end;
键入不允许的字符时将不被接收,相当于没有按键;
其中:#8为退格键
若要处理浮点数,还可放宽限制,如允许小数点和%等,不过要限制输入多个小数点和%,并且应该不允许第一个字符为非数字字符,情况稍复杂一些。
百分号为#37
小数点用字符串形式即可:'.'
[[italic] 本帖最后由 provoke 于 2007-12-3 12:42 编辑 [/italic]] 根据ASCII码为进行判断不就行了! 根据ASCII码为进行判断不就行了
这个我不会...[em04] [em04]
ASC码
if (key>#48)and(key<#57) thenApplication.MessageBox('输入的是数字','提示',MB_OK);
if ((key>#65)and(key<#90))or((key>#97)and(key<#122)) then
Application.MessageBox('输入的是字母','提示',MB_OK);
页:
[1]
