FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Se puede hacer un else en un While not query1.eof Do?
hola a todos, tengo un inconveniete con un BUCLE, quiero ponerle un else a un While not query1.eof do pero me salta este error:
'END' expected but 'ELSE' found Este es bucle que quiero utilizar:
la idea de este bucle es que busque si el codigo ingresado no se repite en la base de datos... me darian alguna sugerencia? o alguna forma de modificarla para que me funcione, ya probe de muchas maneras sin usar ELSE pero no pude resolverlo Desde ya muchas gracias..... Última edición por negrokau fecha: 17-10-2011 a las 15:37:10. |
#2
|
||||
|
||||
Está mal anidado los if then begin end
Fíjate bien... |
#3
|
|||
|
|||
ya lo corregi.... pero igual da el mismo error....
|
#4
|
||||
|
||||
Y ¿por qué no nos muestras como lo "corregiste"?
// Saludos |
#5
|
|||
|
|||
Asi esta mi proceso..... ya lo mire muchas veces y creo que esta bien desde mi punto de vista... corrijanme nomas si deje pasar algo... gracias |
#6
|
||||
|
||||
eres conciente de que el else despues del end del while... es del primer if verdad?
en todo caso para que hacer un do while si estas verificando si el codigo ingresado existe via un query
__________________
Dulce Regalo que Satanas manda para mi..... |
#7
|
||||
|
||||
¿y ese código de dónde viene?
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código Únete al grupo Teaming clubdelphi | Colabora mediante Paypal Última edición por Casimiro Notevi fecha: 17-10-2011 a las 16:10:11. |
#8
|
||||
|
||||
Si indentaras el código apropiadamente sería más fácil de ver. Te falta el end del if exterior. Lo tienes que poner justo despúés del end del while.
// Saludos |
#9
|
||||
|
||||
Lo que sucede aquí es una incompresible falta de atención y lectura a la sintaxis y gramática de Pascal. Con todo respeto.
TODA instrucción debe finalizar con ; TODO begin debe ir con su correspondiente end El error se debe a un cierre prematuro debido a un punto y coma colocado después del end de la parte then. Un IF se "cierra" colocando el ; al final. Es decir:
Simple: Repasar gramática y sintaxis. Saludos, |
#10
|
||||
|
||||
Bueno, esto, de hecho, no es cierto En pascal, el punto y coma es un separador de instrucciones, no un terminador.
// Saludos |
#11
|
||||
|
||||
Hay alguna excepción a la norma, ejemplo:
|
#12
|
||||
|
||||
No es una excepción, es sólo que, al no haber sentencia posterior, no es necesario. Como dije, en pascal el punto y coma no termina, separa. Cosa, por ejemplo, que no ocurre en C, en donde el punto y coma sí es un terminador.
// Saludos |
#13
|
||||
|
||||
sin temor a equivocarme... lo que negrokau quiere hacer es validar si un codigo ya existe
pero me parece que no lo esta haciendo correctamente podrias usar el evento ONValidate en el campo y ahi mismo podrias verificar mediante un query si el codigo existe o no a mi parecer el do while esta de mas (salvo que en el query te jale varios registros iguales :S)
__________________
Dulce Regalo que Satanas manda para mi..... |
#14
|
|||
|
|||
Cita:
guardar, es por eso que quiero poner un else al while... Última edición por negrokau fecha: 17-10-2011 a las 16:59:13. |
#15
|
||||
|
||||
A ver, un while no lleva un else. Punto.
Ahora, como ya te han observado, más allá del error propiamente sintáctico, tienes un error de concepto. No necesitas recorrer los resultados de una consulta para determinar que un código ya se ha introducido. Únicamente necesitarías saber si la consulta regresa por lo menos un registro, para lo cual cuentas con la propiedad IsEmpty del Query. // Saludos |
#16
|
||||
|
||||
Cita:
El "terminador" que se me ocurre es el punto:
Jeje Saludos, |
#17
|
|||
|
|||
Ya tengo claro que el while no lleva else. Ahora el problema que tengo es que al encontrar un mismo codigo tendria que el focus posicionarse en cod_barra, pero igual recorre todo el algoritmo y guarda..., como le hago para que no guarde si encuentra un mismo codigo y que el focus se situe en cod_barra... |
#18
|
|||
|
|||
Cita:
|
#19
|
||||
|
||||
yo lo tengo mas o menos asi
como ubicas el ONvalidate? en el query o tabla donde estas grabando la informacion le das doble click al componente y te salen los campos persistentes.. en el campos en el cual pretendes grabar el "codigo", busca en el object inspector.. el evento Onvalidate... ahi colocas el codigo para verificar si existe o no
__________________
Dulce Regalo que Satanas manda para mi..... |
#20
|
||||
|
||||
Debes explicar primero EXACTAMENTE qué quiéres hacer, porque ese while, aparentemente, no sirve para nada, como ya han comentado.
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
TQuery (Query1->SQL->Add()) | lmpadron | C++ Builder | 2 | 11-03-2009 17:59:37 |
¿¿Se puede Hacer?? | NEG1414 | C++ Builder | 7 | 02-11-2008 22:13:10 |
Se puede hacer esto ??????? | AMINOA2R | Firebird e Interbase | 2 | 21-10-2005 17:50:59 |
Se puede hacer esto en POO? | adlfv | OOP | 8 | 26-09-2005 16:28:55 |
se puede hacer | armando | Conexión con bases de datos | 6 | 20-05-2004 05:12:26 |
|