Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-08-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 28
Caral Va por buen camino
Hola
Cita:
aunto es como tomar automaticamente el texto en otro edit de un formulario y se actualize en el caption.
Buena pregunta.
Saludos
Responder Con Cita
  #2  
Antiguo 05-08-2007
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 28
eduarcol Va por buen camino
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:
if Parent.FindComponent('txOrigen') is TEdit then
Caption := Parent.FindComponent('txOrigen').Text;
if FInvertir then
Caption:= Copy(Caption,Length(Caption),1) + Copy(Caption,1,Length(Caption)-1)
else
Caption:= Copy(Caption,2,MAXINT) + Copy(Caption,1,1);
esto lo qe hace es que toma un edit llamado txOrigen que se encuentre en el mismo parent de la etiqueta y lo pasa al caption

Noi es lo ideal pero deberia funcionar
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela

Última edición por eduarcol fecha: 05-08-2007 a las 20:19:48.
Responder Con Cita
  #3  
Antiguo 05-08-2007
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 26
seoane Va por buen camino
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
Código:
unit Blinklbl;

interface

uses
  Classes, StdCtrls, ExtCtrls;

type
  TAnimLabel = class(TLabel)
  private
    FVelocidad: integer;
    FTimer: TTimer;
    procedure SetVelocidad(Valor: Integer);
  protected
    procedure Animar(Sender: TObject);  virtual; abstract;
  public
    constructor Create(AOwner : TComponent); override;
    destructor Destroy; override;
  published
    property Velocidad: Integer read FVelocidad write SetVelocidad;
  end;

  TBlinkLabel = class(TAnimLabel)
  protected
    procedure Animar(Sender: TObject); override;
  end;

  TMarqueeLabel = class(TAnimLabel)
  private
    FEdit: TEdit;
    FIndice: Integer;
  protected
    procedure Animar(Sender: TObject); override;
  published
    property Edit: TEdit read FEdit write FEdit default nil;
  end;

procedure Register;

implementation

{ TAnimLabel }

constructor TAnimLabel.Create(AOwner : TComponent);
begin
  inherited Create(AOwner);
  FTimer := TTimer.Create(Self);
  FTimer.OnTimer:= Animar;
  FVelocidad:= 100;
  FTimer.Interval:= FVelocidad;
  FTimer.Enabled:= True;
end;

destructor TAnimLabel.Destroy;
begin
  FTimer.Free;
  inherited destroy;
end;

procedure TAnimLabel.SetVelocidad(Valor: Integer);
begin
  If FVelocidad <> Valor then
  begin
    if Valor <= 0 then
    begin
      FVelocidad:= 0;
      FTimer.Enabled:= FALSE;
    end else
    begin
      FVelocidad:= 0;
      FTimer.Enabled:= FALSE;
    end;
    FTimer.Interval:= FVelocidad;
  end;
end;

{ TBlinkLabel }

procedure TBlinkLabel.Animar(Sender: TObject);
begin
  Visible:= not(Visible);
end;

{ TMarqueeLabel }

procedure TMarqueeLabel.Animar(Sender: TObject);
var
  Str: String;
begin
  if Assigned(FEdit) then
    Str:= FEdit.Text
  else
    Str:= '';
  if Length(Str) > 0 then
  begin
    FIndice:= ((FIndice + 1) mod Length(Str)) + 1;
    Caption:= Copy(Str,FIndice,MAXINT) + Copy(Str,1,FIndice - 1);
  end else
    Caption:= '';
end;

procedure Register;
begin
  RegisterComponents('Curso', [TBlinkLabel]);
  RegisterComponents('Curso', [TMarqueeLabel]);
end;

end.
Ahora el TMarqueeLabel tiene una propiedad nueva llamada Edit. Colocas el TMarqueeLabel en el formulario, colocas un TEdit y asignas ese TEdit a la propiedad Edit.

¿Que te parece ahora?

Última edición por seoane fecha: 05-08-2007 a las 20:48:04.
Responder Con Cita
  #4  
Antiguo 05-08-2007
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 28
eduarcol Va por buen camino
Magnifico amigo, a eso me referia tal como lo habia pensado
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #5  
Antiguo 05-08-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 28
Caral Va por buen camino
Hola
No se por que no lo puedo compilar, me da este error:
Cita:
Error in module: CONTAINS clause is incorrect
Ni idea.
Explico lo que hice, lo mas facil, crear un unit y tratar de instalarlo.
Que hago mal, aparte de no saber.
Saludos
Responder Con Cita
  #6  
Antiguo 05-08-2007
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 28
eduarcol Va por buen camino
abre una unidad nueva, copia el codigo excepto la primera linea (unit)

grabalo, y deberia funcionar
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #7  
Antiguo 05-08-2007
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 28
Delphius Va camino a la fama
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;

interface

uses Blinklbl, StdCtrls, Classes;

type
  TMarqueeLabelEdit = class(TMarqueeLabel)
    private
      FMyEdit: TEdit;
      FInvertir: boolean;
      procedure SetMyEdit(Value: TEdit);
    protected
      procedure Animar(Sender: TObject); override;
    published
      property MyEdit: TEdit read FmyEdit write SetMyEdit;
      property Invertir: boolean read FInvertir write FInvertir;
  end;

procedure Register;

implementation

procedure TMarqueeLabelEdit.Animar(Sender: TObject);
begin
  if Assigned(MyEdit) then
  if FInvertir then
    Caption:= Copy(Caption,Length(MyEdit.Text),1) +  Copy(Caption,1,Length(MyEdit.Text)-1)
  else
    Caption:= Copy(MyEdit.Text,2,MAXINT) + Copy(MyEdit.Text,1,1);
end;

procedure TMarqueeLabelEdit.SetMyEdit(Value: TEdit);
begin
  FMyEdit := Value;
  if Value <> nil then Value.FreeNotification(self);
end;


procedure Register;
begin
  RegisterComponents('Curso', [TMarqueeLabelEdit]);
end;

end.
Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #8  
Antiguo 05-08-2007
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 28
eduarcol Va por buen camino
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
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #9  
Antiguo 05-08-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 28
Caral Va por buen camino
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
Responder Con Cita
  #10  
Antiguo 05-08-2007
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 28
Delphius Va camino a la fama
listo, hice la prueba... era un error conceptual mio y de apurado quise meter código y metí mal el dedo

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,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #11  
Antiguo 05-08-2007
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 28
eduarcol Va por buen camino
Si te fijas en el primer codigo estan los puntos que tu contemplas en el 1 y 2
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #12  
Antiguo 05-08-2007
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 28
Delphius Va camino a la fama
Cita:
Si te fijas en el primer codigo estan los puntos que tu contemplas en el 1 y 2
Cierto! para ello está invertir!
Olvida los puntos 1 y 2.

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,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
tlabel enabled anubis Varios 12 10-05-2007 08:32:50
un TLabel como Hipervínculo zuriel_zrf Internet 9 06-01-2006 22:11:49
tlabel como Centrar ? Pascual Montes Varios 4 11-06-2005 02:53:33
un TLabel para ir a pagina web zuriel_zrf Internet 1 19-02-2004 11:16:29
Tlabel enlazado a un TDBedit CORBATIN OOP 2 15-09-2003 00:29:10


La franja horaria es GMT +2. Ahora son las 07:16:28.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi