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 15-12-2006
Avatar de Héctor Randolph
[Héctor Randolph] Héctor Randolph is offline
Miembro Premium
 
Registrado: dic 2004
Posts: 882
Poder: 22
Héctor Randolph Va por buen camino
Pues yo lo acabo de instalar y aparentemente funciona, es decir, tengo varios CoolEdit en una forma y al navegar entre ellos con la tecla Tab cambian su color al recibir el foco. Bueno fue una prueba muy superficial pero al menos no me pasa los mismo que indica Deiv.

Saludos
Responder Con Cita
  #2  
Antiguo 16-12-2006
Deiv Deiv is offline
Miembro
 
Registrado: jul 2005
Ubicación: La Paz - Bolivia
Posts: 364
Poder: 21
Deiv Va por buen camino
Wink

Bueno no sé como explicar, pero lo que sucede es que para desinstalarlo, primero que me fuí a Install Packages y busqué COOL, y no había, luego entonces reinstalé, ahí ya me salió un mensaje que ya existía duplicado, entonces en esa ventana que aparece Compile, Install, etc, ahi le dí Remove, si bien ya no veia al componente COOL en dicha ventana, pero seguía la pestaña de COOL entonces no se desinstaló, cosa mas rara, y cuando comprobé el componente, evidentemente trabajaba en tiempo de diseño pero no en tiempo de ejecución, algo debió truncarse imagino en mi máquina ya que si le funcionó a Randolph, entonces sí funca!
Responder Con Cita
  #3  
Antiguo 16-12-2006
pascalutn2003 pascalutn2003 is offline
Miembro
 
Registrado: sep 2003
Ubicación: Córdoba
Posts: 36
Poder: 0
pascalutn2003 Va por buen camino
Exclamation Para Deiv

Hola Deiv:

El problema que podes llegar a tener es que cuando instalaste el componente lo hayas hecho en un paquete que ya existia.

Te recomiendo hacer lo siguiente :

1.- Click en Component en el menu principal de Delphi
2.- Click en Configure Palette
3.- Una vez dentro del cuadro de propiedades de la paleta de componentes "Palette Properties", vas a ver dos listados (uno al lado del otro)
4.- En el listado de la izquierda anda hasta el final del listado y Click sobre [All] para que te liste los componentes en su totalidad sin importar a quien pertenecen
5.- En el listado de la derecha vas a ver dos titulo (Name y Package); Click sobre Name para ordenar alfabeticamente los componentes
6.- Busca el componente Cool
7.- Si lo encontraste, fijate en la columna mas a la derecha a que paquete pertenece.
8.- Una vez localizado el componente, cerrá todo
9.- Buscá y abrí el paquete en cuestion haciendo doble click sobre dicho paquete
10.- En el cuadro de Edicion del paquete vas a ver una serie de botones (Compile, Add, Remove, Install y Options)
11.- Click sobre Remove
12.- En el cuadro de dialogo Remove From Project Click sobre el componente que quieras eliminar, darle a Ok y listo; no hay mas componente. Ojo guardá los cambios en el paquete.
13.- Reinstala el componente en un paquete nuevo (dale vos un nombre) y compilalo.
14.- Suerte y cuidado con lo que eliminas del paquete

Si tenes duda sobre algo avisame y te doy una mano

EDGARDO - Córdoba - Argentina
Responder Con Cita
  #4  
Antiguo 16-12-2006
Avatar de hector.roma
hector.roma hector.roma is offline
Miembro
 
Registrado: jul 2005
Ubicación: a caballo entre Galicia y Portugal
Posts: 58
Poder: 21
hector.roma Va por buen camino
Otro código parecido...

En su momento también necesite un código parecido, en mi caso no cambio el tipo de letra cuando el control está activo pero si el color del mismo permitiendo su selección desde el inspector de objetos.
Por otro lado, cómo la aplicación era de tamaño físicamente reducido decidí cargarme las etiquetas de cada TEdit y para que se supiera que era cada componente, decidí añadir una propiedad más DefaultValue que sirve para mostrar un texto por defecto en el caso que el usuario al salir del TEdit lo deje vacío (previamente tengo que decir que al entrar en el TEdit el text por defecto se borra para permitir al usuario introducir el valor que el quiera o no en función de la propiedad ClearOnEnter).

Os dejo mi código:
Código Delphi [-]
unit AdvEdit;

interface

uses
  SysUtils, Classes, Controls, StdCtrls, Graphics;

type
  TAdvEdit = class(TEdit)
  private
    { Private declarations }
    FDefault : string;
    FChanged : boolean;
    FColor    : TColor;
    FOldColor : TColor;
    FClear: boolean;
  protected
    { Protected declarations }
    function getDefault : string; virtual;
    procedure setDefault(AValue:string); virtual;
    //function getChanged : boolean; virtual;
    procedure DoEnter; override;
    procedure DoExit; override;
  public
    { Public declarations }
    procedure Cls;
    function getChanges : boolean;
  published
    { Published declarations }
    property DefaultValue : string read getDefault write setDefault;
    property ActiveColor  : TColor read FColor write FColor;
    property ClearOnEnter : boolean read FClear write FClear;
  end;

procedure Register;

implementation

uses MaskUtils;

procedure Register;
begin
  RegisterComponents('Meus', [TAdvEdit]);
end;

{ TAdvEdit }

//Método para restaurar el componente de forma rápida
procedure TAdvEdit.Cls;
begin
  Text     := DefaultValue;
  FChanged := FALSE;
  Change
end;


procedure TAdvEdit.DoEnter;
begin
  //Guardamos el color original
  FOldColor := Color;
  //Establecemos nuestro color
  Color     := ActiveColor;
  //Solo borramos el contenido del cuadro de texto en el caso que
  //1. ClearOnEnter = TRUE y
  //2. El usuario no haya introducido un valor antes.
  if ((Text = DefaultValue) AND (FClear)) then Text := '';
  inherited;
end;

procedure TAdvEdit.DoExit;
begin
  // Al salir, si el usuario deja el cuadro en blanco o bien vuelve a escribir
  //el contenido original... por asi decirlo retornamos al estado por defecto
  if ((Text = '') OR (Text = Self.DefaultValue)) then begin
    Self.Text := Self.DefaultValue;
    Self.FChanged := FALSE;
  end
  else
    Self.FChanged := TRUE;
  // En cualquier caso, restauramos el Color original del cuadro
  Color := FOldColor;
  inherited;
end;

function TAdvEdit.getChanges: boolean;
begin
  //Para evitar comparaciones en el codigo tipo if Text = DefaultText...
  //uso este "flag" para saber si el usuario hizo cambios en el cuadro o no.
  getChanges := FChanged;
end;

function TAdvEdit.getDefault: string;
begin
  //Por probar a usar metodos con las propiedades
  getDefault := FDefault;
end;


procedure TAdvEdit.setDefault(AValue: string);
begin
  //Por probar a usar metodos con las propiedades
  FDefault := AValue;
end;

end.

Espero que alguien más a parte de mi pueda encontrar utilidad este "componente".

Un saludo y gracias a todos.
Responder Con Cita
  #5  
Antiguo 16-12-2006
Avatar de hector.roma
hector.roma hector.roma is offline
Miembro
 
Registrado: jul 2005
Ubicación: a caballo entre Galicia y Portugal
Posts: 58
Poder: 21
hector.roma Va por buen camino
Acabo de darme cuenta que el "uses MaskUtils;" no tiene mucho sentido o si, no lo sé en cualquier caso seguro que está ahi por algún intento de "evolución" y que puede ser eliminado sin problema.
Responder Con Cita
  #6  
Antiguo 16-12-2006
pascalutn2003 pascalutn2003 is offline
Miembro
 
Registrado: sep 2003
Ubicación: Córdoba
Posts: 36
Poder: 0
pascalutn2003 Va por buen camino
Thumbs up Para Hector

Hola master:

Acabo de instalarlo y probarlo.

Sinceramente me gustó como lo encaraste, me habia olvidado de DoEnter y DoExit asi que voy a utilizar esa parte de tu codigo en el mio (me gusto mas).

Ahora sigo con el problema de como realizar el cambio de fuente en activo y no activo usando los tipo TFontStyle.

Tu codigo esta mejor porque contempla la propiedad Color para cuando esta inactivo, en cambio yo queria sacarmela de encima y no sabia como.

En otros terminos, me gusto mas el tuyo.

GRACIAS

EDGARDO - Córdoba - Argentina

Última edición por pascalutn2003 fecha: 16-12-2006 a las 17:43:06.
Responder Con Cita
  #7  
Antiguo 17-12-2006
Deiv Deiv is offline
Miembro
 
Registrado: jul 2005
Ubicación: La Paz - Bolivia
Posts: 364
Poder: 21
Deiv Va por buen camino
Wink

Cita:
Empezado por pascalutn2003
6.- Busca el componente Cool
7.- Si lo encontraste, fijate en la columna mas a la derecha a que paquete pertenece.
8.- Una vez localizado el componente, cerrá todo
9.- Buscá y abrí el paquete en cuestion haciendo doble click sobre dicho paquete
10.- En el cuadro de Edicion del paquete vas a ver una serie de botones (Compile, Add, Remove, Install y Options)
11.- Click sobre Remove
12.- En el cuadro de dialogo Remove From Project Click sobre el componente que quieras eliminar, darle a Ok y listo; no hay mas componente. Ojo guardá los cambios en el paquete.
7.- ¿A que te refeieres con Paquete? ¿Quisiste decir pestaña de la PageControl?
8.- Bien cierro todas las ventanas.
9.- Busco en la pestaña del TabSheet de la PageControl donde estaba ubicado, pero ¿Donde doy doble click?? Le dí doble click a la pestaña, le dí doble click al componente y no sucede nada no aparece esa ventana que la conozco muy bien y se cómo utilizarla.
10.- Bueno finalmente he tratado de reinstalar el componente, así me salga el mensaje que existe un duplicado, y ahí aprovecho en REMOVErlo (11.-) cuando me aparece esa ventana(10.-)
12.- lo regrabo, pero cuando voy a la pestaña donde se encontraba el componente, por mucho que le haya dado Remove, por mucho que reinicio, SIGUE AHÍ y sigue trabajando!
Bueno finalmente intenté por otro lado, he instalado un componente que no me hacía falta solo por abrir esa ventana, lo Remuevo, reinicio y evidentemente ya no está el COOL component. Para asegurarme he editado el código para que me aparezca en otra pestaña:
Código Delphi [-]
procedure Register;
begin
  RegisterComponents('NuevoCoolEdit', [TCoolEdit]);
end;
Reinstalo el componente......
Y lo mas interesante es que se vuelve a instalar en la ANTIGUA PESTAÑA (Paquete) que estaba la última vez y no así en esta nueva de arriba, compruebo el código y ahora si trabaja muy bien.

No sé si mi Delphi 7 está funcionando mal o el Componente hace algo en reinstalaciones. Pero de trabajar ahora trabaja muy bien.

Última edición por Deiv fecha: 17-12-2006 a las 22:54:13.
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
Ventana MDI, "Siempre visible" y "Pantalla completa" ixMike API de Windows 7 11-04-2007 18:36:55
¿cuál es mejor: "close" o "application.terminate"? unreal4u Varios 5 05-03-2007 11:01:19
"ChequeaEsto" elegido el futuro "Killer CLubDelphi" mamcx Noticias 51 31-10-2006 20:56:32
porque no me reconoce los caracteres "*" ni "%" cuando filtro mrmago Conexión con bases de datos 10 27-01-2006 04:21:16
Múltiples "Deshacer" en un editor de textos soul6301 Varios 1 05-06-2004 21:38:37


La franja horaria es GMT +2. Ahora son las 23:47:12.


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