Delphi verifica se o caractere está no intervalo 'A' .. 'Z' e '0' .. '9'

Preciso verificar se uma string contém apenas caracteres dos intervalos:'A'..'Z', 'a'..'z', '0'..'9', então eu escrevi esta função:

function GetValueTrat(aValue: string): string;
const
  number = [0 .. 9];
const
  letter = ['a' .. 'z', 'A' .. 'Z'];
var
  i: Integer;
begin

  for i := 1 to length(aValue) do
  begin
    if (not(StrToInt(aValue[i]) in number)) or (not(aValue[i] in letter)) then
      raise Exception.Create('Non valido');
  end;

  Result := aValue.Trim;
end;

mas se por exemplo,aValue = 'Hello' aStrToInt A função me gera uma exceção.

questionAnswers(1)

yourAnswerToTheQuestion