Ver Mensaje Individual
  #4  
Antiguo 12-02-2015
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Reputación: 23
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
maxzama,

Cita:
Empezado por maxzama
...Numero de Personas: tiene que tener 11 dígitos...Ej: Nº personas 12345 : entonces que me imprima en pantalla lo siguiente=00000012345...


Revisa este código:
Código Delphi [-]
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
   LenStr : Integer;
   AuxStr : String;
   i : Integer;

begin

    AuxStr := Edit1.Text;

    LenStr := Length(AuxStr);

    if LenStr > 11 then
       raise Exception.Create('Longitud Máxima de Variable es 11');

    for i := 1 to LenStr do
       if not (AuxStr[i] in ['0'..'9']) then
          raise Exception.Create('Solo se Permiten Caracteres Númericos');

    if LenStr < 11 then
       AuxStr := StringOfChar('0', 11-LenStr) + Edit1.Text;

    ShowMessage(AuxStr);

end;

procedure TForm1.Button2Click(Sender: TObject);
var
   LenStr : Integer;
   AuxStr : String;
   i : Integer;

begin

   AuxStr := Edit1.Text;

   LenStr := Length(AuxStr);

   if LenStr > 11 then
      raise Exception.Create('Longitud Máxima de Variable es 11');

   for i := 1 to LenStr do
      if not (AuxStr[i] in ['0'..'9']) then
         raise Exception.Create('Solo se Permiten Caracteres Númericos');

   AuxStr := Format('%.11d',[StrToInt(Edit1.Text)]);

   ShowMessage(AuxStr);

end;

end.
El código anterior en Delphi 7 sobre Windows 7 Professional x32, permite rellenar con 0 a la izquierda una cantidad numérica de máximo 11 dígitos y muestra el resultado por medio de 2 métodos diferentes.

Espero sea útil

Nelson.

Última edición por nlsgarcia fecha: 12-02-2015 a las 22:54:03.
Responder Con Cita