PDA

Ver la Versión Completa : Duda sobre With


lucasarts_18
25-08-2005, 23:12:56
Hola a todos:

Hace mucho tiempo que tengo esta duda:

En VB cuando uno ponía un With, se podía acceder a los métodos,propiedades del objeto que se hace referencia mediante with con un . (Punto), esto inmediatamente traia todas las características (métodos,propiedades) relacionados con ese objeto...

Hay algo que se pueda hacer en Delphi similar a esto...:confused:

Saludos.

jmariano
25-08-2005, 23:25:45
En Delphi también existe la sentencia "With" (con el mismo significado que en VB)


with Button1 do
begin
Caption := 'Hola';
Height := 30;
end;


Para traer las propiedades o métodos de un objeto sólo has de pulsar [Control] + [Barra espaciadora] (esto sólo hace falta dentro del "With", como ya te habrás fijado, en Delphi después de especificar el nombre del objeto seguido del punto aparecen las propiedades y métodos del objeto en cuestión).

Otra cosa, si quieres ver los parámetros que recibe un método sólo has de pulsar: [Control] + [Shift] + [Barra espaciadora].

Saludos!

lucasarts_18
25-08-2005, 23:33:17
Para traer las propiedades o métodos de un objeto sólo has de pulsar [Control] + [Barra espaciadora]

Otra cosa, si quieres ver los parámetros que recibe un método sólo has de pulsar: [Control] + [Shift] + [Barra espaciadora].

Saludos!
Gracias, ahora sí :D

Saludos.

roman
25-08-2005, 23:43:55
Noten, sin embargo, que al oprimir Ctrl-Space dentro de un with, la lista presenta no sólo las propiedades del objeto "witheado" ( :) ) sino de todo lo que alcanza a ver, incluido el formulario. Aunque me pese decirlo, el dichoso punto de VB es una ventaja.

// Saludos

lucasarts_18
26-08-2005, 16:22:54
Hola Roman:

Gran punto a tener en cuenta sobre el alcance. no me había percatado..

Gracias..:)

mamcx
26-08-2005, 16:46:57
Lo que tiene implicaciones nefastas....

Quiere decir que si Contenedor tiene metodo AJA() y Contenido tiene metodo AJA() y le haces with a Contenido, no hay GARANTIA CLARA de que sea el aja que quieres, y luego te puede sacar un error y !aja! te lo adverti!

Es mejor practica pasar a una variable local si el asunto es de ahorrar espacio...

Aunque eso no quiere decir que es del todo malo el With, lo que pasa es que si tuviera el condenado . seria mejor...

roman
26-08-2005, 19:44:08
lo que pasa es que si tuviera el condenado . seria mejor...


Por eso digo, pesa aceptarlo, pero de que es una ventaja de VB / Delphi, lo es.

// Saludos