Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #25  
Antiguo 20-07-2015
Avatar de olbeup
olbeup olbeup is offline
Miembro
 
Registrado: jul 2005
Ubicación: Santiago de la Ribera (España)
Posts: 688
Poder: 22
olbeup Va camino a la fama
Cita:
Empezado por Lepe Ver Mensaje
Coincido en que hay que prohibirlo.

http://stackoverflow.com/questions/7...with-in-delphi

Si se usa como :
Código Delphi [-]
with Tquery.create(nil) do begin 
  open
  sql := 'blah blha';
  ExecSql;
  Free;
end;
Pues vale... aunque eso debería ser una función llamada ExecSql( const sql : string) con todo el código dentro, así que aún así no debería usarse el with.

El problema que he visto en varios sitios es este:
Código Delphi [-]
procedure TForm3.HazAlgo();
with Form1, Form2 do begin
  ... un chorro código aquí
  ClientWitdth := 300;
  ... un chorro código aquí
end;
end;
A qué se refiere el Clientwidth, a Self, a Form1, a Form2... y las rutinas que se llaman dentro del with, ¿donde están definidas?.

Pues eso, claridad, legibilidad, seguridad... Mejor "sin" que "con" , y si conduces, mejor "sin" .
El último objecto (Form2) es el que prevalece y el ClienteWidth sólo afectara el cambio al Form2.
Código Delphi [-]
with Form1, Form2 do begin
es igual a
Código Delphi [-]
with Form1 do
  with Form2 do begin
    ClientWitdth := 300;
    ...
    ...
  end;
Si los objetos obj1, obj2, objn son iguales, sólo afectara al último objecto, si tienes todo esto claro, pues NO tendrás problema con el with.

ejemplo:
Código Delphi [-]
type TDate = record
  Day: Integer;
  Month: Integer;
  Year: Integer;
end;
var OrderDate: TDate;
La siguiente con la declaración.
Código Delphi [-]
with OrderDate do
  if Month = 12 then
  begin
    Month := 1;
    Year := Year + 1;
  end
  else
    Month := Month + 1;
Esto es equivalente a
Código Delphi [-]
if OrderDate.Month = 12 then
begin
  OrderDate.Month := 1;
  OrderDate.Year := OrderDate.Year + 1;
end
else
  OrderDate.Month := OrderDate.Month + 1;
Y si quieres coger el año del Form2
Código Delphi [-]
with OrderDate do
  begin
    Year := Form2.Year;
    ...
  end;
Un saludo.
__________________
Al hacer una consulta SQL, haz que los demás te entiendan y disfruten de ella, será tú reflejo de tú saber.
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
Utilización de Uses Livey Varios 1 26-05-2011 00:20:17
Utilización DBLookupListBox? jona-182 SQL 0 11-09-2008 04:16:36
Utilización del iif efelix MS SQL Server 11 22-01-2007 19:13:42
utilizacion trigger dmagui Firebird e Interbase 16 10-06-2005 01:38:55
Utilización de DLL's Enan0 Varios 2 19-05-2004 20:43:13


La franja horaria es GMT +2. Ahora son las 07:05:15.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi