![]() |
is not a valid integer value
1 Archivos Adjunto(s)
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. |
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 :) |
Yo te aconsejaría hacer algo así:
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 |
Re:
Coincido con [ElKurgan] ya que sino sacas el proceso con el
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. |
Estimado djhairoflow, leo su post y quisiera si me lo permite indicarle algunos pequeños cambios que creo le serán de utilidad.
Saludos cordiales |
La franja horaria es GMT +2. Ahora son las 08:53:44. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi