Показать сообщение отдельно
  #1  
Старый 01.01.2013, 18:37
Neolane Neolane вне форума
Прохожий
 
Регистрация: 01.01.2013
Сообщения: 2
Репутация: 10
Вопрос Изменение регистра русских букв

Здравствуйте.
Нужно реализовать функцию, которая меняет регистр введённого (на русском) слова.
Нугуглив простенькую функцию обрадовался.


Код:
function UpperCase(s: string): string;
var
  i: integer;
begin
  result := s;
  for i := 1 to length(result) do
    if (result[i] in ['a'..'z', 'а'..'я']) then
      result[i] := chr(ord(result[i]) - 32);
end;

Но почему то срабатывает только с англ. буквами.
Пробую мучить код

Код:
Но почему то срабатывает только с англ. буквами.
Пробую мучить код

результат никакой
но если написать вот так

Код:
if (‘п’ in ['a'..'z', 'а'..'я']) then result[i] := chr(ord(result[i]) - 32);

то срабатывает.
Наверное, всё дело в кодировке, но так с делфи недавно работаю знаний не хватает.
Ответить с цитированием