Ваш фрагмент кода не соответствует описанию вашего вопроса. Вы спрашиваете о подтверждении идентификатора, но вместо этого показываете код для подтверждения имени.
В любом случае попробуйте что-то вроде следующего:
function IsDigit(c: Char): boolean; inline;
begin
Result := (c >= '0') and (c <= '9');
{
Or Result := CharInSet(c, ['0'..'9']);
Or Result := Character.IsDigit(c);
Or Result := c.IsDigit();
}
end;
Проверка имени:
var
name: String;
i: Integer;
ch: Char;
begin
name := Edit1.Text;
n := Length(name);
for i := 1 to n do
begin
ch := name[i];
if IsDigit(ch) then
begin
ShowMessage('invalid');
Exit;
end;
end;
ShowMessage('valid');
end;
Удостоверение личности:
var
id: String;
i: Integer;
ch: Char;
begin
id := Edit2.Text;
n := Length(id);
if n = 0 then
begin
ShowMessage('invalid');
Exit;
end;
for i := 1 to n do
begin
ch := id[i];
if not IsDigit(ch) then
begin
ShowMessage('invalid');
Exit;
end;
end;
ShowMessage('valid');
end;
В качестве альтернативы:
var
id: Integer; // or Int64
begin
if not TryStrToInt(Edit2.Text, id) then // or TryStrToInt64()
ShowMessage('invalid')
else
ShowMessage('valid');
end;