- Код: Выделить всё
- const { типизированные константы для русских букв }
 HighChars: string = 'АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ';
 LowChars : string = 'абвгдеёжзийклмнопрстуфхцчшщъыьэюя';
 function High(arg: char): char;
 var i: integer;
 begin
 High:= arg;
 if arg in ['a'..'z']
 then High:= Upcase(arg)
 else for i := 1 to Length(LowChars) do
 if arg= LowChars[i] then begin
 High:= HighChars[i];
 break;
 end
 end;
 function Low(arg: char): char;
 var i: integer;
 begin
 Low:= arg;
 if arg in ['A'..'Z']
 then Low:= Char( Ord(arg) + Ord('z') - Ord('Z') )
 else for i := 1 to Length(LowChars) do
 if arg= HighChars[i] then begin
 Low:= LowChars[i];
 break;
 end
 end;
 function HighStr(const arg: string): string;
 var i: integer; s: string;
 begin
 s:='';
 for i := 1 to Length(arg) do s:= s+ High(arg[i]);
 HighStr:= s;
 end;
 function LowStr(const arg: string): string;
 var i: integer; s: string;
 begin
 s:='';
 for i := 1 to Length(arg) do s:= s+ Low(arg[i]);
 LowStr:= s;
 end;
 begin
 Writeln(HighStr('Pascal Паскаль 123'));
 Writeln(LowStr('Pascal Паскаль 123'));
 Readln;
 end.
Получаю вот такой результат работы программы:
- Код: Выделить всё
- PASCAL ПАСКАЛЬ 123
 pascal паёкаль 123
В чем подвох?
P.S. Linux Mint, fpc-2.6.2



