Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-03-2014
djhairoflow djhairoflow is offline
Registrado
NULL
 
Registrado: mar 2014
Posts: 1
Poder: 0
djhairoflow Va por buen camino
is not a valid integer value

is not a valid integer value ESTE ERROR ME LO DA CUANDO YO PONGO SOLO UN NUMERO EN UN EDIT Y CIERRO EL SHOWMESSAGE QUE COMO INDICO EN CL CODIGO QUE ME LO MUESTRE SI ALGUN EDIT ESTA VACIO Y CUANDO LO CIERRO ME MUESTRA ESE ERROR, QUE PODRIA SER , ESTE PROGRMAA ES UN BOLETIN DE NOTA QUE CALCULA PROMEDIO TIENE BARRA PROGRESIVA








procedure TForm1.Button2Click(Sender: TObject);
var
psuma, ssuma,tsuma,pmedia,smedia,tmedia,media1,media2,media3,media4,media5,media6,pp4,pp5,pp6,num1,num2,num 3,num4,num5,num6,num7
,num8,num9,num10,num11,num12,num13,num14,num15: integer;

begin
if(edit1.Text='') or (edit2.Text ='') or (edit3.Text='') or (edit4.Text ='') or (edit5.Text ='') or (edit6.Text ='') or (edit7.Text ='') or (edit8.Text ='') or (edit9.Text ='') or (edit10.Text='') or (edit11.Text ='') or (edit12.Text='') or (edit13.Text='') or (edit14.Text ='') or (edit15.Text ='') then
showmessage ('Los datos no están completos o son incorrectos')
else
begin
num1 :=strtoint (edit1.Text);
num2 :=strtoint (edit2.Text);
num3 :=strtoint (edit3.Text);
num4 :=strtoint (edit4.Text);
num5 :=strtoint (edit5.Text);
num6 :=strtoint (edit6.Text);
num7 :=strtoint (edit7.Text);
num8 :=strtoint (edit8.Text);
num9 :=strtoint (edit9.Text);
num10 :=strtoint (edit10.Text);
num11 :=strtoint (edit11.Text);
num12 :=strtoint (edit12.Text);
num13 :=strtoint (edit13.Text);
num14 :=strtoint (edit14.Text);
num15 :=strtoint (edit15.Text);
{Suma1}
psuma := num1 + num2 + num3 + num4 + num5;
Panel1.Caption := inttostr(psuma);

ssuma := num6 + num7 + num8 + num9 + num10;
panel2.Caption := inttostr (ssuma);

tsuma := num11 + num12 + num13 + num14 + num15;
panel3.Caption := inttostr(tsuma);


{Promedio 1}
pmedia := (num1 + num2 + num3 + num4 + num5) div 5;
panel4.Caption := inttostr(pmedia);

smedia := (num6 + num7 + num8 + num9 + num10) div 5;
panel5.Caption := inttostr(smedia);

tmedia := (num11 + num12 + num13 + num14 + num15) div 5;
panel6.Caption := inttostr(tmedia);

{Promedio2}
media1 := (num1 + num6 + num11)div 3 ;
if media1 < 3 then
panel7.Caption := 'Muy deficiente'
else
if( media1 <5) and (media1 >= 3) then
panel7.Caption := 'Insuficiente'
else
if media1 = 5 then
panel7.Caption := 'Suficiente'
else
if media1 = 6 then
panel7.Caption := 'Bien'
else
if (media1 < 9) and (media1 >= 7) then
Panel7.Caption := 'Notable'
else
if media1 > 8 then
panel7.Caption := 'Sobresaliente'
end;



begin
media2 := (num2 + num7 + num12)div 3 ;
if media2 < 3 then
panel8.Caption := 'Muy deficiente'
else
if( media2 <5) and (media2 >= 3) then
panel8.Caption := 'Insuficiente'
else
if media2 = 5 then
panel8.Caption := 'Suficiente'
else
if media2 = 6 then
panel8.Caption := 'Bien'
else
if (media2 < 9) and (media2 >= 7) then
Panel8.Caption := 'Notable'
else
if media2 > 8 then
panel8.Caption := 'Sobresaliente'
end;



begin
media3 := (num3 + num8 + num13)div 3 ;
if media3 < 3 then
panel9.Caption := 'Muy deficiente'
else
if( media3 <5) and (media3 >= 3) then
panel9.Caption := 'Insuficiente'
else
if media3 = 5 then
panel9.Caption := 'Suficiente'
else
if media3 = 6 then
panel9.Caption := 'Bien'
else
if (media3 < 9) and (media3 >= 7) then
Panel9.Caption := 'Notable'
else
if media3 > 8 then
panel9.Caption := 'Sobresaliente'
end;



begin
media4 := (num4 + num9 + num14)div 3 ;
if media4 < 3 then
panel10.Caption := 'Muy deficiente'
else
if( media4 <5) and (media4 >= 3) then
panel10.Caption := 'Insuficiente'
else
if media4 = 5 then
panel10.Caption := 'Suficiente'
else
if media4 = 6 then
panel10.Caption := 'Bien'
else
if (media4 < 9) and (media4 >= 7) then
Panel10.Caption := 'Notable'
else
if media4 > 8 then
panel10.Caption := 'Sobresaliente'
end;



begin
media5 := (num5 + num10 + num15)div 3 ;
if media5 < 3 then
panel11.Caption := 'Muy deficiente'
else
if( media5 <5) and (media5>= 3) then
panel11.Caption := 'Insuficiente'
else
if media5 = 5 then
panel11.Caption := 'Suficiente'
else
if media5 = 6 then
panel11.Caption := 'Bien'
else
if (media5 < 9) and (media5 >= 7) then
Panel11.Caption := 'Notable'
else
if media5 > 8 then
panel11.Caption := 'Sobresaliente'
end;




begin
pp4 := strtoint (panel4.Caption);
pp5 := strtoint (panel5.Caption);
pp6 := strtoint (panel6.Caption);

media6 := (pp4 + pp5 + pp6)div 3 ;
if media6< 3 then
panel12.Caption := 'Muy deficiente'
else
if( media6 <5) and (media6 >= 3) then
panel12.Caption := 'Insuficiente'
else
if media6 = 5 then
panel12.Caption := 'Suficiente'
else
if media6 = 6 then
panel12.Caption := 'Bien'
else
if (media6 < 9) and (media6 >= 7) then
Panel12.Caption := 'Notable'
else
if media6 > 8 then
panel12.Caption := 'Sobresaliente'
end;


{Barra de Pro}
begin
pb1.Position := media1 ;
pb2.Position := media2 ;
pb3.Position := media3 ;
pb4.Position := media4 ;
pb5.Position := media5 ;
pb6.Position := media6 ;

end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
edit1.Clear;
edit2.Clear;
edit3.Clear;
edit4.Clear;
edit5.Clear;
edit6.Clear;
edit7.Clear;
edit8.Clear;
edit9.Clear;
edit10.Clear;
edit11.Clear;
edit12.Clear;
edit13.Clear;
edit14.Clear;
edit15.Clear;
panel1.Caption := '';
panel2.Caption := '';
panel3.Caption := '';
panel4.Caption := '';
panel5.Caption := '';
panel6.Caption := '';
panel7.Caption := '';
panel8.Caption := '';
panel9.Caption := '';
panel10.Caption := '';
panel11.Caption := '';
panel12.Caption := '';
pb1.Position := 0;
pb2.Position := 0;
pb3.Position := 0;
pb4.Position := 0;
pb5.Position := 0;
pb6.Position := 0;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
close;
end;

end.
Imágenes Adjuntas
Tipo de Archivo: jpg codigogg.jpg (38,6 KB, 8 visitas)
Responder Con Cita
  #2  
Antiguo 28-03-2014
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
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 djhairoflow, bienvenido a Club Delphi

Como es costumbre con los iniciados, te invito a que leas nuestra guía de estilo.

También te sugiero que cuando incluyas código en tus mensajes utilices TAG's como lo explica esta imágen:


Al hacer mas legible tu código, te ayudará a conseguir más respuestas ya que muchos no se tomarán la molestia de leerlo si está confuso.

Saludos y gracias por tu colaboración
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 28-03-2014
Avatar de ElKurgan
[ElKurgan] ElKurgan is offline
Miembro Premium
 
Registrado: nov 2005
Posts: 1.233
Poder: 20
ElKurgan Va camino a la fama
Yo te aconsejaría hacer algo así:

Código Delphi [-]
 
if(edit1.Text='') or (edit2.Text ='') or (edit3.Text='') or (edit4.Text ='') 
or (edit5.Text ='') or (edit6.Text ='') or (edit7.Text ='') or (edit8.Text ='') 
or (edit9.Text ='') or (edit10.Text='') or (edit11.Text ='') or (edit12.Text='') 
or (edit13.Text='') or (edit14.Text ='') or (edit15.Text ='') then
begin
  showmessage ('Los datos no están completos o son incorrectos');
  exit;
end
else
begin
  ...

Me explico: Tras el "else begin" vienen las asignaciones a los números, y terminan con un end, que se supone que es el del "else". Ahora bien, inmediatamente después te pones a hacer cálculos y ahí si es posible que algún "edit" no tenga un número válido.

Otra opción es usar "StrToIntDef(Edit1.Text, 0)", ya que sesta función devuelve el valor indicado si no puede transformar la cadena a número. Eso para todos los campos de texto

Saludos

Última edición por ElKurgan fecha: 28-03-2014 a las 08:22:16.
Responder Con Cita
  #4  
Antiguo 28-03-2014
Avatar de Ferrari
Ferrari Ferrari is offline
Miembro
 
Registrado: jun 2006
Ubicación: Torreón, México
Posts: 154
Poder: 18
Ferrari Va por buen camino
Re:

Coincido con [ElKurgan] ya que sino sacas el proceso con el
Código Delphi [-]
exit
estas dejando correr el proceso sin importarte que falte algún numero por capturar...puedes validar también que te indique cual edit te falta por capturar y enviar el foco para que sea capturado.
Responder Con Cita
  #5  
Antiguo 28-03-2014
cloayza cloayza is offline
Miembro
 
Registrado: may 2003
Ubicación: San Pedro de la Paz, Chile
Posts: 913
Poder: 22
cloayza Tiene un aura espectacularcloayza Tiene un aura espectacular
Estimado djhairoflow, leo su post y quisiera si me lo permite indicarle algunos pequeños cambios que creo le serán de utilidad.

Código Delphi [-]
procedure TForm1.Button2Click(Sender: TObject);
var
psuma, ssuma,tsuma,pmedia,smedia,tmedia,media1,media2,media3,media4,media5,media6,pp4,pp5,pp6,num1,num2,num 3,num4,num5,num6,num7
,num8,num9,num10,num11,num12,num13,num14,num15: integer;

    {Esta función le entrega el concepto correspondiente a la nota de la evaluación
     así evita repetir este código...}
    function GetEvaluacion(value:Integer):string;
    begin
         if value < 3 then
             Result := 'Muy deficiente'
         else if( value <5) then
             Result := 'Insuficiente'
         else if value = 5 then
             Result := 'Suficiente'
         else if value = 6 then
             Result := 'Bien'
         else if (value < 9) then
             Result := 'Notable'
         else if value > 8 then
             Result := 'Sobresaliente'
    end;

begin
    if(edit1.Text='') or (edit2.Text ='') or (edit3.Text='') or (edit4.Text ='') or (edit5.Text ='') or (edit6.Text ='') or (edit7.Text ='') or (edit8.Text ='') or (edit9.Text ='') or (edit10.Text='') or (edit11.Text ='') or (edit12.Text='') or (edit13.Text='') or (edit14.Text ='') or (edit15.Text ='') then
    begin
         showmessage ('Los datos no están completos o son incorrectos');
         Exit;  //Corrección que ya le indicaron dos notables foristas como son ElKurgan y Ferrari...
    end
    else
    begin
         num1 :=strtoint (edit1.Text);
         num2 :=strtoint (edit2.Text);
         num3 :=strtoint (edit3.Text);
         num4 :=strtoint (edit4.Text);
         num5 :=strtoint (edit5.Text);
         num6 :=strtoint (edit6.Text);
         num7 :=strtoint (edit7.Text);
         num8 :=strtoint (edit8.Text);
         num9 :=strtoint (edit9.Text);
         num10 :=strtoint (edit10.Text);
         num11 :=strtoint (edit11.Text);
         num12 :=strtoint (edit12.Text);
         num13 :=strtoint (edit13.Text);
         num14 :=strtoint (edit14.Text);
         num15 :=strtoint (edit15.Text);
         {Suma1}
         psuma := num1 + num2 + num3 + num4 + num5;
         Panel1.Caption := inttostr(psuma);

         ssuma := num6 + num7 + num8 + num9 + num10;
         panel2.Caption := inttostr (ssuma);

         tsuma := num11 + num12 + num13 + num14 + num15;
         panel3.Caption := inttostr(tsuma);

         {Promedio 1}
         pmedia := (num1 + num2 + num3 + num4 + num5) div 5;
         panel4.Caption := inttostr(pmedia);

         smedia := (num6 + num7 + num8 + num9 + num10) div 5;
         panel5.Caption := inttostr(smedia);

         tmedia := (num11 + num12 + num13 + num14 + num15) div 5;
         panel6.Caption := inttostr(tmedia);

         media1 := (num1 + num6 + num11)div 3 ;
         media2 := (num2 + num7 + num12)div 3 ;
         media3 := (num3 + num8 + num13)div 3 ;
         media4 := (num4 + num9 + num14)div 3 ;
         media5 := (num5 + num10 + num15)div 3 ;
         media6 := (pmedia + smedia + tmedia) div 3 ;

         panel7.Caption :=GetEvaluacion(media1);
         panel8.Caption :=GetEvaluacion(media2);
         panel9.Caption :=GetEvaluacion(media3);
         panel10.Caption:=GetEvaluacion(media4);
         panel11.Caption:=GetEvaluacion(media5);
         panel12.Caption:=GetEvaluacion(media6);

         {Barra de Pro}
         pb1.Position := media1 ;
         pb2.Position := media2 ;
         pb3.Position := media3 ;
         pb4.Position := media4 ;
         pb5.Position := media5 ;
         pb6.Position := media6 ;
    end;
end;

Saludos cordiales
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Error: Is not a valid integer value darkmaster360 Varios 18 16-05-2013 23:12:00
Is not a valid integer value joancmb Varios 9 19-03-2013 14:10:58
Error: metafile is not valid SGL Impresión 0 10-06-2005 11:19:58
Error: " is not a valid integer value MiLLeNPuNk Varios 2 20-02-2005 11:55:57
not valid floating merlin Conexión con bases de datos 1 21-07-2004 13:18:53


La franja horaria es GMT +2. Ahora son las 11:26:21.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi