How to pad a string on both sides in Pascal

1 Answer

0 votes
program PadStringExample;

function PadString(const S: string; TotalLength: Integer; PadChar: Char): string;
var
  PadSize, LeftPad, RightPad: Integer;
begin
  if Length(S) >= TotalLength then
    Exit(S); // No padding needed if the string is already long enough

  PadSize := TotalLength - Length(S);
  LeftPad := PadSize div 2;
  RightPad := PadSize - LeftPad;

  PadString := StringOfChar(PadChar, LeftPad) + S + StringOfChar(PadChar, RightPad);
end;

var
  Str, Padded: string;
begin
  Str := 'Pascal';
  
  Padded := PadString(Str, 11, '*'); // Pads to a total length of 11 with '*'

  WriteLn('Padded: ', Padded);
end.



  
  
(*
run:
 
Padded: **Pascal***
 
*)

 



answered Jul 5, 2025 by avibootz

Related questions

3 answers 100 views
2 answers 105 views
1 answer 100 views
1 answer 89 views
1 answer 82 views
1 answer 79 views
1 answer 89 views
...