Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   como regresar de un procedimiento sin que este termine de ejecutarse (https://www.clubdelphi.com/foros/showthread.php?t=73222)

oscarac 08-04-2011 17:10:06

como regresar de un procedimiento sin que este termine de ejecutarse
 
buenos dias
les explico mi duda

antecedentes
tenemos un form con varias opciones para sacar un reporte de compras por ejemplo

Cita:

compras analiticas
compras resumidas por Tipo de Documento
compras por Proveedor
compras exoneradas
y dependiendo de lo que se escoja se activas mas criterios

ejemplo... si escojo :
compras analiticas... debo escoger el rango de fechas
compras por proveedor... el rango de proveedor o proveedores
compras exoneradas ... los importes hasta cuanto se considera exonera


hasta ahi todo bien

el problema se origina cuando se hace click en el boton Procesar...

Duda

en el evento click del boton procesar hago preguntas
Código Delphi [-]
 
if rgRango.ItemIndex = 1 then  // compras por proveedor
   begin
      if edtProveedor.text = '' then  // si es proveedor no tiene dato que regrese a colocarlo
         edtproveedor.setfocus;
   End
..
..
GeneraReporte

entonces...
el flujo llega a edtproveedor.setfocus... pero no se "queda" ahi y continua hasta GeneraReporte

me gustaria que no GenereReporte hasta que los datos esten validados...

espero haber sido entendible...alguien tiene alguna idea?
de antemano gracias

gluglu 08-04-2011 18:09:05

Código Delphi [-]
Exit;

;)

cloayza 09-04-2011 06:34:48

Cita:

Empezado por gluglu (Mensaje 396338)
Código Delphi [-]
Exit;

;)

Fácil y bonito......:D:D:D

JoseAntonio 09-04-2011 08:51:12

Cita:

Empezado por oscarac (Mensaje 396324)
buenos dias
....
Código Delphi [-]
 
if rgRango.ItemIndex = 1 then  // compras por proveedor
   begin
      if edtProveedor.text = '' then  // si es proveedor no tiene dato que regrese a colocarlo
         edtproveedor.setfocus;
   End
..
..
GeneraReporte


deberia ser asi:

Código Delphi [-]
 
if rgRango.ItemIndex = 1 then  // compras por proveedor
   begin
      if edtProveedor.text = '' then begin  // si es proveedor no tiene dato que regrese a colocarlo
         edtproveedor.setfocus;
         raise exception.create('Debe elegir un proveedor');
    End;
   End
..
..
GeneraReporte

newtron 09-04-2011 09:13:09

Hola.

Yo lo he entendido de otra forma, que no continue hasta que no introduzca el campo que necesita y eso creo que la mejor manera de hacerlo es llamando a un formulario modal para que te pida los campos que necesitas o en vez de usar un edit usar un inputbox pero eso queda bastante más cutre.

Saludos


La franja horaria es GMT +2. Ahora son las 06:42:03.

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