Ver Mensaje Individual
  #11  
Antiguo 18-05-2012
alenbebote alenbebote is offline
Registrado
NULL
 
Registrado: may 2012
Posts: 9
Reputación: 0
alenbebote Va por buen camino
También puedes ir acumulando y contando los valores válidos en la variable x y en otra variable contador:

Código Delphi [-]
procedure TPromediometal.Button2Click(Sender: TObject);
var
c1,c2,c3,c4,c5,c6: integer;
aux: real;
x: real;
contador : integer;
begin
   // En x voy acumulando los Edits válidos
   // En contador voy contanto cuantos Edits son válidos

   // Inicializo x y contador
   x := 0;
   contador := 0;

   // Me fijo si se puede convertir el Edit1. 
   // Si se puede la funcion devuelve True y aux contendrá el valor en formato Real
   if (TryStrToFloat(Edit1.Text, aux)) then
   begin
      x := x + aux;
      contador := contador + 1;
   end;

   // Hago lo mismo con todos los Edits
   if (TryStrToFloat(Edit2.Text, aux)) then
   begin
      x := x + aux;
      contador := contador + 1;
   end;

[...]

   // Para evitar una división por 0, si no se rellenó ningún Edit.
   if (contador <> 0) then
   begin
      // Aqui tienes el valor y puedes mostrarlo
      x := x / contador;
[...]
   end
   else
   begin
      // Si entramos aqué hay un error. No se han rellenado los Edits o se han rellenado con valores inválidos
[...]
   end;
end;

PD: Te he resuelto la taréa, solo porque veo que haz puesto empeño. (Hay otra gente que viene con el enunciado y espera que le des una función terminada y probada)
De todos modos, te veo un poco verde en el manejo de los componentes visuales y sus eventos (Edits, Botonoes, etc.).
Deberías leer un poco más sobre el tema.

Sigue practicando y diviértete mucho con Delphi![/quote]

mil gracias lo hice igual pero al momento de correrlo me marca un error en if (TryStrToFloat(edit1.text, aux)) then en ,aux) aqui me lo marca que puede ser muchas gracias por la ayuda.

Nota: me sale esto there ins no overloaded version of 'trystrtofloat' that can be caller with these arguments

Última edición por alenbebote fecha: 18-05-2012 a las 16:09:24.
Responder Con Cita