![]() |
![]() |
| Paypal | 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:
![]() |
![]() |
|
|
|