![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
#1
|
|||
|
|||
No corre
Hola a todos, alguien puede ver este codigo y decirme como solucionarlo para que se ejecute ya que me da error en el ELSE //(4), y puedo hacerlo andar.
Código:
procedure TForm14.DBEdit2KeyPress(Sender: TObject; var Key: Char); Var n,m:Variant; begin //(1) If Key=#13 Then begin //(2) ModuloDatos.TblComprobantes.Active:=True; If ModuloDatos.TblComprobantes.Locate('Numero',TxtNumero.Text,[]) Then begin //(3) If ModuloDatos.TblComprobantes.FieldValues['Estado']<>'P' Then begin //(4) m:=ModuloDatos.TblComprobantes.FieldValues['Cod_soc']; If ModuloDatos.TblSocios.Locate('Cod_soc',m,[]) Then begin TxtSocio.Text:=m; end; n:=ModuloDatos.TblComprobantes.FieldValues['Cod_periodo']; If ModuloDatos.TblPeriodos.Locate('Cod_periodo',n,[]) Then begin TxtPeriodo.Text:=n; end; TxtImporte.Text:=ModuloDatos.TblComprobantes.FieldValues['Importe']; Confirmar.SetFocus Else //(4) begin ShowMessage('La factura Nº'+' '+TxtNumero.Text+' '+'ya fue cobrada!!!'); (Sender as TDBEdit).SelectAll; end Else //(3) begin ShowMessage('Factura no encontrada. Verifique el Número de la misma.'); (Sender as TDBEdit).SelectAll; end; //(3) end; //(1) end; Silvio.- |
#2
|
||||
|
||||
Cita:
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi ![]() P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#3
|
||||
|
||||
A primera vista a riego de equivocame, antes del Else //4,falta el end que cierra al begin //4
__________________
eLcHiCoTeMiDo - Rompecorazones profesional Yo no soy presumido; ¿Pero de qué sirve mi humilde opinión contra la de los espejos? Salva a un nylon, usa prendas de piel de foca ![]() |
#4
|
|||
|
|||
No corre
Uno de los errores que da es mas o menos: "END expected but ELSE", pero si le pongo el END como sugirio rcarrillom, me da otro error ya probe agregando END en todas partes y no hay forma que funcione...
|
#5
|
||||
|
||||
Hola, parece que está claro,
Cuenta los BEGIN que hay en la función (8) y los END que has puesto (6), te faltan 2. Prueba a indentar el código para meter los bloques begin-end unos dentro de otros para poder separarlos y tenerlos más claro visiblemente y no te ocurrirá este tipo de errores, que por otra parte es muy común en tipo de código como el que has puesto, con multitud de condiciones. Ej:
Espero te sirva. Saludos |
#6
|
||||
|
||||
Te faltan 2 "end", creo que uno antes de cada "else".
|
#7
|
||||
|
||||
Cita:
Lo siento, pero es que me saca de quicio ![]() |
#8
|
|||
|
|||
No corre
Bueno a mi tambien me sacaste de quicio la verdad!!!!, si pregunto es porque probe un monton de formas y no funciona, no me queda otra alternativa, de ultima el foro es para que nos ayudemos, sino tenes ganas ni siquiera contestes..., quien te crees que sos????????, no sabia que Bill Gate se hacia llamar Ñuño Martinez...
|
#9
|
|||
|
|||
No corre
Solo queria que vieran el codigo ya que por ahi ven errores en el mismo que no me doy cuenta..., nada mas que eso, igual, gracias.
|
#10
|
||||
|
||||
Jod... comó está la peña últimamente, es que no se puede decir nada a nadie.
Vamos hombre, que estamos en Navidad (casi casi), Felices fiestas a todos, Un abrazo |
#11
|
|||
|
|||
No corre
La verdad que ultimamente hay bastante mala onda en el foro!!!!!
|
#12
|
||||
|
||||
Cita:
![]() ¿verdad que algunos no se dan por aludidos? ![]() Lo que hay oir/leer ![]()
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#13
|
||||
|
||||
Tranquilos...
Cita:
Aqui ya no te debe marcar el error que mencionas.
Última edición por Albano fecha: 11-12-2006 a las 16:59:26. |
#14
|
||||
|
||||
Todo son maneras de trabajar más cómodamente, yo además de indentar el código suelo colocar los begins en la misma linea del condicional, ya que se que el begin esta siempre en la primera linea, pero no donde está el END. Al tenerlo indentado veo claramente el condicional y el END.
Además otra a la que me acostumbro mucho últimamente es a dejar una linea en blanco siempre antes de un condicional o de cualquier bloque begin-end. Vease:
Cita:
![]() Paz hermanos. Saludos |
#15
|
||||
|
||||
Cita:
![]() |
#16
|
|||
|
|||
No corre
Bueno muchas gracias, lo voy a probar...
Disculpen las molestias ocasionadas no fue mi intención, por ahi con 500 mensajes aprendo, gracias a la gente perfecta yo puedo aprender. Saludos.- |
#17
|
||||
|
||||
silviodp ¿no tienes las GExperts instaladas?
Tiene una opción maravillosa: pones el ratón en un begin pulsas CTRL + ALT + < cursor derecho > y te salta a su end correspondiente. El hecho de "leerte la cartilla" por el mal identado es una crítica constructiva aunque no lo creas, un buen identado hace que encuentres los errores rápidamente, además de ser una de las principales bases en programación. Añade un : y verás como el código se clarifica muchísimo más, porque hace las líneas más cortas y por ende lees más rápido. Si a esto le añades el acceso a campos persistentes tu código quedaría así:
Fíjate también que he eliminado las líneas en blanco porque hace que tu vista pierda el identado. Personalmente me gusta colocar el begin debajo de su if ya que aumenta la percepción visual de ese identado; además deja claro que lleva su begin correspondiente y por tanto hay más de una línea de código afectada. Si pones el begin al final de la línea, se olvida muchas veces al leerlo. Creo que ambas formas de poner el begin pertenecen a estandares distintos, solo es cuestión de decidirse por uno de ellos. Puede que te parezcan tonterías, el tiempo me dará la razón ![]() Otra cosita más, cuando hiciste ese código estabas algo dormido.... los espacios en blanco que añades a txtnumero se pueden quitar y añadir en el lado izquierdo y derecho, ahorrando 2 concatenaciones de Strings ![]() Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#18
|
|||
|
|||
Simplemente de acuerdo con el primer comentario de nuño martinez.
Cual es la duda si vos mismo sabes que estan mal los begin end?. Queres que te resuelvan el trabajo?. no es una cuestion de mala onda del foro. A mi siempre me ayudaron, a decir verdad, mas de lo que ayude. pero siempre con preguntas conceptuales que estoy seguro de que con su sola lectura ayudaban a los demas. perdon por mi opinion, soy medio zurdo como dicen en latinoamerica. Saludos... |
#19
|
|||
|
|||
No corre
DANY yo dije que alguna vez no me ayudaron???, solo que hay formas y formas de decir las cosas, ademas no quiero que ni vos ni nadie haga mi trabajo, (apenas que podras con el tuyo...), solo que pedi ayuda porque habia probado varias formas y no andaba, obvio que sabia que el problema era con el begin-end..., además nunca me ayudaste en nada vos.
Insisto en algo: hay veces que por mas que las cosas sean obvias, para algunos, por ahi para otros no tanto y hay que responder amablemente, no hacerse el "hombre" porque no nos vemos y estamos lejos... |
#20
|
|||
|
|||
La verdad nunca es triste, lo que no tiene es remedio...
La verdad no ofende. |
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
la aplicacion no corre en w98 | DANY | OOP | 3 | 02-02-2007 01:05:16 |
corre delphi codigo de borland c ?? | torito | Varios | 1 | 16-06-2005 18:50:16 |
Mi aplicacion no corre desde CD | Coco_jac | Varios | 6 | 09-05-2005 21:14:10 |
Problemas com mi aplicacion, no corre desde CD ??? | Coco_jac | Conexión con bases de datos | 1 | 08-05-2005 03:45:19 |
Delphi corre en Mac? | adolfoz | API de Windows | 3 | 29-10-2004 09:47:25 |
![]() |
|