Tutorial básico de Delphi: desarrollo de componentes personalizados de DELPHI (3) [4]
Tipo
TDBCalendar = clase (TSampleCalendar)
Privado {El método de implementación del atributo es}
Función getdata campo:cadena ;{ Devuelve el nombre del campo de la base de datos}
Función get data source:tdata source; {devuelve una referencia a la fuente de datos}
El procedimiento setdatafield (valor constante: cadena) {es el nombre del campo de la base de datos Asignación}
Procedimiento setdatasource (valor: tdata source) {Asignar un valor a la fuente de datos}
Publicado {Hacer que la propiedad esté disponible en tiempo de diseño }
campo de datos de propiedad:cadena leer campo getdata escribir campo setdata;
fuente de datos de propiedad:tfuente de datos leer obtener fuente de datos escribir establecer fuente de datos;
Fin ;
……
Función TDBCalendar getdata field:string;
Inicio
Resultado:= FDataLink FieldName
Fin;
Función TDBCalendar obtener fuente de datos:tdata source;
Inicio
Resultado:= FDataLink DataSource
Fin; p>
Proceso TDBCalendar SetDataField(valor constante: cadena)
Inicio
Nombre del campo FDataLink:= Valor
Fin;
Procedimiento TDBCalendar SetDataSource (valor: tDataSource)
Inicio
Fuente de datos FDataLink:= Valor
Fin;
Ahora, el enlace entre el calendario y el enlace de datos ha sido establecido. Además, hay un paso aún más importante. Debe crear el objeto de enlace de datos al crear el calendario y destruir el objeto de enlace de datos cuando se destruya el calendario.
(3) Inicializar el enlace de datos.
Se debe acceder continuamente al objeto de enlace de datos durante la existencia del control relacionado con los datos, por lo que la creación del enlace de datos debe crearse en su constructor, y el objeto de enlace de datos debe revocarse durante la destrucción, para que el La creación y creación del calendario deben anularse.
Tipo
TDBCalendar = clase (TCalendar)
Público
Constructor Create(Aowna: TComponent) Anulación;
p>
Anulación de destrucción del destructor;
Fin;
Creación del constructor TDBCalendar (aopropietario:t componente)
Inicio
Heredar Crear (Propietario)
solo miedo:= Verdadero;
FDataLink:= TFieldDataLink Crear;
Fin;
Destructor TDBCalendar Destruir
Iniciar
FDataLink gratis;
Destrucción heredada;
Fin;
Ahora el componente tiene un enlace de datos completo, pero el componente aún no sabe qué datos leer del campo asociado.
Respuesta a los cambios de datos
Una vez que el control tiene los enlaces de datos y las propiedades que describen la fuente de datos y el campo de datos, necesita responder a los cambios de datos en el campo de datos cuando los datos registrar cambios.
Los objetos de enlace de datos tienen un evento llamado OnDataChange. Cuando la fuente de datos indica que los datos han cambiado, el objeto DataLink llama a cualquier controlador de eventos conectado a OnDataChange.
Para actualizar los datos cuando cambian, debe agregar un controlador de eventos al evento OnDataChange del objeto DataLink.
El método DataChange se declara y asigna al evento OnDataChange del objeto DataLink.
Tipo
TDBCalendar = clase(TCalendar)
Privado
Cambio de datos de proceso (Remitente: Destino)
Fin;
Constructor TDBCalendar Crear (aopropietario:t componente)
Inicio
Crear heredado (propietario)
solo fread:= Verdadero;
FDataLink:= TFieldDataLink Crear;
FDataLink al cambiar datos:= cambio de datos;
Fin;
Destructor TDBcalendar Destruir
Iniciar
FDataLink al cambiar datos:= nil;
FDataLink gratis;
Destrucción heredada
Fin;
Programa TDBCalendar cambio de datos (remitente: TObject)
Inicio
Si el campo FDataLink = cero, entonces
fecha del calendario:=;
Otros
CalendarDate := campo FDataLink AsDate
Fin;
Volver al directorio Tutorial básico DELPHI
Recomendación del editor
Videotutorial de capacitación en programación Java
Videotutorial de capacitación práctica del marco avanzado J EE
Desarrollo de tecnología de audio y video Visual C++ y combate práctico
Tecnología de índice Oracle
Guía de optimización y desarrollo de bases de datos ORACLE G
La optimización del rendimiento de los programas Java hace que sus programas Java sean más rápidos y estables.
cPatrón de diseño de programación integrada
Guía práctica para el desarrollo de juegos para Android
Leeshi News/Article/program/Delphi/201311/25116