[Back to STRINGS SWAG index]  [Back to Main SWAG index]  [Original]

{-----------------------------------------------}
Function  LoCase(ch:Char):Char;
{ Convert Ch to the LOWER case with Russian specifications }
var

  OutCH: Char;

begin
   OutCh:=Ch;

   if (OutCh>='A') and (OutCh<='Z') then
      OutCh:=Chr(Ord(Outch) + $20);       { Convert chars "A...Z" to "a...z"}
   if (OutCh>=#128) and (OutCh<=#143) then
      OutCh:=Chr(Ord(Outch) + $20);       { Convert the first portion
                                            of Russian chars }
   if (OutCh>=#144) and (OutCh<=#159) then
      OutCh:=Chr(Ord(Outch) + $50);       { Convert the second portion of
                                            of Russian chars }
   if (OutCh=#240) then  OutCh:=#241;     { Convert Russian umlaut }

   Lower:=OutCh;
end; { Lower }

{-----------------------------------------------}
Function Upper(Ch:Char):Char;
{ Convert Ch to UPPER case with Russian specificatios }

var

  OutCH: Char;

begin
  OutCh:=Ch;
  if (Ch>='a') and (Ch<='z') then
     OutCh:=Chr(Ord(Ch) - $20)           { convert "a...z" to "A...Z"}
  else if (Ch>=#160) and (Ch<=#175) then
     OutCh:=Chr(Ord(Ch) - $20)           { convert the first russian portion}
  else if (Ch>='Ò' {rus}) and (Ch<='Ñ') then
     OutCh:=Chr(Ord(Ch) - $50)           { convert the second Russian portion}
  else if (Ch=#241) then Ch:=#240;       { convert Russian umlaut }
 Upper:=OutCh;
end; { Upper }

[Back to STRINGS SWAG index]  [Back to Main SWAG index]  [Original]