Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 15-07-2022
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.289
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
-Syntax Censor- WITH, GOTO, and LABEL

Hace poco desde Embarcadero se propuso un debate sobre el uso de algunos elementos de la sintaxis de Delphi (sintax censor).
Fue sobre el FreeAndNil.

Tuvo bastante éxito y salieron opiniones y argumentos interesantes, así que ahora han propuesto uno nuevo. Me ha parecido interesante y lo traslado aquí (aunque creo que alguna vez ya hemos comentado sobre el tema).

En concreto este va sobre el uso deestos 2 elementos de la sintaxis en Delphi (y pongo las 4 respuestas posibles):

(1) WITH
  • ¡Me encanta!
  • Tiene sus usos, preservarlo
  • Deprecar y generar un Warning al usarlo
  • Eliminarlo definitivamente con fuego!!

(2) GOTO/LABEL
  • ¡Me encanta!
  • Tiene sus usos, preservarlo
  • Deprecar y generar un Warning al usarlo
  • Eliminarlo definitivamente con fuego!!
Estaría bien, escoger y poner un pequeño comentario justificando la respuesta.

Animaros!!!
__________________
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.
Responder Con Cita
  #2  
Antiguo 15-07-2022
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.289
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Contesto el primero...
---------------------------------------------------------------


(1) WITH => Tiene sus usos, preservarlo

Personalmente no lo uso y además lo desaconsejo por los errores que puede producir y las confusiones que puede generar cuando lees código (ya seas tú mismo o otra persona).

Si lo que se puede evitar con el WITH, es algo muy largo tipo:

Código Delphi [-]
TBitBtn(Builder.FormPresentacion.aControles[i])...
TBitBtn(Builder.FormPresentacion.aControles[i])...
TBitBtn(Builder.FormPresentacion.aControles[i])...

Lo que hago es crear una variable, asignarlo y utilizar la variable:

Código Delphi [-]
c := TBitBtn(Builder.FormPresentacion.aControles[i]);
c...
c...

Aun así voto por dejarlo porque entiendo que a otras personas les puede ser útil.


(2) GOTO/LABEL => Eliminarlo definitivamente con fuego!!

Sólo lo uso en ficheros .CMD/.BAT que uso para automatización. En Delphi nunca lo he usado, es más, ni sabía que se podía utilizar.
__________________
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.
Responder Con Cita
  #3  
Antiguo 15-07-2022
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola a todos,

Voto por dejar el "with"... aunque ciertamente... puede confundir... pero depende y cómo: si se usa bien (si no se andan mezclando) puede estar bien, aunque, en efecto no deja de ser algo que puede evitarse. Y respecto del "goto / label" opino lo que tú, Germán, no lo he usado nunca en Delphi, y, es porque no lo he visto necesario hasta ahora.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #4  
Antiguo 15-07-2022
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.055
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
With: Nunca lo uso. Aunque lo dejaría pero avisaría de que puede ser peligroso. (No está esa opción).
Goto: No sabía que existiera para Delphi.
Responder Con Cita
  #5  
Antiguo 15-07-2022
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.557
Poder: 25
egostar Va camino a la fama
WITH => Tiene sus usos, preservarlo

Me es útil cuando no quieres crear una variable pero quieres utilizar el objeto para algo específico

Código Delphi [-]
with objeto.create do
begin
  ....
end;

Pero..... como siempre hay un pero, en otros usos resulta en errores de lógica cuasi fatales.

GOTO/LABEL => Deprecar y generar un Warning al usarlo

Lo usé con Turbo Pascal 5.0 y me fue de utilidad, lo dejaría solo por cuestiones sentimentales

Saludos
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #6  
Antiguo 17-07-2022
Avatar de ElKurgan
[ElKurgan] ElKurgan is offline
Miembro Premium
 
Registrado: nov 2005
Posts: 1.235
Poder: 20
ElKurgan Va camino a la fama
Thumbs up

With -> Preservarlo, lo usa muchísima gente

Goto/label -> Tampoco lo he usado nunca, así que no veo porqué debería usarlo a partir de ahora

Saludos
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Error al usar operadores ternarios con goto aguml C++ Builder 18 01-06-2017 16:47:43
¿Cual es la diferencia entre Find Key y Goto Key? Jere_84 Varios 5 09-04-2012 18:32:52
Incorrect syntax near Ledian_Fdez SQL 4 03-05-2010 14:41:26
Error con goto en excel. Gaim2205 Servers 0 18-03-2009 23:47:19
Error de goto afuera mjjj Varios 2 28-07-2008 21:35:30


La franja horaria es GMT +2. Ahora son las 17:25:05.


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
Copyright 1996-2007 Club Delphi