program CsvParser;
{$mode delphi}{$apptype console}
uses SysUtils, Classes;
var fields: TStringList; row: Integer;
    data: array[0..2] of string =
      ('Иван;28;Москва', 'Пётр;34;Казань', 'Ольга;22;Пермь');
begin
  fields := TStringList.Create;
  fields.Delimiter := ';'; fields.StrictDelimiter := True;
  WriteLn(Format('%-8s %-5s %-10s', ['Имя', 'Возр', 'Город']));
  for row := 0 to High(data) do begin
    fields.DelimitedText := data[row];
    WriteLn(Format('%-8s %-5s %-10s', [fields[0], fields[1], fields[2]]));
  end;
  fields.Free;
  ReadLn;
end.
