How to toggle letter casing in text provided by the user??

Viewed 113

How to toggle case?

Firstly, get a sentence from the user written in a TEdit box, eg

The fastest animal is a cheetah

Then toggle the case and display it in a TPanel, eg:

ThE FaStEsT AnImAl Is A ChEeTaH

1 Answers

The normal way would be to iterate over the string, alternating uppercasing and lowercasing the characters, eg:

uses
  ..., System.Character;

var
  str, result: String;
  i: Integer;
  ch: Char;
begin
  str := ...;
  i := 0;
  for ch in str do
  begin
    if not Odd(i) then
      result := result + ch.ToUpper
    else
      result := result + ch.ToLower;
    Inc(i);
  end;
end;

Alternatively:

uses
  ..., System.Character;

var
  str: String;
  i: Integer;
begin
  str := ...;
  for i := 1 to Length(str) do
  begin
    if Odd(i) then
      str[i] := str[i].ToUpper
    else
      str[i] := str[i].ToLower;
  end;
end;
Related