Club Delphi  
    Paypal   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

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-01-2010
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.610
Poder: 32
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Cita:
Empezado por Neftali Ver Mensaje
En ese caso tal vez se podría combinar con el State del Dataset para verificar que se está modificando el valor y no cargándolo.

Supongo que habrá diferencia de estado cuando se está navegando a cuando realmente el usuario lo modifica (edita).
Concuerdo contigo, Germán. Pensando en una solución simple, basta con agregar una condición más al If del manejador de evento.

Código Delphi [-]
procedure TFEdtarPARTESLIN.DBCheckEXTRAClick(Sender: TObject);
begin
  if DBCheckEXTRA.Checked And (ConjuntoDeDatos.State In dsEditModes) then
  begin
    if MessageDlg('Atención !!!!'+#13+#10+''+#13+#10+
       'Se asignarán todas las Horas como Horas Extras.'+#13+#10+''+#13+#10+
       '¿ Desea continuar ?', mtWarning, [mbYes, mbNo], 0) = mrYes then
      CalculaHoras;
  end;
end;

Saludos.

Al González.
Responder Con Cita
  #2  
Antiguo 30-01-2010
Avatar de tgsistemas
tgsistemas tgsistemas is offline
Miembro
 
Registrado: dic 2003
Ubicación: Barcelona
Posts: 149
Poder: 23
tgsistemas Va por buen camino
Neftali, rgstuamigo y [Al González] gracias por la ayuda

efectivamente el estado del conjunto de datos dispara ese evento así que siguiendo vuestro sabio consejo lo he dejado así :
Código Delphi [-]
  if  (DataSource.State In dsEditModes) then
  begin
    if (DBCheckEXTRA.Checked = True) then
    begin
      if MessageDlg('Atención !!!!'+#13+#10+''+#13+#10+
               'Se asignarán todas las Horas como Horas Extras.'+#13+#10+''+#13+#10+
               '¿ Desea continuar ?', mtWarning, [mbYes, mbNo], 0) = mrYes then
        CalculaHoras;
    end else begin
      if MessageDlg('Atención !!!!'+#13+#10+''+#13+#10+
               'Las Horas dejarán de considerarse como Horas Extras y se distribuirán normalmente.'+#13+#10+''+#13+#10+
               '¿ Desea continuar ?', mtWarning, [mbYes, mbNo], 0) = mrYes then
        CalculaHoras;
    end;
  end;

de esa forma sólo se ejecuta al editar, en función del Checked o Unchecked muestro un mensaje diferente pero ambos pasan por la rutina de distribución de horas.

Muchas Gracias por la ayuda, por mi parte la duda queda resuelta.

Saludos
__________________
Toni | blog
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
duplicar un form para posteriormente modificar solo unos datos Ade Varios 5 21-08-2024 18:51:56
modificar datos con ibx lina maria Conexión con bases de datos 3 01-10-2008 16:34:54
modificar datos con ibquery mozambike Conexión con bases de datos 0 27-09-2008 23:50:47
DBCheckBox para Imprimir emeritos Impresión 9 04-06-2004 18:01:49
Modificar datos de una grid gescoto99 Conexión con bases de datos 7 21-05-2004 03:02:26


La franja horaria es GMT +2. Ahora son las 01:12:43.


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