![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Здравствуйте.
Нужно реализовать функцию, которая меняет регистр введённого (на русском) слова. Нугуглив простенькую функцию обрадовался. Код:
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); то срабатывает. Наверное, всё дело в кодировке, но так с делфи недавно работаю знаний не хватает. |
#2
|
||||
|
||||
![]() используй StrUtils.AnsiUpperCase():
Код:
DWORD CharUpperBuff( LPTSTR lpsz, // pointer to buffer containing characters to process DWORD cchLength // number of characters to process ); Пишу программы за еду. __________________ |
#3
|
|||
|
|||
![]() Цитата:
|