这段程序实现的是识别Edit输入的是数字还是汉字,请大哥帮我注释下
var
a,b,c:Integer;
d:String;
begin
a:=Length(Edit1.Text);
c:=0;
for b:=1 to a do //?
begin
d:=Copy(Edit1.Text,b,1); //Copy()是做什么的?
if (d='0') or (d<='9') then //?
begin
c:=c+1; //?
end;
end;
if c=Length(Edit1.Text) then //?
begin
ShowMessage('1');
end
else
begin
ShowMessage('2');
end;
end;
var
a,b,c:Integer;
d:String;
begin
a:=Length(Edit1.Text);
c:=0;
for b:=1 to a do //?
begin
d:=Copy(Edit1.Text,b,1); //Copy()是做什么的?
if (d='0') or (d<='9') then //?
begin
c:=c+1; //?
end;
end;
if c=Length(Edit1.Text) then //?
begin
ShowMessage('1');
end
else
begin
ShowMessage('2');
end;
end;
a,b,c:Integer;
d:String;
begin
a:=Length(Edit1.Text);
c:=0;
for b:=1 to a do //字符串第一个字符在第一个单元
begin
d:=Copy(Edit1.Text,b,1); //Copy()是去指定字符串从指定位置开始的指定长度的字符串
if (d='0') or (d<='9') then //看是否处于0~9之间,不过不应该是d='0'
begin
c:=c+1; //如果处于0~9之间就将计数器加1
end;
end;
if c=Length(Edit1.Text) then //如果所有字符都在0~9之间(如果有一个不在,c就少加一次,不会等于字符串的长度了)
begin
ShowMessage('1');
end
else
begin
ShowMessage('2');
end;
end;
什么意思?求大哥帮忙!
//比如说Str := '12345',那么Str[1]='1';Str[2]='2';Str[3]='3';Str[4]='4';Str[5]='5';
//Copy()是取指定字符串从指定位置开始的指定长度的字符串
//上面“取”字写成了“去”,就是从一个字符串的第几位开始连续取几个字符procedure TForm1.Button1Click(Sender: TObject);
var
S: String;
I: Integer;
begin
S := Trim(Edit1.Text);
for I := 1 to Length(S) do
if not(S[I] in ['0'..'9']) then Break;
if I = Length(S) + 1 then
ShowMessage('全部是数字')
else
ShowMessage('不全是数字');
end;