Logo Studenta

La biblia de delphi7[Marco Cantu]

¡Este material tiene más páginas!

Vista previa del material en texto

lndice 
. . 
Agradecimientos ....................................................................................................................... 6 
Contactar con el autor .............................................................................................................. 7 
Siete versiones y contando ..................................................................................................... 29 
La estructura del libro ............................................................................................................ 31 
Normas usadas en este libro ............................................................................................ 32 
Parte I . Bases ......................................................................................................................... 33 
1 . Delphi 7 y su IDE .............................................................................................................. 35 
Ediciones de Delphi ................................................................................................................ 36 
Una vision global del IDE ..................................................................................................... 37 
Un IDE para dos bibliotecas ............................................................................................ 38 
. . Configuration del escritorio ..................................................................................... 38 
Environment Options ....................................................................................................... 40 
Sobre 10s menus ................................................................................................................. 40 
El cuadro de dialog0 Environment Options .............................................................. 41 
TO-DO List .......................................................................................................................... 41 
Mensajes ampliados del compilador y resultados de busqueda en Delphi 7 .............. 43 
El editor de Delphi ................................................................................................................. 44 
El Code Explorer ............................................................................................................... 46 
. . Exploracion en el editor ................................................................................................... 48 
Class Completion .............................................................................................................. 49 
Code Insight ...................................................................................................................... 50 
Code Completion ......................................................................................................... 50 
Code Templates ............................................................................................................ 52 
Code Parameters .......................................................................................................... 52 
Tooltip Expression Evaluation ................................................................................... 53 
Mas teclas de metodo abreviado del editor .................................................................... 53 
Vistas que se pueden cargar ............................................................................................. 54 
.............................................................................................................. Diagram View 54 
Form Designer ......................................................................................................................... 56 
................................................................................................................ Object Inspector 58 
Categorias de propiedades .......................................................................................... 60 
Object TreeView ................................................................................................................ 61 
Secretos de la Component Palette ......................................................................................... 63 
Copiar y pegar componentes ............................................................................................ 64 
De las plantillas de componentes a 10s marcos ............................................................. 65 
Gestionar proyectos ................................................................................................................ 67 
Opciones de proyecto ........................................................................................................ 69 
.............................................................................................. Compilar y crear proyectos 71 
Ayudante para mensajes del compilador y advertencias ......................................... 73 
Exploracion de las clases de un proyecto ....................................................................... 74 
Herramientas Delphi adicionales y externas .............................. .......... .............................. 75 
Los archivos creados por el sistema ..................................................................................... 76 
Un vistazo a 10s archivos de codigo fuente .................................................................... 82 
El Object Repository ............................................................................................................... 84 
Actualizaciones del depurador en Delphi 7 ......................................................................... 87 
2 . El lenguaje de programaci6n Delphi .......................................................................... 89 
Caracteristicas centrales del lenguaje .................................................................................. 90 
Clases y objetos ....................................................................................................................... 91 
Mas sobre metodos ............................................................................................................ 93 
Creacion de componentes de forma dinamica ............................................................ 94 
Encapsulado ............................................................................................................................ 95 
............................................................................................ Privado, protegido y public0 96 
Encapsulado con propiedades ......................................................................................... 97 
Propiedades de la clase TDate ................................................................................... 99 
Caracteristicas avanzadas de las propiedades ........................................................ 100 
Encapsulado y formularios ............................................................................................. 101 
........................................................................... Aiiadir propiedades a formularios 101 
......................................................................................................................... Constructores 103 
....................................................................................... Destructores y el metodo Free 104 
El modelo de referencia a objetos de Delphi ..................................................................... 104 
Asignacion de objetos ..................................................................................................... 105 
Objetos y memoria ........................................................................................................... 107 
................................................................................... Destruir objetos una sola vez 108 
..........................................................................................Herencia de 10s tipos existentes 109 
................................................................................ Campos protegidos y encapsulado 111 
............................................................................... Herencia y compatibilidad de tipos 113 
......................................................................................... Enlace posterior y polimorfismo 114 
................................................................................... Sobrescribir y redefinir metodos 11 5 
Metodos virtuales frente a metodos dinamicos ............................................................ 117 
......................................................................................... Manejadores de mensajes 117 
.......................................................................................................... Metodos abstractos 118 
Conversion descendiente con seguridad de tipos .............................................................. 119 
................................................................................................................... Uso de interfaces 121 
..................................................................................................... Trabajar con excepciones 124 
........................................................................... Flujo de programa y el bloque finally 125 
..................................................................................................... Clases de excepciones 127 
.......................................................................................................... Registro de errores 129 
.............................................................................................................. Referencias de clase 130 
Crear . componentes usando referencias de clase ....................................................... 132 
. . 3 . La biblioteca en tiempo de ejecuc~on ......................................................................... 135 
........................................................................................................ . Las unidades de la RTL 136 
...................................................................................... Las unidades System y SysInit 139 
Cambios recientes en la unidad System .................................................................. 140 
Las unidades SysUtils y SysConst ................................................................................. 141 
.................................................................................. Nuevas hnciones de SysUtils 142 
........................................ Rutinas extendidas de formato de cadenas en Delphi 7 144 
La unidad Math ............................................................................................................... 145 
Nuevas funciones matematicas ................................................................................ 145 
.................................................................................. Redondeo y dolores de cabeza 147 
Las unidades ConvUtils y StdConvs ............................................................................. 148 
La unidad DateUtils ........................................................................................................ 148 
La unidad StrUtils ........................................................................................................... 149 
De Pos a PosEx .......................................................................................................... 150 
.............................................................................................................. La unidad Types 151 
....................................................................................... La unidad Variants y VarUtils 151 
Variantes personalizadas y numeros complejos ..................................................... 152 
Las unidades DelphiMM y ShareMem ......................................................................... 154 
Unidades relacionadas con COM .................................................................................. 154 
...................................................................................................................... Convertir datos 154 
................................................................................................... iConversiones de divisas? 158 
........................................................................................ Gestion de archivos con SysUtils 162 
La clase TObject ................................................................................................................... 163 
Mostrar information de clase ........................................................................................ 167 
4 . La biblioteca de clases principales ............................................................................. 169 
.............................................................................................. El paquete RTL. VCL y CLX 170 
...................................................................................... Partes tradicionales de la VCL 171 
La estructura de CLX ..................................................................................................... 172 
Partes especificas de VCL de la biblioteca ................................................................... 173 
.............................................................................................................. La clase TPersistent 173 
La palabra clave published ............................................................................................. 176 
Acceso a las propiedades por su nombre ...................................................................... 177 
La clase TComponent ........................................................................................................... 180 
............................................................................................................................ Posesion 180 
La matriz Components ......................................................................................... 181 
.............................................................................................. Cambio de propietario 182 
......................................................................................................... La propiedad Name 184 
. . Elimination de campos del formulario ......................................................................... 185 
...................................................................................... Ocultar campos del formulario 186 
.................................................................................... La propiedad personalizada Tag 188 
...................................................................................................... ............................ Eventos : 188 
Eventos en Delphi ........................................................................................................... 188 
Punteros a metodo ....................................................................................................... 189 
Los eventos son propiedades ......................................................................................... 190 
Listas y clases contenedores ............................................................................................... 193 
Listas y listas de cadena ............................................................................................... 193 
................................................... Pares nombre-valor (y extensiones de Delphi 7) 194 
Usar listas de objetos ................................................................................................. 195 
...................................................................................................................... Colecciones 196 
Clases de contenedores............................................................................................. 196 . . . . 
............................................................................ Listas asociativas de verification 198 
Contenedores y listas con seguridad de tipos .......................................................... 199 
Streaming ............................................................................................................................... 202 
La clase TStream ............................................................................................................. 202 
......................................................................................... Clases especificas de streams 204 
.............................................................................................. Uso de streams de archivo 205 
........................................................................................ Las clases TReader y TWriter 206 
Streams y permanencia ................................................................................................... 207 
.................................................................................. Compresion de streams con ZLib 213 
................... Resumen sobre las unidades principales de la VCL y la unidad BaseCLX 215 
........................................................................................................... La unidad Classes 215 
.............................................................................. Novedades en la unidad Classes 216 . . ............................................................................................. Otras unidades prlncipales 217 
5 . Controles visuales ........................................................................................................... 219 
...................................................................................................... VCL frente a VisualCLX 220 
.......................................................................... Soporte dual de bibliotecas en Delphi 222 
......................................................................... Clases iguales, unidades diferentes 223 
DFM y XFM ............................................................................................................... 224 
.......................................................................................................... Sentencias uses 226 
............................................... Inhabilitar el soporte de ayuda a la biblioteca dual 226 
Eleccion de una biblioteca visual .................................................................................. 226 
................................................................................................... Ejecucion en Linux 227 
........................................................... Compilacion condicional de las bibliotecas 228 
.......................................................................... Conversion de aplicaciones existentes 229 
......................................................................................... Las clases TControl y derivadas 230 
Parent y Controls ............................................................................................................ 231 
Propiedades relacionadas con el tamafio y la posicion del control ........................... 232 
........................................................................ Propiedades de activation y visibilidad 232 
Fuentes ............................................................................................................................. 233 
Colores ............................................................................................................................. 233 
La clase TWinControl (VCL) ........................................................................................ 235 
................................................................................... La clase TWidgetControl (CLX) 236 
................................................................. Abrir la caja de herramientas de componentes 236 
Los componentes de entrada de texto ........................................................................... 237 
El componente Edit ................................................................................................... 237 
El control LabeledEdit ............................................................................................. 238 
El componente MaskEdit .......................................................................................... 238 
Los componentes Memo y RichEdit ........................................................................ 239 
...................................................................................... El control CLX Textviewer 240 
Seleccion de opciones ..................................................................................................... 240 
Los componentes CheckBox y RadioButton ........................................................... 241 
Los componentes GroupBox ..................................................................................... 241 
El componente RadioGroup ..................................................................................... 241 
Listas ................. ' ............................................................................................................... 242 
El componente ListBox ............................................................................................. 242 
El componente ComboBox ....................................................................................... 243 
El componente CheckListBox .................................................................................. 244 
Los cuadros combinados extendidos: ComboBoxEx y ColorBox ......................... 245 
Los componentes Listview y TreeView .................................................................. 246 
El componente ValueListEditor ............................................................................... 246 
Rangos .............................................................................................................................. 248 
El componente ScrollBar .......................................................................................... 248 
Los componentes TrackBar y ProgressBar ............................................................. 249 
El componente UpDown ........................................................................................... 249 
El componente PageScroller .................................................................................... 249 
El componente ScrollBox ......................................................................................... 250 
Comandos ......................................................................................................................... 250 
Comandos y acciones ................................................................................................ 251 
Menu Designer .......................................................................................................... 251 
Menus contextuales y el evento OncontextPopup .............................................. 252 
Tecnicas relacionadas con 10s controles ............................................................................ 254 
Gestion del foco de entrada ............................................................................................ 254 
Anclajes de control ......................................................................................................... 257 
Uso del componente Splitter .......................................................................................... 258 
Division en sentido horizontal ................................................................................. 260 
Teclas aceleradoras .........................................................................................................261 
Sugerencias flotantes ...................................................................................................... 262 
.......................................................................... Personalizacion de las sugerencias 263 
Estilos y controles dibujados por el propietario .......................................................... 264 
Elementos del menu dibujados por el usuario ........................................................ 265 
Una ListBox de colores ............................................................................................. 267 
Controles ListView y TreeView ........................................................................................... 270 
..................................................................................... Una lista de referencias grafica 270 
Un arb01 de datos ............................................................................................................ 275 
La version adaptada de DragTree ............................................................................ 278 
Nodos de arb01 personalizados ...................................................................................... 280 
. . 
6 . Creac~on de la interfaz de usuario .............................................................................. 283 
Formularios de varias paginas ............................................................................................ 284 
Pagecontrols y Tabsheets .............................................................................................. 285 
Un visor de imagenes con solapas dibujadas por el propietario ................................ 290 
La interfaz de usuario de un asistente .......................................................................... 294 
El control ToolBar ................................................................................................................ 297 
El ejemplo RichBar ......................................................................................................... 298 
Un menu y un cuadro combinado en una barra de herramientas .............................. 300 
Una barra de estado simple ............................................................................................ 301 
Temas y estilos ...................................................................................................................... 304 
Estilos CLX ..................................................................................................................... 305 
................................................................................................... Temas de Windows XP 305 
El Componente ActionList .................................................................................................. 308 
Acciones predefinidas en Delphi ................................................................................... 310 
Las acciones en la practica ............................................................................................ 312 
La barra de herramientas y la lista de acciones de un editor ..................................... 316 
Los contenedores de barra de herramientas ....................................................................... 318 
....................................................................................................................... ControlBar 320 
Un menu en una barra de control ............................................................................ 323 
Soporte de anclaje en Delphi ......................................................................................... 323 
Anclaje de barras de herramientas en barras de control ............................................ 324 
..................................................................... Control de las operaciones de anclaje 325 
Anclaje a un Pagecontrol .............................................................................................. 329 
..................................................................................... La arquitectura de ActionManager 331 
Construir una sencilla demostracion ............................................................................ 332 
..................................................... Objetos del menu utilizados con menos frecuencia 336 
Modificar un programa existente .................................................................................. 339 
Emplear las acciones de las listas ................................................................................. 340 
7 . Trabajo con formularios ................................................................................................ 345 
La clase TForm ..................................................................................................................... 346 
............................................................................................. Usar formularios normales 346 
El estilo del formulario .................................................................................................. 348 
El estilo del borde ........................................................................................................... 349 
....................................................................................................... Los iconos del borde 352 
Definicion de mas estilos de ventana ............................................................................ 354 
Entrada directa en un formulario ........................................................................................ 356 
Supervision de la entrada del teclado ........................................................................... 356 
Obtener una entrada de raton ........................................................................................ 358 
Los parametros de 10s eventos de raton ............................................................... 359 
Arrastrar y dibujar con el raton ..................................................................................... 359 
Pintar sobre formularios ...................................................................................................... 364 
Tecnicas inusuales: Canal Alpha, Color Key y la API Animate ..................................... 366 
Posicion, tamaiio, desplazamiento y ajuste de escala ....................................................... 367 . . ............................................................................................. La posicion del formulario 368 
................................................................................. Ajuste a la ventana (en Delphi 7) 368 
........................................................ El tamafio de un formulario y su zona de cliente 369 
Restricciones del formulario .......................................................................................... 370 
................................................................................................ Desplazar un formulario 370 
Un ejemplo de prueba de desplazamiento ............................................................... 371 
Desplazamiento automatico ..................................................................................... 373 
...................................................... Desplazamiento y coordenadas del formulario 374 
................................................................................................. Escalado de formularios 376 
Escalado manual del formulario .............................................................................. 377 
............................................................. Ajuste automatic0 de la escala del formulario 378 
Crear y cerrar formularios ................................................................................................... 379 
Eventos de creacion de formularios .............................................................................. 381 
......................................................................................................Cerrar un formulario 382 
........................................................ Cuadros de dialog0 y otros formularios secundarios 383 
Afiadir un formulario secundario a un programa ........................................................ 384 
Crear formularios secundarios en tiempo de ejecucion .............................................. 385 
........................................... Crear un unica instancia de formularios secundarios 386 
. . Creacion de un cuadro de d~alogo ....................................................................................... 387 
El cuadro de dialogo del ejemplo RefList .................................................................... 388 
..................................................................................... Un cuadro de dialog0 no modal 390 
. . Cuadros de dialog0 predefinidos ......................................................................................... 393 
Dialogos comunes de Windows ................................................................................... 394 
Un desfile de cuadros de mensaje ................................................................................. 395 
Cuadros "Acerca den y pantallas iniciales ......................................................................... 396 
. , Creacion de una pantalla inicial ................................................................................... 397 
Parte I1 . Arquitecturas orientadas a objetos en Delphi ............................................... 401 
............................................................... 8 . La arquitectura de las aplicaciones Delphi 403 
El objeto Application ............................................................................................................ 404 . . Mostrar la ventana de la aplicacion .............................................................................. 406 
Activacion de aplicaciones y formularios .................................................................... 407 
Seguimiento de formularios con el objeto Screen ..................................................... 407 
De eventos a hilos ................................................................................................................. 412 
Programacion guiada por eventos ................................................................................. 412 
Entrega de mensajes Windows ...................................................................................... 414 
.................................................................................... Proceso secundario y multitarea 414 
Multihilo en Delphi ........................................................................................................ 415 
Un ejemplo con hilos ................................................................................................ 416 
Verificando si existe una instancia previa de una aplicacion .......................................... 418 
................................................................ Buscando una copia de la ventana principal 418 
Uso de un mutex .............................................................................................................. 419 
Buscar en una lista de ventanas .................................................................................... 420 
Controlar mensajes de ventana definidos por el usuario ............................................ 421 
Creacion de aplicaciones MDI ............................................................................................ 422 
MDI en Windows: resumen tecnico ............................................................................. 422 
Ventanas marco y ventanas hijo en Delphi ........................................................................ 423 
Crear un menu Window completo ................................................................................. 424 
El ejemplo MdiDemo ...................................................................................................... 426 
Aplicaciones MDI con distintas ventanas hijo .................................................................. 428 
Formularios hijo y mezcla de menus ............................................................................ 428 
................................................................................................... El formulario principal 429 
Subclasificacion de la ventana MdiClient .................................................................... 430 
Herencia de formularios visuales ........................................................................................ 432 
Herencia de un formulario base .................................................................................... 4 3 3 
Formularios polimorficos ............................................................................................... 436 
Entender 10s marcos ............................................................................................................. 439 
Marcos y fichas ............................................................................................................... 442 
................................................................................................. Varios marcos sin fichas 444 
Formularios base e interfaces .............................................................................................. 446 
Uso de una clase de formulario base ............................................................................. 447 
............................................................ Un truco adicional: clases de interposition 450 
Uso de interfaces ............................................................................................................. 451 
El gestor de memoria de Delphi .......................................................................................... 452 
. . 9 . Creac~on de componentes Delphi ................................................................................. 455 
Ampliacion de la biblioteca de Delphi ............................................................................... 456 
.............................................................................................. Paquetes de componentes 4 5 6 
Normas para escribir componentes ............................................................................... 458 
Las clases basicas de componentes ............................................................................... 459 
. . Creacion de nuestro primer componente ........................................................................... 460 
............................................................................................ El cuadro combinado Fonts 460 
Creacion de un paquete .................................................................................................. 465 
............................................................................... ~QuC hay detras de un paquete? 466 
Uso del cuadro combinado Fonts ................................................................................... 469 
................................................................. Los mapas de bits de la Component Palette 469 
Creacion de componentes compuestos ............................................................................... 471 
.................................................................................................... Componentes internos 471 
Publicacion de subcomponentes .................................................................................... 472 
.................................................................................................... Componentes externos 475 
.......................................................... Referencias a componentes mediante interfaces 477 
Un componente grafico complejo ........................................................................................ 481 
......................................................................Definition de una propiedad enumerada 482 
Escritura del metodo Paint ............................................................................................. 484 
Adicion de las propiedades TPersistent ........................................................................ 486 
Definition de un nuevo evento personalizado ............................................................. 488 
..... Uso de llamadas de bajo nivel a la API de Windows : ....................................... 489 
La version CLX: Llamadas a funciones Qt nativas ............................................... 490 
Registro de las categorias de propiedades .................................................................... 490 
Personalizacion de 10s controles de Windows ................................................................... 492 
El cuadro de edicion numeric0 ...................................................................................... 494 
Un editor numeric0 con separador de millares ...................................................... 495 
El boton Sound ................................................................................................................ 496 
Control de mensaje internos: El boton Active ........................................................... 498 
Mensajes de componente y notificaciones .................................................................... 499 
Mensajes de componentes ........................................................................................ 499 
Notificaciones a componentes .................................................................................. 503 
................................................................. Un ejemplo de mensajes de componente 503 
Un cuadro de dialog0 en un componente ........................................................................... 504 
Uso del componente no visual ....................................................................................... 508 
Propiedades de coleccion ............................................................................................... 508 
Definicion de acciones personalizadas ........................................................................ 512 
Escritura de editores de propiedades .................................................................................. 516 
Un editor para las propiedades de sonido ................................................................ 517 
Instalacion del editor de propiedades ..................................................................... 520 
............................................................................... Creacion de un editor de componentes 521 
......................................................... Subclasificacion de la clase TComponentEditor 522 
.................................................................. Un editor de componentes para ListDialog 522 
Registro del editor de componentes ........................................................................ 524 
10 . Bibliotecas y paquetes ................................................................................................. 527 
La funcion de las DLL en Windows ............................................................................ 528 
El enlace dinamico .......................................................................................................... 528 
Uso de las DLL ................................................................................................................ 529 
Normas de creacion de DLL en Delphi ....................................................................... 530 
Uso de las DLL existentes .................................................................................................... 531 
.................................................................................................... Usar una DLL de C++ 532 
Creacion de una DLL en Delphi ......................................................................................... 534 
La primera DLL en Delphi ...................................................................................... 535 
Funciones sobrecargadas en las DLL de Delphi ................................................... 537 
Exportar cadenas de una DLL ................................................................................. 537 
Llamada a la DLL de Delphi ...................................................................................... 539 
Caracteristicas avanzadas de las DLL en Delphi ............................................................ 540 
............................................................. Cambiar nombres de proyecto y de biblioteca 540 
Llamada a una funcion DLL en tiempo de ejecucion .................................................. 542 
Un formulario de Delphi en una DLL .......................................................................... 544 
Bibliotecas en memoria: codigo y datos ............................................................................. 546 
Compartir datos con archivos proyectados en memoria ............................................. 548 
Uso de paquetes Delphi ........................................................................................................ 550 
Versiones de paquetes .................................................................................................... 551 
Formularios dentro de paquetes .......................................................................................... 553 
Carga de paquetes en tiempo de ejecucion ................................................................ 555 
Uso de interfaces en paquetes .................................................................................. 558 
Estructura de un paquete ..................................................................................................... 561 
11 . Modelado y programacih orientada a objetos (con ModelMaker) ................... 567 
Comprension del modelo interno de ModelMaker ............................................................ 568 
Modelado y UML .................................................................................................................. 569 
Diagramas de clase ........................................................................................................ 569 
Diagramas de secuencia ............................................................................................. 571 
Casos de uso y otros diagramas ..................................................................................... 572 
Diagramas no W ........................................................................................................ 574 
Elementos comunes de 10s diagramas ........................................................................... 575 
Caracteristicas de codification de ModelMaker .......................................................... 576 
................................................................................. Integracion Delphi / ModelMaker 576 
Gestion del modelo de codigo ........................................................................................ 578 
El editor Unit Code Editor ............................................................................................. 580 
........................................................... El editor Method Implementation Code Editor 582 
La vista de diferencias .................................................................................................... 582 
La vista Event Types View ............................................................................................. 584 
..................................................................................................... Documentacion y macros 585 
Documentacion frente a comentarios ............................................................................ 585 
Trabajo con macros .........................................................................................................587 
Reingenieria de codigo ......................................................................................................... 587 
. . Aplicacion de patrones de diseiio .................................................................................. 590 
Plantillas de codigo ......................................................................................................... 593 
Detallitos poco conocidos ................................................................................................... 595 
12 . De COM a COM+ ..................................................................................................... 597 
Una breve historia de OLE y COM ..................................................................................... 598 
Implementacion de IUnknow .............................................................................................. 599 
............................................................................... Identificadores globalmente unicos 601 
El papel de las fabricas de clases .................................................................................. 603 
Un primer sewidor COM ..................................................................................................... 604 
Interfaces y objetos COM ............................................................................................... 605 
Inicializacion del objeto COM ....................................................................................... 608 
Prueba del sewidor COM ............................................................................................... 609 
Uso de las propiedades de la interfaz ........................................................................... 610 
......................................................................................... Llamada a metodos virtuales 611 
..................................................................................................................... Automatization 612 
Envio de una llamada Automatizacion ......................................................................... 614 
Creacion de un sewidor de Automatizacion ...................................................................... 617 
.................................................................................... El editor de bibliotecas de tipos 618 
..................................................................................................... El codigo del sewidor 619 
Registro del sewidor de autornatizacion ...................................................................... 621 
Creacion de un cliente para el sewidor ........................................................................ 622 
................................................................ El alcance de 10s objetos de automatizacion 624 
El senidor en un componente ...................................................................................... 626 
Tipos de datos COM ....................................................................................................... 627 
Exponer listas de cadenas y fuentes ....................................................................... 627 
Us0 de programas Office ................................................................................................ 628 
Uso de documentos compuestos .......................................................................................... 629 
............................................................................................... El componente Container 630 
Uso del objeto interno .................................................................................................... 633 
Controles ActiveX ................................................................................................................. 633 
........................................................ Controles ActiveX frente a componentes Delphi 635 
Uso de controles ActiveX en Delphi ............................................................................. 636 
Uso del control WebBrowser .................................................................................... 636 
Creacion de controles ActiveX ............................................................................................ 638 
Creacion de una flecha ActiveX .................................................................................... 639 
Afiadir Nuevas Propiedades ........................................................................................... 640 
Adicibn de una ficha de propiedades ............................................................................ 642 
ActiveForms ..................................................................................................................... 644 
Interioridades de ActiveForm ................................................................................... 644 
El control ActiveX XClock ...................................................................................... 645 
ActiveX en paginas Web ................................................................................................ 646 
COM+ .................................................................................................................................... 648 
Creacion de un componente COM+ .............................................................................. 649 
Modulos de datos transaccionales ................................................................................. 651 
Eventos COM+ ................................................................................................................ 653 
COM y .NET en Delphi 7 .................................................................................................... 656 
................................ Parte I11 . Arquitecturas orientadas a bases de datos en Delphi 659 
13 . Arquitectura de bases de datos Delphi ..................................................................... 661 
Acceso a bases de datos: dbExpress. datos locales y otras alternativas .......................... 662 
La biblioteca dbExpress .................................................................................................. 662 
Borland Database Engine (BDE) .................................................................................. 664 
InterBase Express (IBX) ................................................................................................ 664 
MyBase y el componente ClientDataSet ....................................................................... 665 
dbGo para ADO ............................................................................................................... 665 
MyBase: ClientDataSet independiente ............................................................................... 666 
Conexion a una tabla local ya existente ....................................................................... 667 
De la DLL Midas a la unidad MidasLib ....................................................................... 669 
Formatos XML y CDS .................................................................................................... 669 
Definition de una tabla local nueva .............................................................................. 670 
Indexado ........................................................................................................................... 671 
Filtrado ............................................................................................................................. 672 
Busqueda de registros ..................................................................................................... 673 
Deshacer y Savepoint ................................................................................................ 674 
Activar y desactivar el registro ................................................................................ 675 
Usode controles data-aware ................................................................................................ 675 
Datos en una cuadricula ................................................................................................. 676 
DBNavigator y acciones sobre el conjunto de datos ................................................... 676 
Controles data-aware de texto ....................................................................................... 677 
Controles data-aware de lista ........................................................................................ 677 
El ejemplo DbAware ................................................................................................. 678 
Uso de controles de busqueda ........................................................................................ 679 
Controles grAficos data-aware ....................................................................................... 681 
El componente DataSet ........................................................................................................ 681 
El estado de un Dataset .................................................................................................. 686 
Los campos de un conjunto de datos .................................................................................. 687 
Uso de objetos de campo ................................................................................................ 690 
Una jerarquia de clases de campo ................................................................................. 692 
., Adicion de un campo calculado ..................................................................................... 695 
Campos de busqueda ....................................................................................................... 699 
Control de 10s valores nulos con eventos de campo .................................................... 701 
Navegacion por un conjunto de datos ................................................................................. 702 
El total de una columna de tabla ................................................................................... 703 
Uso de marcadores .......................................................................................................... 704 
Edicion de una columna de tabla ................................................................................. 707 
Personalizacion de la cuadricula de una base de datos .................................................... 707 
Pintar una DBGrid ...................................................................................................... 708 
Una cuadricula que permite la seleccion multiple ................................................. 710 
........................................................................................ Arrastre sobre una cuadricula 712 
Aplicaciones de bases de datos con controles estandar .................................................... 713 
Imitacion de 10s controles data-aware de Delphi ....................................................... 713 
Envio de solicitudes a la base de datos ......................................................................... 716 
....................................................................................................... Agrupacion y agregados 718 
...................................................................................................................... Agrupacion 718 
................................................................................................. Definicion de agregados 719 
Estructuras maestroldetalles ................................................................................................ 721 
Maestro/detalle con 10s ClientDataSet ..................................................................... 722 
Control de errores de la base de datos ............................................................................ 723 
14 . Clientelsemidor con dbExpress ............................................................................ 727 
La arquitectura clientelservidor .......................................................................................... 728 
Elementos del disefio de bases de datos .......................................................................... 730 
Entidades y relaciones .................................................................................................... 730 
Reglas de normalizacion ........................................................................................ 731 
De las claves primarias a 10s OID ................................................................................. 731 
................................................................. Claves externas e integridad referencial 733 
. . 
Mas restricciones ............................................................................................................ 734 
Cursores unidireccianales ....................................................................................... 734 
...................................................................................................... Introduccion a InterBase 736 
............................................................................................................ Uso de IBConsole 738 
Programacion de servidor en InterBase ........................................................................ 740 
Procedimientos almacenados ................................................................................. 740 
Disparadores (y generadores) ................................................................................... 741 
La biblioteca dbExpress ....................................................................................................... 743 
Trabajo con cursores unidireccionales ..................................................................... 743 
Plataformas y bases de datos ........................................................................................ 744 
.................... Problemas con las versiones de controladores e inclusion de unidades 745 
Los componentes dbExpress ................................................................................................ 746 
El componente SQLConnection .................................................................................... 747 
............................................... Los componentes de conjuntos de datos de dbExpress 751 
........................................................... El componente SimpleDataSet de Delphi 7 752 
El componente SQLMonitor .......................................................................................... 753 
Algunos ejemplos de dbExpress .................................................................................... 754 
Uso de un componente unico o de varios ..................................................................... 755 
Aplicacion de actualizaciones .................................................................................. 755 . . 
Seguimiento de la conexion ..................................................................................... 756 
Control del codigo SQL de actualizacion ............................................................... 757 
Acceso a metadatos de la base de datos con SetSchemaInfo ................................ 758 
............................................................................................... Una consulta parametrica 760 
....................................................... Cuando basta una sola direccion: imprimir datas 762 
Los paquetes y la cache ........................................................................................................ 765 
Manipulacion de actualizaciones .................................................................................. 766 
El estado de 10s registros .......................................................................................766 
Acceso a Delta ........................................................................................................... 767 
Actualizar 10s datos .................................................................................................... 768 
Uso de transacciones ....................................................................................................... 771 
Uso de InterBase Express ............................................................................................... 774 
Componentes de conjunto de datos IBX ..................................................................... 776 
Componentes administrativos IBX .......................................................................... 777 
Creacion de un ejemplo IBX ....................................................................................... 777 
Creacion de una consulta en vivo .................................................................................. 779 
Control en InterBase Express ........................................................................................ 783 
Obtencion de mas datos de sistema ............................................................................... 784 
Bloques del mundo real ....................................................................................................... 785 
Generadores e identificadores ........................................................................................ 786 
Busquedas sin distincion entre mayusculas y minusculas .......................................... 788 
Manejo de ubicaciones y personas ........................................................................... 790 
Creacion de una interfaz de usuario .......................................................................... 792 
Reserva de clases ............................................................................................................. 795 
Creacion de un dialogo de busqueda ............................................................................. 798 
Adicion de un formulario de consulta libre ................................................................ 800 
15 . Trabajo con ADO .......................................................................................................... 803 
Microsoft Data Access Componentes (MDAC) ............................................................. 805 
Proveedores de OLE DB ............................................................................................. 805 
Uso de componentes dbGo ................................................................................................... 807 
Un ejemplo practico ................................................................................................... 808 
El componente ADOConnection ............................................................................. 811 
Archivos de enlace de datos ......................................................................................... 811 
Propiedades dinamicas ....................................................................................................... 812 
Obtencion de information esquematica ............................................................................ 813 
Uso del motor Jet ............................................................................................................. 815 
Paradox a traves de Jet ................................................................................................... 816 
Excel a traves de Jet ....................................................................................................... 817 
Archivos de texto a traves de Jet ............................................................................. 819 . , Importaclon y exportation ............................................................................................ 821 
Trabajo con cursores ............................................................................................................. 822 
. . 
Ubicacion de cursor ................................................................................................... 822 
Tipo de cursor .................................................................................................................. 823 
Pedir y no recibir ............................................................................................................. 825 
................................................................................................ Sin recuento de registros 826 
Indices de cliente ............................................................................................................. 826 
. . . Repllcaclon ...................................................................................................................... 827 
Procesamiento de transacciones .................................................................................... 829 
Transacciones anidadas ........................................................................................... 830 
Atributos de ADOConnection ................................................................................... 830 
Tipos de bloqueo ............................................................................................................. 831 
. . 
El bloqueo peslmlsta ............................................................................................. 832 
Actualizacion de 10s datos ................................................................................................... 832 
............................................................................................... Actualizaciones por lotes 834 
Bloqueo optimists ........................................................................................................... 836 
Resolution de conflictos de actualizacion .................................................................... 839 
Conjuntos de registros desconectados ................................................................................ 840 
.......................................................................................................... Pooling de conexiones 841 
Conjuntos de registros permanentes ............................................................................. 843 
...................................................................................................... El modelo de maletin 844 
Unas palabras sobre ALIO.NET ........................................................................................... 845 
16 . Aplicaciones DataSnap multicapa ............................................................................. 847 
................................................................ Niveles uno. dos y tres en la historia de Delphi 848 
Fundamento tecnico de DataSnap ................................................................................. 850 
La interfaz AppSener .................................................................................................... 850 
Protocolo de conexion ..................................................................................................... 851 
Proporcionar paquetes de datos ..................................................................................... 853 
Componentes de soporte Delphi (entorno cliente) .................................................... 854 
.................................................... Componentes de soporte Delphi (entorno senidor) 856 
Construction de una aplicacion de ejemplo ...................................................................... 856 
El primer senidor de aplicacion ................................................................................... 856 
El primer cliente ligero .................................................................................................. 858 
Adicion de restricciones a1 senidor ....................................................................................860 
Restricciones de campo y conjuntos de datos .............................................................. 860 
Inclusion de propiedades de campo .............................................................................. 862 
Eventos de campo y tabla ............................................................................................... 862 
Adicion de caracteristicas a1 cliente ................................................................................... 863 
Secuencia de actualization ............................................................................................ 864 
Refresco de datos ............................................................................................................. 865 
Caracteristicas avanzadas de DataSnap ............................................................................. 867 
Consultas por parametros ............................................................................................... 868 
Llamadas a metodos personalizados ............................................................................. 868 
Relaciones maestroldetalle ............................................................................................. 870 
............................................................................................ Uso del agente de conexion 871 
Mas opciones de proveedor ............................................................................................ 872 
Agente simple de objetos ................................................................................................ 873 
Pooling de objetos ........................................................................................................... 874 
Personalizacion de paquetes de datos ........................................................................... 874 
17 . CreacMn de componentes de bases de datos ........................................................... 877 
El enlace de datos ................................................................................................................. 878 
La clase TDataLink ......................................................................................................... 878 
Clases de enlaces de datos derivadas ............................................................................ 879 
Creacion de controles data-aware orientados a campos .................................................. 880 
Una ProgressBar de solo lectura ................................................................................... 880 
Una TrackBar de lectura y escritura ............................................................................. 884 
Creacion de enlaces de datos personalizados .................................................................... 887 
Un componente visualizador de registros .................................................................... 888 
.......................................................................... Personalizacion del componente DBGrid 893 
.................................................................... Construir conjuntos de datos personalizados 897 
La definicion de las clases ............................................................................................. 898 
Apartado I: Inicio. apertura y cierre ............................................................................. 902 
..................................................... Apartado 11: Movimiento y gestion de marcadores 907 
............................................... Apartado 111: Buffers de registro y gestion de campos 911 
Apartado IV: De buffers a campos ................................................................................ 915 
.............................................. Comprobacion el conjunto de datos basado en streams 917 
Un directorio en un conjunto de datos ............................................................................... 918 
.................................................................................. Una lista como conjunto de datos 919 
......................................................................................................... Datos del directorio 920 
Un conjunto de datos de objetos .......................................................................................... 924 
. . 18 . Generation de informes con Rave ............................................................................. 931 
Presentation de Rave ............................................................................................................ 932 
Rave: el entorno visual de creacion de informes ......................................................... 933 
El Page Designer y el Event Editor ..................................................................... 934 
El panel Property .................................................................................................. 934 
El panel Project Tree ................................................................................................. 934 
Barras de herramientas y la Toolbar Palette .......................................................... 935 
La barra de estado ..................................................................................................... 936 
Uso del componente RvProject ...................................................................................... 936 
........................................................................................... Formatos de representacion 938 
Conexiones de datos ....................................................................................................... 939 
........................................................................................ Componentes del Rave Designer 941 
Componentes basicos ...................................................................................................... 942 
Componentes Text y Memo ...................................................................................... 942 
El componente Section ............................................................................................. 942 
Componentes grhficos ............................................................................................... 943 
El componente FontMaster ...................................................................................... 943 
.................................................................................................... Numeros de pagina 944 
Componentes de dibujo ............................................................................................. 944 
Componentes de codigo de barras ........................................................................... 944 
Objetos de acceso a datos ............................................................................................... 945 
Regiones y bandas ........................................................................................................... 946 
El Band Style Editor ................................................................................................. 947 
Componentes data-aware ............................................................................................... 949 
El Data Text Editor ................................................................................................... 949 
De Text a Memo ........................................................................................................ 950 
Calculo de totales ...................................................................................................... 951 
................................................................................ Repeticion de datos en paginas 951 
....................................................................................................................... Rave avanzado 951 
................................................................................................

Continuar navegando