Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-12-2007
nando87dc nando87dc is offline
Registrado
 
Registrado: dic 2007
Posts: 2
Poder: 0
nando87dc Va por buen camino
Cómo evitar el error al dividir por cero

tengo dos campos de texto donde el usuario ingresa dos valores y al apretar un botón se hace una división y el resultado se imprime en un tercer campo de texto.
El problema es cuando se presiona el botón sin haber ingresado ningún valor o poniendo cero (ya que intenta dividir por 0).

De qué manera puedo preceder a la acción de la división un IF o algún comando para que detecte si los campos están vacios o con 0 y evite que se siga ejecutando?.

Saludos, espero puedan ayudarme.

Fernando del Castillo
Responder Con Cita
  #2  
Antiguo 11-12-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Puedes tratar de capturar la excepción correspondiente. A mí se me ocurre esto a bote pronto, pero, agradecería cualquier crítica constructiva al respecto.

Código Delphi [-]
  try
    Edit3.Text := IntToStr(
      StrToInt(Edit1.Text)
       div StrToInt(Edit2.Text)
    );
  except
    on E: EConvertError do begin
      ShowMessage(E.Message);
    end;
    on E: EDivByZero do begin
      ShowMessage(E.Message);
    end;
    on E: Exception do begin
      ShowMessage(E.Message);
    end;
  end;
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 11-12-2007
nando87dc nando87dc is offline
Registrado
 
Registrado: dic 2007
Posts: 2
Poder: 0
nando87dc Va por buen camino
Me parece muy complejo para copiarlo en todos los botones...
no hay alguna forma de poner un filtro al campo de texto que no deje poner ciertos valores?
Responder Con Cita
  #4  
Antiguo 11-12-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Pues... acaso te interese usar "TMaskEdit", o "TSpinEdit"... o ciertos eventos de los "TEdit"...
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #5  
Antiguo 11-12-2007
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.233
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Otra opción es:

Código Delphi [-]
  // Coloca esto en un procedimiento y lo llamas al principio de cada botón
  if (StrToIntDef(Edit2.Text), 0) = 0) then begin
    MessageDlg('¡¡¡¡PEDAZO DE CENUTRIO!!!!  Cómo vas a dividir por 0.',
                    mtError, [mbOK], 0);
    Exit;
  end;
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #6  
Antiguo 11-12-2007
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.556
Poder: 25
egostar Va camino a la fama
Cita:
Empezado por Neftali Ver Mensaje
Otra opción es

Código Delphi [-]
 
MessageDlg('¡¡¡¡PEDAZO DE CENUTRIO!!!!  Cómo vas a dividir por 0.',mtError, [mbOK], 0);



Perdón pero no puedo evitar la risa con esa palabrita CENUTRIO.

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Evitar mensajes de Error de Firebird mateamargo OOP 10 13-07-2007 16:55:29
Evitar mensaje error ¡DLL no encontrada! soypincharata Varios 2 02-05-2007 05:32:08
Se puede evitar los mensajes de error David OOP 8 22-07-2006 01:39:40
Cuando cero - cero es 5.755533321E-13 IVAND Firebird e Interbase 4 12-04-2006 17:06:26
Crystal Reports desde cero, cero, cero. Repelus Impresión 1 08-03-2004 22:23:14


La franja horaria es GMT +2. Ahora son las 10:07:42.


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