Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Entender una sentencia (https://www.clubdelphi.com/foros/showthread.php?t=24801)

Renees 02-09-2005 15:55:14

Entender una sentencia
 
hola, bueno mi consulta la siguiente. en un ejemplo que me dio el maestro dec, tengo la siguiente sentencia:

Pncontroles es un Tpanel
Pnvideo es un Tpanel

procedure TfrmPrincipal.pnVideoMouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
pnControles.Visible := Y = pnVideo.Height -1; // esta sentencia No la entiendo end;

No la entiendo porque, Pense que Pncontroles.visible aceptaba solamente TRUE O FALSE, despues se me complica mas cuando sigue la sentencia
Y = pnVideo.Height -1;

bueno como veran son novato todavia en esto asi que espero sepan entenderme.

desde ya muchas gracias

dec 02-09-2005 16:04:43

Hola,

Como tú dices la propiedad "Visible" es o "true" o "false" y no hay más ;) Lo que sucede es que el resultado de evaluar la expresión:

Código Delphi [-]
   Y = pnVideo.Height -1
... termina en "true" o "false". Esto es, el componente será visible si el resultado de evaluar esa expresión es "true", y no lo será en caso contrario. Dicho de otro modo, ¿Es la variable "Y" igual a la propiedad "Height" menos uno? ¿Sí? De acuerdo, entonces "Visible" será "true" ;) ¿No lo es? Pues nada de mostrar el componente, no faltaba más ;)

Quiere decirse que puedes controlar el estado de la propiedad "Visible" (y todas las propiedades o variables Booleanas, en fin) mediante la evaluación de expresiones, mediante el resultado de funciones, en fin, no solamente con un "true" o "false", o, por mejor decir, obteniendo el correspondiente "true" o "false" de "algo" que lo indique, sea una expresión a evaluar, sea el resultado de una función, etc.

Tal vez quedaría más claro haciendo uso de paréntesis. Supongamos esta instrucción:

Código Delphi [-]
 FormPrincipal.Visible := (FormPrincipal.Height = 500);
¿Será visible el formulario "FormPrincipal"? Sí lo será, siempre que su propiedad "Height" valga 500; en cualquier otro caso el formulario no será visible.

marceloalegre 02-09-2005 16:15:06

Encerrarlo entre parentesis sería mas claro para que evites confusiones:

Código:

pnControles.Visible := (Y = pnVideo.Height -1);
mas claro verdad?
;)

Saludos!

marceloalegre 02-09-2005 16:16:40

jaja dec! escribi justo eso y veo que nos cruzamos,, te me adelantaste editando tu post ;)

Saludos!

Renees 02-09-2005 17:44:27

Consulta aclarada
 
Nuevamente Muchas Gracias DEC y Tambien kanvictor; de verdad que pensaba que era algo asi; pero tenias mi dudas. Con mi aprendizaje adquirido que es muy escaso lo ubiera echo asi. jejejejeeee

if Y = pnvideo.Height - 1 then
pn controles.Visibles := true;


Cada ves que aprendo algo nuevo, me doy cuenta que no se nada.

Gracias por aclararme la duda, y sobre todo a DEC. gracias.

dec 02-09-2005 19:35:01

Hola,

Cita:

Empezado por kanvictor
jaja dec! escribi justo eso y veo que nos cruzamos,, te me adelantaste editando tu post ;)

Así es la verdad, porque cuando publiqué el mensaje (luego de editarlo) vi que íbamos por el mismo camino ;)

Cita:

Empezado por Renees
Cada ves que aprendo algo nuevo, me doy cuenta que no se nada.

¡Bienvenido al Club! Quiero decir que lo mismo nos ocurre a no pocos, por no decir a todos, que siempre habrá quien pueda molestarse. ¡Él sabrá! ;)


La franja horaria es GMT +2. Ahora son las 06:41:16.

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