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
public
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.