Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #6  
Antiguo 07-03-2013
cd.rafael cd.rafael is offline
Miembro
 
Registrado: abr 2012
Posts: 59
Poder: 15
cd.rafael Va por buen camino
Cordial Saludo,

Como mencioné anteriormente... me estrellé, pero así voy aprendiendo.

Ya he avanzado un poco en el componente, pero intento agregarle un tdbedit y no he podido... "Error catastrófico".

La idea es que el componente se base en un TDateTimePicker y que tenga dentro de sus propiedades un TDBEdit. Le agrego al nuevo componente dos pripiedades: DataField y DataSource, las cuales se asignan a las mismas del TDBEdit y hago que cuando cambie la propiedad Date de mi nuevo componente, se la asigne a la propiedad Text del TDBEdit, lo que no sé cómo hacer es cuando el dato cambie al cambiar de registro, se actualice la propiedad date de mi componente.

Alguien me puede decir qué puedo estar haciendo mal?

Código:
unit DBDateTimePicker;

interface

uses
    SysUtils, Classes, Controls, Grids, DBCtrls, ComCtrls, DB, Dialogs;

type
    TDBDateTimePicker = class(TDateTimePicker)
        private
            FDBEdit: TDBEdit;
            //
            procedure SetDataField(Value: String);
            function GetDataField: String;
            //
            procedure SetDataSource(Value: TDataSource);
            function GetDataSource: TDataSource;
        protected
            procedure Change; override;
        public
            constructor create(AOwner: TComponent); override;
            destructor destroy; override;
        published
            property DataField:  String read GetDataField write SetDataField;
            property DataSource: TDataSource read GetDataSource write SetDataSource;
    end;

procedure Register;

implementation

procedure Register;
begin
    RegisterComponents('PRUEBA', [TDBDateTimePicker]);
end;

{ TDBDateTimePicker }

procedure TDBDateTimePicker.Change;
begin
    if (Self.DataSource = nil) then
    begin
        Exit;
    end;
    if (Length(Trim(Self.DataField)) = 0) then
    begin
        Exit;
    end;
    if (not TDataSource(FDBEdit.DataSource).DataSet.Active) then
    begin
        Exit;
    end;
    FDBEdit.Text := DateTimeToStr(Self.DateTime);
    inherited Change;
end;

constructor TDBDateTimePicker.create(AOwner: TComponent);
begin
    inherited;
    FDBEdit := TDBEdit.create(Self);
end;

destructor TDBDateTimePicker.destroy;
begin
    FDBEdit.Free;
    inherited;
end;

function TDBDateTimePicker.GetDataField: String;
begin
    Result := FDBEdit.DataField;
end;

function TDBDateTimePicker.GetDataSource: TDataSource;
begin
    Result := Self.DataSource;
end;

procedure TDBDateTimePicker.SetDataField(Value: String);
begin
    FDBEdit.DataField := Value;
end;

procedure TDBDateTimePicker.SetDataSource(Value: TDataSource);
begin
    FDBEdit.DataSource := Value;
end;

end.
Gracias de antemano por toda la colaboración que me puedan brindar.
Responder Con Cita
 



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
componente datetimepicker donpedro Conexión con bases de datos 4 20-07-2011 09:17:38
Componente DBEdit!!! Sole_l Conexión con bases de datos 2 31-03-2009 23:45:37
como grabar un DateTimePicker a un DBEdit Goyo OOP 5 06-06-2007 12:17:07
Componente DBEdit Rogersito Plus Firebird e Interbase 2 04-09-2006 21:08:36
Como puedo hacer consultas de fecha con el componente Datetimepicker Julio César Varios 2 06-07-2003 05:24:51


La franja horaria es GMT +2. Ahora son las 10:39:41.


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