Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
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 09-08-2013
feliz-58 feliz-58 is offline
Miembro
 
Registrado: sep 2012
Posts: 314
Poder: 12
feliz-58 Va por buen camino
Solo ejecutar un procedimiento cuando solo la ventana esta activa

Buenas tardes club, espero que estén bien,

en esta ocasión me dirijo a ustedes con la siguiente intención:

tengo tres Dbedit de los cuales son uno de Cantidad, precio unitario, Valor total.

Puse el determinado codigo, en el evento Onchange del dbedit "Precio unitario" para que los valores se vallan calculando automaticamente.

Pero el asunto es que como todos saben al ejecutarse el programa los edits se autollenan y da error.
tambien pasa cuando insertas la tabla, al "Cambiar de contenido" y quedarse vacio, se ejecuta el codigo y al estar vacios los edits da error.

tienen alguna idea? (quiero evitar el uso de botones para calcular, y que se haga automaticamente luego de digitar el precio unitario)

saludos!
Responder Con Cita
  #2  
Antiguo 09-08-2013
Avatar de Caminante
Caminante Caminante is offline
Miembro
 
Registrado: oct 2010
Ubicación: Lima - Peru
Posts: 338
Poder: 14
Caminante Va camino a la fama
Bueno sin ver el codigo podria sugerirte usar el evento onexit en vez de onchange.

Espero te sea util

Saludos.
Responder Con Cita
  #3  
Antiguo 10-08-2013
feliz-58 feliz-58 is offline
Miembro
 
Registrado: sep 2012
Posts: 314
Poder: 12
feliz-58 Va por buen camino
El codigo

De la forma que dices lo probé, y funciona, pero mi intención principal es que se haga en tiempo real.

El codigo es el siguiente

Código Delphi [-]
var
a,b,c : real;

begin
a:=strtofloat(dbedit9.Text);
b:=Strtofloat(dbedit11.Text);
c:=a*b;
dbedit12.Text:=floattostr(C);
end;
Responder Con Cita
  #4  
Antiguo 10-08-2013
Avatar de Caminante
Caminante Caminante is offline
Miembro
 
Registrado: oct 2010
Ubicación: Lima - Peru
Posts: 338
Poder: 14
Caminante Va camino a la fama
Pensandolo mejor porque no creas un campo calculado. Asi el calculo se actualizara automaticamente al modificar algun dbedit.
Responder Con Cita
  #5  
Antiguo 10-08-2013
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Poder: 18
Chris Va por buen camino
Lo importante es saber el tipo de error que tu aplicación está presentando. Como no lo has dicho, vamos a suponer que es EDatabaseError. Ese tipo de error usaré para el siguiente código de ejemplo. Cambialo con respecto al tipo de error que tengas:

Código Delphi [-]
var
    a,b,c : real;

begin
    try
        a:=strtofloat(dbedit9.Text);
        b:=Strtofloat(dbedit11.Text);
        c:=a*b;
        dbedit12.Text:=floattostr(C);
        
    // cambia EDatabaseError por el error que tengas.
    except on EDatabaseError do { nada } ;
    end;
end;

Como veras, la solución pasa por simplemente ignorar el error. Aunque seguramente existen muchas más soluciones, creo que ésta es una de las más seguras. Usar la propiedad Active del formario puede introducir bugs muy difíciles de rastrear.

Saludos!
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
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
Ejecutar procedimiento cuando se apaga la PC pape19 Varios 2 01-11-2012 18:31:11
Solo 1 cuenta activa en ftp del servidor chrids506 Internet 0 22-02-2008 17:34:59
Actualizar las tablas solo cuando han cambiado JULIPO MySQL 5 27-06-2006 13:45:14
Uso de SUSPEND; Solo cuando el SP devuelve valores Paoti Firebird e Interbase 1 27-05-2006 08:16:57
Como averiguar que ventana de windows esta activa? JuanErasmo API de Windows 5 17-04-2006 22:47:40


La franja horaria es GMT +2. Ahora son las 22:00:26.


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