Показать сообщение отдельно
Старый 26.08.2008, 00:16   #2
ViNT
Модератор
 
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений
(для 817 пользователей)
Ответ: Ручная замена регистра (когда UpCase не работает)

Я бы сделал примерно так:
function UpperCase(S:string):string;
const
 
LC='абвгдеёжзийклмнопрстуфхцчшщъыьэюя';
 
UC='АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ';
var
 
I,P:integer;
 
R:string;
 
C:char;
begin
  
for i:=0 to Length(S) do
  
begin
   C
:=GetChar(S,I);
   
P:=pos(LC,C);
   if 
P<>-1 then
    R
:=R+GetChar(UC,P)
   else
    
R:=R+C;
  
end;
  
UpperCase:=R;
  
end
Это работает только для русских букв, однако можно добавить английский алфавит и убить двух зайцев.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Aziz (26.08.2008)