![]() |
Salir del for select cuando se cumpla una condición
Hola foro, estoy desarrollando el proceso de albaraneado de las líneas de pedido de los clientes de una empresa de distribución. Utilizo D5 y FB1.5.
Cuando se quieren servir las líneas de un cliente compruebo que por lo menos se pueda servir una línea, para de esta manera crear la cabecera de albarán y con posterioridad añadir la líneas a dicha cabecera. Este proceso lo hago en un SP de la siguiente manera.
Cuando encuentro la primera línea ya no me interesa comprobar el resto (la cabecera de albarán se puede crear), por lo que desearía salirm de la ejecución del for select. Yo había pensado en lo siguente :
Para así evitar las comprobaciones, pero no me parece una forma muy ortodoxa de realizarlo, por lo que pregunto si alguien conoce alguna forma de salir de la ejecución del for select. Gracias por vuestra atención. |
Hola Ivanzinho!
Prueba con esto, creo que te puede servir
No lo he probado aún, después nos cuentas los resultados. Saludos |
Corrección, me parece que lo que te puede servir es
Espero que sea útil |
Gracias Héctor, lo pruebo y ya os comento.
|
Hola,
Creo que podrías utilizar la instrucción "break" para hacer lo que dices. Con "Exit" no solamente saldrás del bucle en cuestión, sino también del procedimiento o función en que esté dicho bucle. Con "break" saldrás del bucle, pero no del bloque (procedimiento o función) en que se encuentre este. |
Es justo como dice dec, gracias a los dos
|
Hola,
Aquí, aquí se ve quién sabe y quién no sabe... ¿Pues no que he acertado sin siquiera ver de qué se trataba? Me explico: he acertado por casualidad, y ahí se demuestra que el que sabe, sabe. En serio, pensaba en un bucle de Delphi, fuera un "for" o fuera un "while", pero, no he pensado en modo alguno en Interbase/FireBird, es decir, en el bucle "for select", así pues, he acertado, pero de casualidad... porque se usa la misma instrucción "break" en estos casos... lo mismo pasa con C#, y supongo que igual con C y C++. ¡Soy de lo que no hay! ¿Eh? Pues eso. :D |
Cita:
|
Resp
El ciclo lo puedes romper con break.
Suspende Es para indicar que ese registro se retorna y el exit creo que sale del modulo completamente aparte d eromper el ciclo(lo dle exit no estoy 100% seguro luego que verifique te digo) |
La franja horaria es GMT +2. Ahora son las 05:05:49. |
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