Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros temas > La Taberna
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #30  
Antiguo 20-09-2016
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 30
jhonny Va camino a la famajhonny Va camino a la fama
Cita:
Empezado por Neftali Ver Mensaje
Entiendo que la única utilidad del with dentro del lenguaje es eliminar determinadas "palabras" de forma reiterativa en un bloque de código.
Si resulta que para poder usar el with ahora vamos a introducir la necesidad de usar una nueva palabra, ¿no será mejor no utilizarlo?
Es decir, creo que usar el with (que creo que es lo que proponéis) usando un identificador (it o idem) es lo mismo (o es peor) que usar una variable y declararla del tipo correcto.

Me explico:

Ahora tenemos esto:

Código Delphi [-]
var
  John, Sarah : TCustomer;
begin
  // Set up the John's customer details
  with John do
  begin
    firstName := 'John';
    lastName  := 'Smith';
    address1  := '7 Park Drive';
    address2  := 'Branston';
    address3  := 'Grimworth';
    city      := 'Banmore';
    postCode  := 'BNM 1AB';
  end;

Para solventarlo, proponemos crear una directiva condicional y obligar a escribir esto:

Código Delphi [-]
var
  John, Sarah : TCustomer;
begin
  // Set up the John's customer details
  with John do
  begin
    idem.firstName := 'John';
    idem.lastName  := 'Smith';
    idem.address1  := '7 Park Drive';
    idem.address2  := 'Branston';
    idem.address3  := 'Grimworth';
    idem.city      := 'Banmore';
    idem.postCode  := 'BNM 1AB';
  end;

Creo que en comparación con esto, estamos liando las cosas...
Porque resulta que al final, para poder utilizar el with (cuya ventaja creo que es eliminar determinadas palabra repetitivas), estamos obligando al usuario a escribir más código con otra palabra que se repite (y menos entendible) que si escribiéramos el código natural.

Código Delphi [-]
var
  John, Sarah : TCustomer;
begin
  // Set up the John's customer details
  John.firstName := 'John';
  John.lastName  := 'Smith';
  John.address1  := '7 Park Drive';
  John.address2  := 'Branston';
  John.address3  := 'Grimworth';
  John.city      := 'Banmore';
  John.postCode  := 'BNM 1AB';

O no lo entiendo o no lo veo.

NOTA: El código de ejemplo está extraído de la explicación del WITH de DelphiBasics.

¡Caramba!, creo que lo que dije antes, ha quedado mucho mejor explicado y reflejado por Neftali en este post. Así que me uno a este comentario y al otro que escribió después de ese.
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
 



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
Analogías entre C++ y Object Pascal noob C++ Builder 3 16-02-2009 18:19:54
como usar object pascal y gtk Lionheart OOP 6 09-12-2005 19:31:08
manual de excepciones de object pascal para free pascal??? Garion OOP 3 27-05-2005 00:42:29
¿Object Pascal para todo? ReigDidion OOP 10 12-02-2004 08:28:07


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


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