FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
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 |
#2
|
||||
|
||||
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: ... 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: ¿Será visible el formulario "FormPrincipal"? Sí lo será, siempre que su propiedad "Height" valga 500; en cualquier otro caso el formulario no será visible. Última edición por dec fecha: 02-09-2005 a las 16:12:57. Razón: (ampliación del texto) |
#3
|
||||
|
||||
Encerrarlo entre parentesis sería mas claro para que evites confusiones:
Código:
pnControles.Visible := (Y = pnVideo.Height -1); Saludos! |
#4
|
||||
|
||||
jaja dec! escribi justo eso y veo que nos cruzamos,, te me adelantaste editando tu post
Saludos! |
#5
|
|||
|
|||
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. |
#6
|
||||
|
||||
Hola,
Cita:
Cita:
|
|
|
|