Autor |
Mensaje |
v3ctor
Analista Programador
Registrado: May 2013
Mensajes: 1786
Edad: 44 Ubicación: Uruguay
|
Problemas Con Etiquetas De Goto
Public Sub VerificarRespaldo()
If Exist(ArchivoX) Then
Goto RESPALDO_CORRECTO
Else
Goto ERROR_RESPALDO
Endif
RESPALDO_CORRECTO:
Message.Info("Se respaldo correctamente en:" & gb.NewLine & ArchivoX)
' Goto SALIR '
ERROR_RESPALDO:
Message.Error("Ocurrio un error:" & gb.NewLine & Error.Text & gb.NewLine & Error.Where) esta linea se ejecuta sino descomento
goto salir. Mi pregunta es porque se ejecuta lo que esta después de la etiqueta no entiendo bien.
' SALIR:
End
=================== Software libre, programación libre, vida libre es la Public function Libertad()as Invendible
Proyectos: VisorRV1960,Taller2015,Tanteador
https://sourceforge.net/u/v3ctor-full/profile/
Blog: http://novatocodegambas.blogspot.com.uy/
|
#1 Lunes, 27 Abril 2015, 15:14 |
|
|
shordi
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4982
Edad: 64 Ubicación: Albacete
|
Re: Problemas Con Etiquetas De Goto
NUNCA uses GOTO. Es un recuerdo de los viejos años 60 del código espaguetti e inmanejable. No sé por qué Benoit lo mantiene ya que esas herencias del viejo BASIC son uno de los motivos por los que gambas está tan desprestigiado pero nunca, nunca lo uses.
La prueba del por qué no, la tienes en cómo pierdes el control del programa en sólo 10 líneas. La programación estructurada (que fué superada después por la POO) se inventó, casi, para eliminar el goto y sus problemas.
Puedes hacer lo mismo de mil maneras mucho más ortodoxas.
|
#2 Lunes, 27 Abril 2015, 16:26 |
|
|
vuott
Analista Programador
Registrado: Agosto 2013
Mensajes: 2086
Edad: 60 Ubicación:
|
Re: Problemas Con Etiquetas De Goto
porque se ejecuta lo que esta después de la etiqueta no entiendo bien.
Lo que no se ejecuta es solo lo que se coloca entre el comando Goto y la su etiqueta.
Todo lo que està colocado despues de su etiqueta es ejecutable.
código espaguetti
....siempre fue un código muy interesante...
|
#3 Lunes, 27 Abril 2015, 17:10 |
|
|
shordi
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4982
Edad: 64 Ubicación: Albacete
|
Re: Problemas Con Etiquetas De Goto
Citar: ...siempre fue un código muy interesante...
No creas, allá por los 80 teníamos en el curro un Fujitsu de como dos toneladas con un programa de gestión de personal hecho en cobol con código espaguetti. Eran casi 22.000 lineas de goto parriba, goto pabajo, goto pallá, goto pacá. Imposible de tocar una línea, so pena de descabalgarlo todo, cada vez que había que hacer algo se hacía en un programa aparte.
No es broma el lío en que te puede meter el código espaguetti (la de la foto, sin ir más lejos, te busca un divorcio antes de acabarse el plato)
|
#4 Lunes, 27 Abril 2015, 17:59 |
|
|
vuott
Analista Programador
Registrado: Agosto 2013
Mensajes: 2086
Edad: 60 Ubicación:
|
Re: Problemas Con Etiquetas De Goto
te busca un divorcio antes de acabarse el plato
...algo me dice que tendré que cambiar restaurante !
última edición por vuott el Lunes, 27 Abril 2015, 18:50; editado 1 vez
|
#5 Lunes, 27 Abril 2015, 18:50 |
|
|
v3ctor
Analista Programador
Registrado: May 2013
Mensajes: 1786
Edad: 44 Ubicación: Uruguay
|
Re: Problemas Con Etiquetas De Goto
gracias a los dos.
shordi dame un ejemplo equivalente a
for
for
for
si condicion si goto etiqueta
next
next
next
etiqueta
=================== Software libre, programación libre, vida libre es la Public function Libertad()as Invendible
Proyectos: VisorRV1960,Taller2015,Tanteador
https://sourceforge.net/u/v3ctor-full/profile/
Blog: http://novatocodegambas.blogspot.com.uy/
|
#6 Lunes, 27 Abril 2015, 23:49 |
|
|
shordi
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4982
Edad: 64 Ubicación: Albacete
|
Re: Problemas Con Etiquetas De Goto
Es simple: Debes dividir el procedimiento en unidades coherentes
procedure uno
for
for
for
si condicion procedure2
next
next
next
end
procedure 2
aviso o lo que sea
end
|
#7 Martes, 28 Abril 2015, 00:43 |
|
|
Shell
Analista Programador
Registrado: Marzo 2010
Mensajes: 5278
Edad: 53 Ubicación: Al otro lado de la pantalla
|
Re: Problemas Con Etiquetas De Goto
La verdad es que no entendí la idea de incluir GOTO en gambas.
=================== Gambas Básico
"No es un bug, es una característica no documentada"
|
#8 Martes, 28 Abril 2015, 08:59 |
|
|
shordi
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4982
Edad: 64 Ubicación: Albacete
|
Re: Problemas Con Etiquetas De Goto
Tradición, supongo.
|
#9 Martes, 28 Abril 2015, 09:21 |
|
|
v3ctor
Analista Programador
Registrado: May 2013
Mensajes: 1786
Edad: 44 Ubicación: Uruguay
|
Re: Problemas Con Etiquetas De Goto
en el código de gambas esta en 234 lineas y tiene algunos usos extraños jajaja
=================== Software libre, programación libre, vida libre es la Public function Libertad()as Invendible
Proyectos: VisorRV1960,Taller2015,Tanteador
https://sourceforge.net/u/v3ctor-full/profile/
Blog: http://novatocodegambas.blogspot.com.uy/
|
#10 Martes, 28 Abril 2015, 09:42 |
|
|
|