Ver Mensaje Individual
  #3  
Antiguo 20-11-2014
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Agustín.

Primero que nada muy buena la página del enlace

En cuanto a tu consulta y tomando en cuenta que el texto lo obtenes del copiado y pegado (de la página) no veo manera mas directa de hacerlo que con WriteLn. Podrías almacenar el texto en variables o constantes con tipo, pero no creo que esos cambios mejoren o hagan mas entendible el código.

Solo para agregar alguna idea, tal vez podrías flexibilizar el mostrado, por ejemplo:
Código Delphi [-]
uses SysUtils, Classes, System;

procedure ShowBanner(Alignment: TAlignment);
const
  LEN = 55;  // Largo del banner
var
  spc: string;
begin
  case Alignment of
    taLeftJustify : spc:= '';
    taCenter      : spc:= StringOfChar(' ', (80-LEN) div 2);
    taRightJustify: spc:= StringOfChar(' ', 80-LEN);
  end;
  WriteLn(spc+'  ______ _       _        _____        _       _      _');
  WriteLn(spc+' / _____) |     | |      (____ \      | |     | |   (_)');
  WriteLn(spc+'| /     | |_   _| | _     _   \ \ ____| |____ | | _  _ ');
  WriteLn(spc+'| |     | | | | | || \   | |   | / _  ) |  _ \| || \| |');
  WriteLn(spc+'| \_____| | |_| | |_) )  | |__/ ( (/ /| | | | | | | | |');
  WriteLn(spc+' \______)_|\____|____/   |_____/ \____)_| ||_/|_| |_|_|');
  WriteLn(spc+'                                        |_|            ');
end;

O también:
Código Delphi [-]
procedure ShowBannerXY(const X, Y: Integer);
const
  LEN = 55;  // Largo del banner
var
  i: Integer;
  spc: string;
begin
  if X <= 80 - LEN then
  begin
    spc:= StringOfChar(' ', X);
    for i:= 1 to Y do WriteLn;
    WriteLn(spc+'  ______ _       _        _____        _       _      _');
    WriteLn(spc+' / _____) |     | |      (____ \      | |     | |   (_)');
    WriteLn(spc+'| /     | |_   _| | _     _   \ \ ____| |____ | | _  _ ');
    WriteLn(spc+'| |     | | | | | || \   | |   | / _  ) |  _ \| || \| |');
    WriteLn(spc+'| \_____| | |_| | |_) )  | |__/ ( (/ /| | | | | | | | |');
    WriteLn(spc+' \______)_|\____|____/   |_____/ \____)_| ||_/|_| |_|_|');
    WriteLn(spc+'                                        |_|            ');
  end
  else
    WriteLn(Format('Maximo valor horizontal %d', [80-LEN]));
end;


Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita