Componente TLabel
Hola a todos y gracias de antemano por vuestra ayuda.
Estoy tratando de incursionar en este asunto de los componentes y no logro entender el concepto. Lo que tengo: Consegui un componente label que parpadea, esta simpatico, es este: Código:
unit Blinklbl; Código:
unit Unit1; Quiero hacer un componente Label, que se coloque en un form y que colocando un edit en el mismo, pase la informacion de este de lado a lado, como lo hace el programa. Gracias por vuestro tiempo y ayuda. Saludos |
Hola
Bueno, por aqui sigo pensando. Creo que la cosa podria andar por aqui: Código:
var txt : string; Bueno supongo que por aqui va el asunto, me ayudais. Saludos |
Con gusto te ayudo, pero si me lo simplificas un poco en la explicacion me perdi y no logro entender que quieres hacer, hasta lo que lei :
Tienes un Label y un Edit, que hace el label que hace el edit???? |
Hola amigo
Muy simple: Quiero hacer un componente TLabel. El componente tiene que hacer lo que hace en el programa (segundo codigo) que postee, osea moverse de un lado a otro. Este componente tiene que recibir el caption de un edit normal que coloque en el form, independiente del componente que quiero hacer. El componente que postee (primer codigo) lo que hace es parpadear, lo que quiero que haga es moverse, por eso puse el codigo del programa para que lo relacionarais. Vamos hombre que esta claro, ya se, es domingo.:D Saludos |
Precisamente alli esta mi duda, es que es domingo y aqui en mi casa sostienen un interesante partido de domino por eso me cuesta concentrarme, segun leo el codigo que muestras toma desde un edit lo que necesita, por eso te digo si ya esta listo no entiendo que mas necesitas, o es que el codigo no funciona???
si no me equivoco el lbmarquee se actualiza desde edtext en el evento onchange :confused: |
Hola
Ya analizaste el segundo codigo, es realmente simple, solo que este no es un componente, es un programa, ya se que lo puedo convertir en un componente, pero me traeria el edit ademas de otros. Los dos codigos funcionan perfectamente, Lo que quiero es hacer una mezcla de ambos, pero que solo quede el label, no el edit (como el primer codigo), el edit lo pondra a mi antojo en algun form, no importa cual. La idea es que al poner el nuevo componente en un form pueda hacer que este se mueva y que el caption sea capturado de otro componente, edit, dbeit u otro. Gracias por tu ayuda, quien va ganando?. Saludos |
Ok ahora si entendi perdona mi lentitud, pues a mi modo de ver las cosas hay que crear un propiedad donde se relacion el edit que quieres y en el timer actualizar el caption, algo asi
Cita:
Cita:
|
Hola
Ahora el lento soy yo. La Propuesta del Property, la capto, esto iría en el componente asi: Código:
published Saludos |
Ok la solucion esta en el codigo anterior, y lo unico que tienes es decirle al label en su propiedad nueva cual es el edit desde el que se actualizara, si te fijas en el codigo ontimer que te pase ahi una linea en negrita a mi entender esa solucionaria tu problema aunado a la configuracion de esta propiedad que hablamos
|
Vamos a ver que te parece esto:
Código:
unit Blinklbl; |
Hola
La verdad no lo agarro, para mi sigue siendo un codigo en el form, no en el componente, el componente deberia de hacer que se mueva la informacion del caption por medio de su timer (cerado dentro del componente), no el codigo del form. No lo capto, perdon. Saludos |
Mas claro imposible seoane el aunto es como tomar automaticamente el texto en otro edit de un formulario y se actualize en el caption.
pero ya tenemos tu componente de base, solo hay que agregarle las modificaciones, y caral si te fijas el timer esta dentro del componente, revisa el create... |
Hola Seoane.
Impresionante Me queda una duda, estas creando dos componentes o uno solo? De todos modos lo voy a probar. Increible, maestro, a esto me referia, a que el componente hiciera su propia rutina. Saludos |
Hola
Cita:
Saludos |
Si no hay otra solucion podriamos tomar la que coloque al principio, me sigue pareciendo razonable
Aunque ahora que lo pienso podriamos hacer esto Cita:
Noi es lo ideal pero deberia funcionar |
Bueno, no entiendo por que intentar relacionar el TEdit con el label dentro del propio código del label, lo mas lógico seria usar el caption y el método OnChange del TEdit.
Pero el cliente siempre tiene razón :D Código:
unit Blinklbl; ¿Que te parece ahora? :confused: |
Magnifico amigo, a eso me referia tal como lo habia pensado
|
Hola
No se por que no lo puedo compilar, me da este error: Cita:
Explico lo que hice, lo mas facil, crear un unit y tratar de instalarlo. Que hago mal, aparte de no saber. Saludos |
abre una unidad nueva, copia el codigo excepto la primera linea (unit)
grabalo, y deberia funcionar |
Hola a todos, llevo unos minutos declarando ese componente. Lo tengo igual a seoane, el problema, que no se como resolver, es que cuando uno cambia el contenido del edit, deja de funcionar el efecto de animación.
La diferencia con respecto a lo que tiene seoane es esta: Código:
unit Blinklbl2; |
Acabo de probar el codigo de seoane completo y no me ha dado problemas, lo instale y modifique el texto en ejecucion funciona muy bien
lo qu eno entiendo es apara que le quitas parte del codigo, por ejemplo si no se ejecuta el create no va a ejecutarse el movimiento que se le asigna en ese evento |
Hola
Que estoy haciendo mal. Creo un unit nuevo, lo guardo con el nombre Blinklbl Voy a Component, instal component me da el error que mencione, algo de class Que puede ser, que estoy haciendo mal. Tambien lo hice como me mencionaste sin cambiar el nombre el unit, no me funciona. Saludos |
listo, hice la prueba... era un error conceptual mio y de apurado quise meter código y metí mal el dedo:p
Lo que estaría interesante, si es que le sirve a Caral, es contar con la posibilidad de deshabilitar/habilitar los efectos. E inclusive, porque no... adaptarlo para varios tipos de efectos: 1. Desplazamiento a la izquierda 2. Desplazamiento a la derecha 3. Cierre: que el texto vaya desplazandose desde los extremos al medio. 4. Apertura: que el texto vaya desplazandose desde el centro hacia afuera. 5. Aleatorio. No creo que sea tan complicado generarlos... Se que lo más posible es que hay componentes ya hechos que realizan estas cosas... pero como práctica no está demás:). Saludos, |
Pues en el error que mencionastes no dice nada de class sino clause.
Intenta esto, cierra delphi por completo, abrelo y selecciona Close All, luego File --> New --> Unit borra todo excepto la primera linea, unit copia el codigo, excepto la primera linea, dale guardar y asignale un nombre Cierra todo de nuevo y abre instalar componentes, busca la unidad que acabas de guardar y le das ok, eso deberia instalarla que delphi utilizas???? |
Si te fijas en el primer codigo estan los puntos que tu contemplas en el 1 y 2
|
Hola
Paso a paso y lo mismo. Pienso que tiene que ver con esto. Cita:
Me sigue dando el mismo error. Uso delphi 6. Saludos |
Cita:
Olvida los puntos 1 y 2.:D Con respecto al error que le da a Caral... a mi no me arroja nada, todo bien. Tengo Delphi 6, que es la versión que emplea Caral (tengo entendido). Nunca vi ese error... ¿Caral... sobre que línea te arroja el "DICHOSO" error? Saludos, |
Bueno ahora es que le hace falta a esta foro una herramienta: Acceso Remoto, seguro que seoane debe tener alguna :D porq por lo que dices no se me ocurre nada que echarle mano al codigo a ver
|
Hola
Simplemente me manda ese mensaje no dice en donde. Ya no se que hacer, primera vez que me pasa algo asi, nunca he tenido problemas al instalar un componente. Que sera?. Alguien trajo la bola de cristal? Saludos |
Hola
Estaba tratando de abrir un paquete: dclusr Se supune que es donde se instala el componente (Delphi package source (*.dpk). Al tratar de abrirlo me manda exactamente ese error. Pregunto sera que meti las patas en algun lado y no puedo instalar componentes? Tengo que instalarlo en otro lado?, se puede? Saludos |
Pues caral yo también estoy intrigado, yo me hecho componentes y a pesar de que al comienzo tuve inconvenientes para instalarlos... nunca vi ese error.
Espero que mis pasos te sean de ayuda: 1. Abro un nuevo proyecto. Abrí un unit nuevo, borre TODO y copié exactamente el código de seoane. Ni más ni menos. 2. anadí al dpr dicha unidad. Guardo el proyecto entero e indicando con el nombre Blinklbl, y no con Uxxxx (Puede que alli esté el problema?:confused:). De modo que en el dpr queda esto: Código:
program Project1; 4. Voy a Component -> Install Component. 5. En el cuadro de Unit File Name busco el Blinklbl.pas y lo selecciono. Doy OK. 6. Me aparece un mensaje: "Package dclusr.bpl will be rebuilt. ¿Continue?" Le digo YES. 7. Me aparece un cuadro chico... con los componentes añadidos al paquete, le doy a Compile. Presiono en la X para cerrat y le indico que NO guarde los cambios. Y listo, el componente queda instalado... A decir verdad, no se a que otra cosa puede deberse. Si tu dices que nunca antes tuviste problemas para instalar... a lo mejor tienes algún conflicto con algún componente que instalaste anteriormente. Saludos, |
Se me acaba de ocurrir algo:
Cierra todo lo que tengas abierto File --> New --> Other seleciona Package y agrega la unit que grabastes compile y install |
Hola
Efectivamente funciono, ahora me puedes decir que hice?. Que se rompio de camino?:D Por que no me lo garbaba en el otro sitio?:confused: Saludos |
y como funciono?? si es como te lo dije el problema es que el dclusr esta creado con otros componentes y el error de contains es que las uses necesarias no se estaban creando correctamente
|
Hola Caral, parece que el error puede ser debido que package que estas utilizando hace referencia a una unit que no existe. Abre el archivo con la extensión .dpk, busca la sección "Contains" y comprueba que todas las unidades que allí aparecen son correctas.
PD: Imagínate la que tengo que montar yo para instalar los componentes en Turbo Delphi Explorer ;) :D |
Hola
Intente abrir el archivo dclusr y me da ese error, no se como abrirlo?. Saludos |
¿Y como te funcionó?
Haciendo un nuevo paquete e instalandolo? Si es con un nuevo paquete... abría que ver porqué no te dejaba instalarlo en el otro... algún error debe haber en dicho paquete... Cuenta los pasos... porque me he quedado en b.... por saber a que %"!%" se debía el error. Porque si por las moscas algún dia me pase (ojalá que nunca) sepa como resolverlo... Digo... si no es molestia. Saludos, |
:D Abrelo con el bloc de notas, no es mas que un archivo de texto.
|
Cita:
Caral por lo menos ya sabemos qe lograstes corromper el dclusr ahora explicanos como jejje :D |
Hola
Me sale esto: Cita:
Saludos |
La franja horaria es GMT +2. Ahora son las 23:56:23. |
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