Colección de citas famosas - Slogan de motivación - Tutorial básico de Delphi: desarrollo de componentes personalizados de DELPHI (3) [4]

Tutorial básico de Delphi: desarrollo de componentes personalizados de DELPHI (3) [4]

La siguiente es la declaración de DataSource y DataField y cómo implementarlos.

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;

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