Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-01-2015
atani123 atani123 is offline
Miembro
 
Registrado: jul 2006
Posts: 63
Poder: 18
atani123 Va por buen camino
Valor por defecto en variable TRect

Me gustaria saber como puedo poner un valor inicial a una variable del tipo TRect, por ejemplo. Con la boolean se como hacerlo, pero no se si es posible con la TRect.

var _firstcall : boolean = true;
var _workarea : TRect = Rect(0,0,0,0);

La primera linea funciona, la segunda da error.


Gracias a todos.
Responder Con Cita
  #2  
Antiguo 28-01-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.039
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Recuerda poner los tags al código fuente, ejemplo:



Gracias
Responder Con Cita
  #3  
Antiguo 28-01-2015
atani123 atani123 is offline
Miembro
 
Registrado: jul 2006
Posts: 63
Poder: 18
atani123 Va por buen camino
Lo tendre en cuenta para futuros mensajes.

Gracias y perdona.
Responder Con Cita
  #4  
Antiguo 28-01-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.039
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por atani123 Ver Mensaje
Lo tendre en cuenta para futuros mensajes.
Gracias y perdona.
Gracias a ti, por tu colaboración
Responder Con Cita
  #5  
Antiguo 28-01-2015
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.272
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Aquí tienes un par de ejemplos de cómo hacerlo.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #6  
Antiguo 28-01-2015
atani123 atani123 is offline
Miembro
 
Registrado: jul 2006
Posts: 63
Poder: 18
atani123 Va por buen camino
Gracias Neftali, pero me referia a inicializar la variable en su definicion
Responder Con Cita
  #7  
Antiguo 28-01-2015
Mendizabal Mendizabal is offline
Miembro
NULL
 
Registrado: sep 2014
Posts: 31
Poder: 0
Mendizabal Va por buen camino
En su declaración no vas a poder inicializarla. Y menos llamando a una función (Rect). Eso no tiene mucha sentido, la verdad.

Inicializala antes de llamarla. Y lo mejor sería que no la declarases como variable global, que me huelo que es lo que quieres hacer.

Última edición por Mendizabal fecha: 28-01-2015 a las 17:45:43.
Responder Con Cita
  #8  
Antiguo 28-01-2015
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.272
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Al ser un tipo recordno se si vas a poder.

Añado otra forma más a as antes comentadas.
en la últimas versiones de Delphi, puedes inicializarlo utilizando lo siguiente:

Código Delphi [-]
var
  rec:TRect;
begin
  //...
  rec := Default(TRect);
  ...
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #9  
Antiguo 28-01-2015
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 29
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Cita:
Empezado por Mendizabal Ver Mensaje
En su declaración no vas a poder inicializarla.
Creo que es responsable desmentir lo anterior. Sí es posible inicializar una variable record, sólo que es menester expresar el nombre de los campos:
Código Delphi [-]
Var
  R1 :TRect = (Left : 0; Top : 0; Right :0; Bottom : 0);
Incluso puede ser inicializada sólo una parte:
Código Delphi [-]
Var
  R2 :TRect = (Top : 10; Bottom : 100);
En cualquier caso, la mención de los campos debe ser en el mismo orden de su declaración, de lo contrario el compilador reportará un error.

Conviene añadir que, como cualquier otra inicialización de variable en su declaración, ésta no puede ser local. Por otra parte, una inicialización en ceros es innecesaria, ya que todas las variables globales y sus campos están en blanco (0, Nil, '', ...) al comenzar la ejecución. Quizá a esto último se refiere Mendizabal, cuando dice:
Cita:
Empezado por Mendizabal Ver Mensaje
Eso no tiene mucha sentido
Finalmente, decir que las variables globales suelen portar muchos estigmas (casi siempre producto de dogmas), pero no tiene nada de malo usarlas cuando existe una razonable justificación.

Un saludo.
Responder Con Cita
  #10  
Antiguo 28-01-2015
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.272
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por Al González Ver Mensaje
Sí es posible inicializar una variable record, sólo que es menester expresar el nombre de los campos
Grande!! Al.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #11  
Antiguo 28-01-2015
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 29
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Cita:
Empezado por Neftali Ver Mensaje
Grande!! Al.
Je-je, viniendo de un grande y por algo tan sencillo, eso resultó halagador.

Agrego: La función Default de las nuevas versiones de Delphi es muy útil y práctica. Hay muchas cosas modernas en el compilador que ya todos deberíamos estar aprovechando.

Última edición por Al González fecha: 28-01-2015 a las 21:03:42.
Responder Con Cita
  #12  
Antiguo 29-01-2015
atani123 atani123 is offline
Miembro
 
Registrado: jul 2006
Posts: 63
Poder: 18
atani123 Va por buen camino
Al, gracias tio, justo lo que andaba buscando
Responder Con Cita
  #13  
Antiguo 29-01-2015
Mendizabal Mendizabal is offline
Miembro
NULL
 
Registrado: sep 2014
Posts: 31
Poder: 0
Mendizabal Va por buen camino
Cita:
Empezado por Al González Ver Mensaje
Creo que es responsable desmentir lo anterior. Sí es posible inicializar una variable record, sólo que es menester expresar el nombre de los campos:
Código Delphi [-]
Var
  R1 :TRect = (Left : 0; Top : 0; Right :0; Bottom : 0);
Incluso puede ser inicializada sólo una parte:
Código Delphi [-]
Var
  R2 :TRect = (Top : 10; Bottom : 100);
En cualquier caso, la mención de los campos debe ser en el mismo orden de su declaración, de lo contrario el compilador reportará un error.

Conviene añadir que, como cualquier otra inicialización de variable en su declaración, ésta no puede ser local. Por otra parte, una inicialización en ceros es innecesaria, ya que todas las variables globales y sus campos están en blanco (0, Nil, '', ...) al comenzar la ejecución. Quizá a esto último se refiere Mendizabal, cuando dice:


Finalmente, decir que las variables globales suelen portar muchos estigmas (casi siempre producto de dogmas), pero no tiene nada de malo usarlas cuando existe una razonable justificación.

Un saludo.


No te acostarás sin saber una cosa más
Responder Con Cita
Respuesta



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
Asignar el valor de una variable de php a una variable js que puede no existir jandroruiz PHP 5 04-03-2013 12:23:02
Valor Por Defecto DBlookupComboBox hcalero Conexión con bases de datos 0 22-01-2008 10:54:17
Valor por defecto en DBRadioGroup RyAr Varios 1 01-07-2004 14:46:53
Valor por defecto en OnNewRecord RyAr Conexión con bases de datos 4 22-06-2004 10:49:32
Valor por defecto en un dbgrid NuncaMas Conexión con bases de datos 3 28-01-2004 20:31:19


La franja horaria es GMT +2. Ahora son las 02:48:28.


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
Copyright 1996-2007 Club Delphi