- Код: Выделить всё
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