Показать сообщение отдельно
  #7  
Старый 22.08.2010, 04:06
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,107
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Т.к. мы работаем обычно с 2мя алфавитами, а именно англ. и русским, то можно так:

Код:
function LetterNumber(Ch : Char) : Integer;

  function GetLN(C, F : Char) : Integer;
  begin
     Result := Ord(C) - Orc(F) + 1;
  end;

begin
  Case Ch Of
    'A'..'Z' : Result := getLn(Ch,'A');
    'a'..'z' : Result := getLn(Ch,'a');
    'А'..'Я' : Result :=getLn(Ch,'А');
    'а'..'я' : Result := getLn(Ch,'а');
    Else Result := 0; // Ошибка, не буква
  end;
end;
Ответить с цитированием