Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-06-2003
JMGR JMGR is offline
Miembro
 
Registrado: jun 2003
Ubicación: Santa Cruz de Tenerife
Posts: 46
Poder: 0
JMGR Va por buen camino
Editar propiedades

Buenas...
Estoy haciendo un boton que tiene un OpenDialog asociado, de manera que al hacer click se ejecute dicho dialogo. Hasta ahi bien, el problema es que la propiedad Filter del Open Dialog la tengo que rellenar a mano en el object inspector, y es bastante coñazo...

Me gustaria saber como puedo editar dicha propiedad con el editor que usa la clase OpenDialog

He estado mirando algo sobre registrar editores de propiedades pero todavia no he conseguido nada...

Muchas gracias y un saludo.
JM
Responder Con Cita
  #2  
Antiguo 02-06-2003
Julià T. Julià T. is offline
Miembro
 
Registrado: may 2003
Ubicación: en el teclado
Posts: 314
Poder: 21
Julià T. Va por buen camino
Puedes usar

Property Fichero:TFileName;

para que funcione cuando estás en diseño
Responder Con Cita
  #3  
Antiguo 03-06-2003
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Te hice un ejemplo que puedes bajar de mi página en la parte de ejemplos (http://www.delphi.com.ar), te cuento que no encontré ninguna documentación sobre este editor de propiedades, si alguien ha hecho esto anteriormente, le pido por favor que me informe de dónde sacó info.
Te cuento que el paquete está hecho en Delphi 5, así que puedes tener que cambiar algunos detalles para las versiones más modernas.

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #4  
Antiguo 03-06-2003
JMGR JMGR is offline
Miembro
 
Registrado: jun 2003
Ubicación: Santa Cruz de Tenerife
Posts: 46
Poder: 0
JMGR Va por buen camino
Gracias por el ejemplo, pero no funciona porque me pide el FiltEdit.dcu y no lo tengo...
¿Alguna solucion?
Responder Con Cita
  #5  
Antiguo 04-06-2003
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Seguramente has quitado de "requires" en el package el package dclstd50, si actualizas la versión de Delphi seguramente sea dclstd60 y dclstd70, de no ser así, vamos a tener que buscar en que package esta esa unit.

Código:
package FileEditPkg;
...
requires
  vcl50,
  dclstd50;

contains
  FilterEditorComponent in 'FilterEditorComponent.pas';

end.
Espero haber sido claro,
Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #6  
Antiguo 04-06-2003
JMGR JMGR is offline
Miembro
 
Registrado: jun 2003
Ubicación: Santa Cruz de Tenerife
Posts: 46
Poder: 0
JMGR Va por buen camino
Buenas...

Primero que nada, gracias por el interes.

Esta es la unit del package, y por cierto, estoy usando Delphi 5:

package FileEditPkg;

{$R *.RES}
{$ALIGN ON}
{$ASSERTIONS ON}
{$BOOLEVAL OFF}
{$DEBUGINFO ON}
{$EXTENDEDSYNTAX ON}
{$IMPORTEDDATA ON}
{$IOCHECKS ON}
{$LOCALSYMBOLS ON}
{$LONGSTRINGS ON}
{$OPENSTRINGS ON}
{$OPTIMIZATION ON}
{$OVERFLOWCHECKS OFF}
{$RANGECHECKS OFF}
{$REFERENCEINFO ON}
{$SAFEDIVIDE OFF}
{$STACKFRAMES OFF}
{$TYPEDADDRESS OFF}
{$VARSTRINGCHECKS ON}
{$WRITEABLECONST ON}
{$MINENUMSIZE 1}
{$IMAGEBASE $400000}
{$IMPLICITBUILD OFF}

requires
vcl50,
dclstd50;

contains
FilterEditorComponent in 'FilterEditorComponent.pas';

end.

¿ Cual es el problema?
Responder Con Cita
  #7  
Antiguo 04-06-2003
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Es raro, a mi me compila sin problemas. ¿Tienes los archivos dclstd50.bpl y dclstd50.dcl en el search path del proyecto o en el path del SO?
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #8  
Antiguo 04-06-2003
JMGR JMGR is offline
Miembro
 
Registrado: jun 2003
Ubicación: Santa Cruz de Tenerife
Posts: 46
Poder: 0
JMGR Va por buen camino
Vamos a ver, a mi el paquete si me lo compila sin problemas, es a la hora de usar el componente en un programa cuando salta al compilar, pidiendo el FiltEdit.dcu

Por otro lado, de los dos archivos que nombras, el dclstd50.bpl si lo tengo pero el dclstd50.dcl no, el que tengo es el dclstd50.dcp, me imagino que habra sido una errata...
Responder Con Cita
  #9  
Antiguo 04-06-2003
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Tienes razón, es DCP... es que a veces me equivoco!
El tema es que para usar este tipo de editores de propiedades, vas a tener que hacer un package de DesignTime y uno RunTime. En el de diseño pondrás todos los PropertyEditors, y en el de RunTime solamente el código que será necesario en tiempo de ejecución.
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #10  
Antiguo 04-06-2003
JMGR JMGR is offline
Miembro
 
Registrado: jun 2003
Ubicación: Santa Cruz de Tenerife
Posts: 46
Poder: 0
JMGR Va por buen camino
Estoy totalmente perdido...

A ver, para poder usar el editor de propiedad tengo que crear dos paquetes, uno para ejecucion y otro para diseño, pero ¿que tengo que incluir en cada paquete? porque segun lo que me dices, en el de diseño tengo que incluir todos los editores de propiedades, pero si no tengo el FiltEdit.dcu ni el .pas, ¿como lo puedo incluir?, y en ejecucion ¿que codigo me hace falta si lo que quiero es editar la propiedad pero en diseño?...

Te agradeceria que me aclararas un poco mas todo este lio...
Responder Con Cita
  #11  
Antiguo 04-06-2003
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
No te asustes que no es nada complicado, he subido un nuevo ejemplo donde están creados los dos paquetes.
Yo recomiendo SIEMPRE crear un paquete de RunTime y DesignTime, como primer motivo para poder acceder a algunos editores de propiedades de una manera sencilla, un buen ejemplo es este o algunas funciones de los editores de propiedades de colecciones.... , y como otro motivo es evitar incluir código innecesario en "producto final" EXEs+BPLs.
El archivo FiltEdit.dcu, que es donde está el editor de propiedades que estamos utilizando, está dentro del paquete dclstd50, por eso no encuentras físicamente el archivo.

Éxitos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #12  
Antiguo 05-06-2003
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
¿Entendiste el ejemplo? ¿Te funcionó? ¿Te es útil?
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #13  
Antiguo 06-06-2003
JMGR JMGR is offline
Miembro
 
Registrado: jun 2003
Ubicación: Santa Cruz de Tenerife
Posts: 46
Poder: 0
JMGR Va por buen camino
Buenas....

Primero que nada siento no haber contestado antes, pero entre que el otro dia se me corto la conexion y la falta de tiempo...lo siento.

Por otro lado, tu ejemplo funciona perfectamente, muchisimas gracias. Ahora estoy intentando comprenderlo, que es algo mas dificil. Por ahora lo que he deducido es que tengo que crear un paquete de diseño donde incluya el dclstd50 y uno de ejecucion con mi componente.... ¿correcto? ¿Se me escapa algo?

Ahora lo voy a probar y ya te dire como me va.
Un saludo.
JM
Responder Con Cita
  #14  
Antiguo 07-06-2003
JMGR JMGR is offline
Miembro
 
Registrado: jun 2003
Ubicación: Santa Cruz de Tenerife
Posts: 46
Poder: 0
JMGR Va por buen camino
Thumbs up

...Funcionó!!!!

Perfecto, ya lo consegui. muchas gracias por tu ayuda y por el interes, me has descubierto un aspecto de los componentes que desconocia...

Ahora solo me queda mejorar el componente con algun detalle mas por aqui y por alla, intentare hacerlo por mi cuenta y si no ya dare el coñazo por aqui....

De nuevo muchas gracias y un saludo.
JM
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


La franja horaria es GMT +2. Ahora son las 15:21:15.


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