Ver Mensaje Individual
  #13  
Antiguo 02-04-2017
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Reputación: 15
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
Eso pasa porque el procedimiento cantidad_de_divisores esta declarado "fuera" del form. Prueba de este modo:

Código Delphi [-]

  TForm1 = class(TForm)
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    BitBtn3: TBitBtn;
    Edit1: TEdit;
    Edit2: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
  private
    procedure cantidad_de_divisores(n: Integer); // agregas esto aca
  public
  end;

implementation

//agregas lo que esta en negrita
procedure TForm1.cantidad_de_divisores(n:Integer);
var
  vNumero, vI, vCantidad: Integer;
begin
  vCantidad := 0;
  vNumero := StrToInt(Edit1.Text);

  for vI := 1 to vNumero do
    if (vNumero mod vI) = 0 then
      vCantidad := vCantidad + 1;

  Result := vCantidad;
  // los procedimientos no devuelven resultados, no existe la variable implicita "Result"
  // supongo que lo que queres es mostrar el resultado en el Edit2
  Edit2.Text := IntToStr(vCantidad);
end;
Responder Con Cita