1 de julio de 2008

CodeGear from Embarcadero Technologies

CodeGear from Embarcadero Technologies

Hoy es realmente un día muy especial para la comunidad de usuarios de las ex herramientas de desarrollo de Borland y también para sus ex empleados. Y digo "ex" porque desde hoy CodeGear pertenece a Embarcadero Technologies, la transacción ha terminado con exito y empieza así el nacimiento de una nueva empresa con mucho, pero mucho por ofrecer a sus fieles y nuevos usuarios.

Embarcadero(DatabaseGear) = Líder en crear herramientas de administración de Base de datos.
CodeGear = Líder en herramientas de desarrollo.

La combinación de ambas technologías darán la oportunidad de mejorar e innovar dramáticamente las ya conocidas herramientas de desarrollo (Delphi, Delphi for PHP, C++Builder, JBuilder, 3rdRail, Interbase, BlackFish) y a nosotros los Evangelizadores y Desarrolladores la capacidad de seguir mejorando nuestra productividad en el desarrollo de software a la vez que creamos aplicaciones de gran impacto y calidad.

Es cuestión de esperar solo un poco de tiempo para que los equipos de DatabaseGear y CodeGear puedan mezclar sus conocimientos y empezar a producir nuevas e interesantes herramientas.

Vamos CodeGear, Vamos DatabaseGear, Vamos Embarcadero!!

30 de mayo de 2008

Establece un récord mundial Guinness.

Ayuda a alcanzar un record Guinness, todo lo que tienes que hacer es descargar Firefox 3 durante el Download Day para ayudar a establecer el récord del software con más descargas durante 24 horas - es así de fácil.

Regístrate en el siguiente enlace:

Download Day - Spanish

12 de mayo de 2008

5 días después...sobre la venta de CodeGear a Embarcadero Technologies.

Hola amigo desarrollador:

No hay porqué preocuparse, en verdad, éste es también un grán momento para nosotros, los desarrolladores, imagínense los nuevos productos que tendremos en manos!!!, la combinación complementaria de productos y empresas (CodeGear + Embarcadero) es extensa, apasionante y REALMENTE muy prometedora. Las dos empresas tienen una gran área de interés y los conocimientos se complementan, sin tener conflictos de ningún tipo al ofertar sus productos.

La combinación de las dos líneas de productos dará lugar a un desarrollo muy productivo de soluciones para ambos tipos de clientes (Bases de Datos y Herramientas de Desarrollo).
CodeGear continúa avanzando con el desarrollo y planeamiento de sus productos, eventos/seminarios web y mejoras de su sitio web.

Si tú desarrollas aplicaciones que no usan Bases de datos, entonces te interesa más el rendimiento, calidad, despliegue, usabilidad, maximizar el uso del harware, usar ambos CPUs, gráficos y SOs. Ahora será el momento de añadir presistencia de datos a tus aplicaciones.

Para terminar, déjeme decirle que se vienen cosas muy buenas, prepárese!!!

6 de mayo de 2008

CodeGear Developer Days III en Español - Videos disponibles para descargar

Comunidad de habla hispana, ya se encuentran disponibles las presentaciones del tercer Developer Days de CodeGear en Español listas para descargar.

Puedes descargarlos desde http://dn.codegear.com/es/article/37847
o si prefieres desde la lista de abajo:

Download (19.3MB) Asistir (27:41)
Desarrollo de aplicaciones Delphi y PHP para AS/400
Andreano Lanusse – CodeGear - EEUU

Download (218MB) Asistir (73:09)
Carro de compras con RAD Studio 2007, ASP.NET y ECO IV
Pablo Soligo – Unisolutions - ARGENTINA

Download (65MB) Asistir (73:22)
El ClientDataSet y sus características de uso local
Yonny A. Suarez – Laverlam S.A.

Download (29.1MB) Asistir (72:38)
Aplicaciones multicapa, extendiendo las aplicaciones cliente servidor
Kelyn Peña – Capscon - REPUBLICA DOMINICANA

Download (43.9MB) Asistir (47:59)
Desarrollo de aplicaciones multi-hilo con Delphi
Juan Antonio Castillo - IT Solutions Guatemala

Download (27.7MB) Asistir (47:52)
Tomando ventaja con el desarrollo multicapa en Delphi.Net
Salvador Gómez – Cibernética - MEXICO

Download (15.4MB) Asistir (41:10)
Delphi y componentes IBAdmin
Norberto Martinez – Gopac - MEXICO

Download (39.8MB) Asistir (28:06)
Visión General de Delphi for PHP 2
Robert Rojas – Qadram - ESPAÑA

Download (43.8MB) Asistir (20:00)
Desarrollo Visual (VCL Designer and Templated Forms)
Vicente Almodóvar – Qadram - ESPAÑA

Download (47.9MB) Asistir (35:10)
Delphi for PHP 2 para desarrolladores PHP
Diego Navarro - Qadram - ESPAÑA

Download (16.9MB) Asistir (40:20)
Utilizando las API de Windows en C++ Builder
Oscar Darío Perdiguero – SysAdmin/WebAdmin - ARGENTINA

Download (31.4MB) Asistir (34:47)
Construyendo Aplicaciones de Calidad con C++Builder 2007
José Castillo - Interactive Technical Systems - PERU

18 de abril de 2008

CodeGear Developer Days en Español - 21 y 22 de Abril de 2008 - En línea - GRATIS!!


CodeGear Developer Days en Español - 21 y 22 de Abril de 2008 - En línea - GRATIS!!

CodeGear Developer Days en Español - 21 y 22 de Abril de 2008 - En línea - GRATIS!!


Comunidad de habla hispana, prepárense para el tercer Developer Days de CodeGear en Español.

CodeGear va a promover 2 días con 12 presentaciones, todas las sesiones serán online, ofreciendo información técnica, visión y consejos prácticos de algunas de las tecnologías clave para el desarrollador de hoy. Los participantes tendrán la oportunidad de preguntar a los expertos sobre:

-Delphi 2007 for Win32
-RAD Studio 2007
-C++ Builder 2007
-InterBase 2007
-Lanzamiento de Delphi for PHP 2

Todas las sesiones serán en español.


Quien debe participar
-Desarrolladores de Software
-Analistas de Sistemas
-Arquitectos de Sistemas
-Lideres de Proyectos de Software
-Gerentes de Equipos de Desarrollo de Software

Más información sobre la AGENDA en: http://dn.codegear.com/es/article/37847

Para registrarse…

El registro es ÚNICO para los dos días del evento

Para participar del evento los días Lunes 21 de Abril y Martes 22 de Abril haga clic en la siguiente dirección:

http://info.borland.com.br/latam/eventregistration/Registration.aspx?UrlCode=3DEVDAYES

Lea las instrucciones
El Tercer Developer Days será presentando a través de InterWise y exhortamos a ustedes configurar su computadora antes del evento. (Su computadora será automáticamente configurada cuando entren al evento. (Esto tarda algunos minutos.)

16 de abril de 2008

Nuevo Driver DBX4 gratuito para Firebird y Delphi 2007

Thiago Borges de Oliveira pone a disposición un nuevo driver DBX4 para Firebird Gratuito!
Si usas Firebird en tus aplicaciones Delphi, puedes dar una mirada a este nuevo Driver. DBX4 es una nueva tecnología de acceso a bases de datos disponible en Delphi 2007.

10 de abril de 2008

El programa de Ayuda de Windows (WinHlp32.exe) ya no se incluye en Windows Vista

Microsoft a declarado oficialmente obsoleta la tecnología de WinHlp32.exe, a partir de Windows Vista. Esta tecnología ya no se seguirá utilizando en las futuras versiones de Windows. Por eso, se aconseja a los desarrolladores de software que distribuyan aplicaciones basados en archivos .hlp a usar otro formato de archivo de ayuda, por ejemplo .chm, .html o .xml. Hay herramientas de terceros que pueden ayudar a convertir el contenido de la Ayuda de un formato a otro.

Sin embargo quienes todavía deseen leer archivos .hlp de 32 bits en Windows Vista deben descargar WinHlp32.exe desde el Centro de descarga de Microsoft e instalarlo en sus equipos. Para esto, los usuarios deben visitar el siguiente sitio web de Microsoft:

http://www.microsoft.com/downloads/details.aspx?displaylang=es&FamilyID=6ebcfad9-d3f5-4365-8070-334cd175d4bb

1 de abril de 2008

El Indy TCPServer usa el 100% del CPU, ¿La declaración ReadLn() en el evento OnExecute es el problema?

No hay nada dentro de ReadLn() que pueda causar un alto consumo del CPU.

Sin embargo, si el valor de la propiedad ReadTimeout es muy baja, esta puede ser la causa de que el ReadLn() salga, y por lo tanto causar que el bucle OnExecute se repita una y otra vez, con demasiada rapidez para la CPU.

4 de marzo de 2008

Usando Imágenes GIF en Delphi 2007 (TGIFImage 3.0)

La versión 3.0 de la clase TGIFImage para el manejo de Imágenes de tipo GIF es soportado solamente por Delphi 2007 y está incluido en todas sus ediciones. A continuación un ejemplo de uso de ésta clase:

var
GIF: TGIFImage;
begin
GIF := TGIFImage.Create;
try
// Aquí hacemos lo que queremos con el GIF
...
finally
GIF.Free;
end;

end;

La única cosa que necesita hacer para poder usarlo, es añadir la unidad GIFImg en la clausula uses de su proyecto.

28 de febrero de 2008

Copia de Respaldo para Bases de Datos de Blackfish SQL

Este artículo proporciona información sobre la forma de ejecutar una función de los procedimientos almacenados para realizar una copia de seguridad de base de datos Blackfish SQL.

Clic aqui para leer el Artículo completo.

1 de febrero de 2008

1.000.000 de estudiantes aprenderán Delphi Win32, Delphi.NET y C++

CodeGear (from Borland), anunció hoy la venta de 1 millón de licencias a la Agencia Federal Rusa de Educación para la enseñanza de programación y desarrollo de aplicaciones para los estudiantes rusos. Los productos de CodeGear - Delphi ®, Delphi para. NET, y C + + Builder ® - estarán disponible para su uso en todas las escuelas primarias y secundarias de Rusia para capacitar a su nueva generación de programadores de computadoras.

Esto confirma una vez más el compromiso de CodeGear con el desarrollador y la evolucion constante de sus lenguajes IDE Delphi y C++.

Lea la nota completa en: http://dn.codegear.com/article/37606

15 de diciembre de 2007

Presentacion de Delphi for PHP en el Instituto Norbert Wiener

El 01 de Diciembre, en homenaje al 103 aniversario del nacimiento de ilustre científico NORBERT WIENER el Instituto Norbert Wiener, organizó un ciclo de conferencias por el “Día de la Cibernética”, en el que no pudo faltar la presentación de las herramientas estrellas de CodeGear: Delphi for PHP y Jbuilder 2007.

José Castillo durante la presentación de Delphi for PHP y Jbuilder 2007 (Java).

Asistentes tomando apuntes durante la presentación.

11 de diciembre de 2007

Presentaciones de Delphi Developer Days II en Español disponibles para DESCARGAR !!!

Comunidad de habla hispana, ya está disponible para DESCARGAR las presentaciones del SEGUNDO Developer Days de CodeGear en Español.

CodeGear promovió 2 días con 11 presentaciones en línea, ofreciendo información técnica, visión y consejos prácticos de algunas de las tecnologías clave para el desarrollador de hoy.
Las presentaciones fueron sobre:

  • Delphi 2007 for Win32
  • RAD Studio 2007

Primer día

Download (22MB)
Ver en línea (42:39)
RAD Studio 2007 Visión General y Futuro
Nick HodgesCodeGear - EEUU

Download (39.9MB)
Ver en línea (50:22)
Las principales raciones para cambiar de Delphi 7 a RAD Studio 2007
Andreano LanusseCodeGear - EEUU

Download (18.2MB)
Ver en línea (34:26)
Introducción a Blackfish SQL
José Castillo Reyes- Interactive Technical Systems SAC - PERU

Download (69.7MB)
Ver en línea (46:15)
Mejorando la calidad de sus aplicaciones Delphi
Norberto MartinezGopac - MEXICO

Download (22.4MB)
Ver en línea (40:08)
Generics en RAD Studio 2007
Salvador GómezCibernética

Segundo día

Download (70.8MB)
Ver en línea(57:56)
Desarrollo de aplicaciones Web en RAD Studio 2007 con ASP.NET y AJAX
Andreano LanusseCodeGear - EEUU

Download (52MB)
Ver en línea(57:56)
ECO IV y RAD Studio 2007
Pablo SoligoUnisolutions - ARGENTINA

Download (84.6MB)
Ver en línea(37:13)
Los nuevos recursos del IDE de RAD Studio 2007
Fabián DuronAhresty Mexicana - MEXICO

Download (34.2MB)
Ver en línea(44:26)
Manejando metadata de base de datos e los nuevos recursos de dbExpress 4
Pablo SoligoUnisolutions - ARGENTINA

Download (16.8MB)
Ver en línea(29:34)
Creando aplicaciones multihilo con Indy en Delphi 2007
José Castillo Reyes- Interactive Technical Systems SAC - PERU

Download (100MB)
Ver en línea(35:12)
Depurando aplicaciones con RAD Studio 2007
Juan Antonio Castillo - IT Solutions Guatemala - GUATEMALA

2 de diciembre de 2007

CodeGear Developer Days en Español - 4 y 5 de Diciembre de 2007 - En línea


CodeGear Developer Days en Español - 4 y 5 de Diciembre de 2007 - En línea.

Comunidad de habla hispana, prepárense para el segundo Delphi Developer Days de CodeGear en Español.
CodeGear va a promover 2 días con 12 presentaciones, todas las sesiones serán online, ofreciendo información técnica, visión y consejos prácticos de algunas de las tecnologías clave para el desarrollador hoy. Los participantes tendrán la oportunidad de preguntar a los expertos sobre:
Delphi 2007 for Win32
RAD Studio 2007
Todas las sesiones serán en español, excepto la presentación de David Intersimone y Nick Hodges (Delphi Product Manager).

Para participar del evento en Martes 4 de Diciembre y Miércoles 5 de Diciembre clic en la dirección de abajo:
http://info.borland.com.br/latam/eventregistration/Registration.aspx?UrlCode=2DEVDAYES

9 de noviembre de 2007

MSBuild, lo nuevo de Delphi 2007 for Win32

Delphi 2007 for Win32 viene ahora con MSBuild para la administración de proyectos. Esta herramienta nos ayudará a simplificar el manejo de grandes proyectos, revitalizando de ésta manera el desarrollo en Win32.

Introducción

Delphi 2007 for Win32 utiliza MSBuild para la administración de proyectos al crear o al actualizar aplicaciones desde versiones anteriores. En nuestro análisis sobre la funcionalidad de MSBuild en nuestros proyectos, migraremos una aplicación muy simple que calcula el dígito verificador de un número NIF tomando como parámetro un número de DNI.

Migrando la aplicación

Bien, para iniciar la migración cargamos Delphi 2007. En el menú File seleccionamos Open Project, notaremos que una nueva ventana de diálogo al estilo Windows Vista nos permite especificar la ubicación del proyecto.


Seleccionamos el archivo NIF.bds y presionamos el botón Abrir. Delphi 2007 for Win32, comienza ahora la migración automática de nuestra aplicación.

Examinando el nuevo Archivo de proyecto (*.dproj )

Una vez que la migración ha terminado, Delphi 2007 ha creado un nuevo archivo con extensión *.dproj.

Este nuevo archivo llamado NIF.dproj es un nuevo formato de archivo de proyecto basado en código XML. Aquí se guardará información referida al proyecto como: la personalidad de Delphi usada al crear la aplicación, información sobre el proyecto, etc. Para comprender su uso es necesario conocer algunos de los elementos básicos del formato de archivo de proyecto de MSBuild que resumo a continuación.

Elementos
Los elementos son entradas en el sistema de generación y se agrupan en colecciones de elementos basadas en los nombres de colección definidos por el usuario. Estas colecciones de elementos se pueden utilizar como parámetros para tareas, las cuales utilizan elementos individuales incluidos en la colección para llevar a cabo los pasos del proceso de generación.

Los elementos se declaran en el archivo de proyecto creando un elemento con el nombre de la colección de elementos como elemento secundario de un elemento ItemGroup. El código siguiente crea una colección de elementos de nombre Compile que incluye dos archivos.

En nuestra aplicación recientemente migrada, el código siguiente crea dos colecciones de elementos con nombres DelphiCompile y DCCReference que incluyen un archivo cada uno respectivamente: NIF.dpr y Unit1.pas.

Propiedades
Las propiedades representan pares clave=valor que se usan para configurar generaciones. Las diferencias entre los elementos y las propiedades son:

  • Los elementos se almacenan en colecciones, mientras que las propiedades contienen un valor escalar único.
  • Los elementos no se pueden quitar de las colecciones de elementos, mientras que se puede modificar el valor de las propiedades una vez definido.
  • Los elementos pueden contener metadatos y utilizar la notación %(ItemMetadata), mientras que las propiedades no pueden.

Las propiedades se declaran creando un elemento con el nombre de la propiedad como elemento secundario de un elemento PropertyGroup. Como ejemplo, el código siguiente crea una propiedad denominada BuildDir con un valor de Build.

A continuación, las propiedades declaradas en el archivo NIF.dproj. Note los tres elementos PropertyGroup y sus respectivas propiedades existentes en el archivo de proyecto.

Note que las configuraciones se representan en los proyectos de MSBuild mediante propiedades agrupadas en un elemento PropertyGroup que contiene un atributo Condition. Delphi 2007 examinará estas condiciones para crear una lista de las configuraciones y plataformas del proyecto que se va a mostrar, por ejemplo

TareasLas tareas son unidades reutilizables de código ejecutable usadas por proyectos de MSBuild para realizar operaciones de generación. Para poner un ejemplo, una tarea podría compilar archivos de entrada o ejecutar una herramienta externa. Una vez creadas, las tareas las pueden compartir y reutilizar desarrolladores diferentes en distintos proyectos.
En el ejemplo, el código mostrado llama a la tarea MakeDir y le envía el valor de la propiedad BuildDir.

Destinos
Los destinos agrupan tareas en un orden particular y exponen secciones del archivo de proyecto como puntos de entrada en el proceso de generación. Los destinos se agrupan a menudo en secciones lógicas para permitir la expansión y aumentar la legibilidad. Dividir los pasos de generación en muchos destinos permite llamar a una parte del proceso de generación desde otros destinos sin necesidad de copiar dicha sección de código en cada destino.

Los destinos se declaran en el archivo de proyecto con el elemento Target. Por ejemplo, en el ejemplo de código siguiente se crea un destino denominado Compile que, a continuación, llama a la tarea Cdc con la colección de elementos declarada en el ejemplo anterior.

Recuerde, la configuración del proyecto que se agrega y modifica mediante Delphi se refleja en el archivo *.dproj, y ésta es generada para cada proyecto.

Probando la aplicación

Regresando al IDE de Delphi 2007 for Win32, veremos que la aplicación ha sido migrada completamente, sin necesidad de intervenir en el proceso. Notaremos también que nuestra aplicación, así como el mismo Delphi, ahora soportan la nueva interfase AERO de Windows Vista. Compilamos el proyecto en Project->Compile NIF.

Y por último ejecutamos la aplicación (presionamos F9). En la ventana de la aplicación digitamos un número de DNI y presionamos Aceptar, el programa mostrará el dígito verificador correspondiente.

Conclusión

Para terminar, el nuevo formato de archivo de proyecto de MSBuild nos permite describir completamente qué elementos se han de generar y cómo han de generarse sobre distintas plataformas y configuraciones. MSBuild utiliza un mecanismo extensible para describir los pasos de una generación. Utilizando MSBuild tenemos en las manos la posibilidad de crear un sistema propio de generación mediante tareas personalizadas escritas en formato XML.

También puedes leer el artículo en: MSBuild, lo nuevo de Delphi 2007 for Win32.

** José Castillo, escribe artículos técnicos sobre Delphi para Danysoft Servicios Profesionales.

3 de noviembre de 2007

Usando Plantillas en Delphi for PHP

Introducción



En el mundo del desarrollo web es muy común crear crear interfaces HTML para nuestras aplicaciones escritas en PHP, el uso de plantillas (templates)nos permite separar el código PHP de su presentación.Delphi for PHP soporta el uso de plantillas, proveyendo de esta manera un diseño único y consistente a su sitio web.

Creando el proyecto



Para crear un nuevo proyecto escogemos, File->New Project->Application.Un proyecto es creado y mostrado en el ProjectManager con un nombre por defecto. Por defecto un archivo unit para el formulario también ha sido creado. Guardamos el proyecto escogiendo File->Save Project Asel cual nos presentará el cuadro de dialogo respectivo. Especificamos el directorio donde se guardaran los archivos del proyecto y digitamos el nombre del proyecto. Presionamos el botón Save. El proyecto ha sido añadido al ProjectManager.



En nuestro ejemplo vamos a crear una simple pagina de Identificación de Usuario (Login) y para eso vamos a colocar en el formulario los siguientes componentes: 1 Label, 1 Edit y 1 Button.

Para hacer esto, basta con seleccionar el componente necesario desde la Paleta de Herramientas y colocarlo sobre el formulario. Diseñamos la página de la siguiente manera:



En el Inspector de Objetos modificamos las propiedades de los componentes de acuerdo al cuadro siguiente:

Componente/Propiedad Name Visible
=============================================
Edit edtName True
Label lbMensaje False
Button btnLogin True

Seleccionamos el botón y en su evento OnClick escribimos el siguiente código PHP:

function btnLoginClick($sender, $params)
{
$this->lbMensaje->Caption = 'Bienvenido '.$this->edtNombre->Text;
$this->lbMensaje->Visible = true;
}

Es importante saber que el nombre que le damos a los componentes se han de utilizar en la plantilla que iremos a usar en el sitio web, como veremos más adelante.



Seleccionamos el formulario haciendo Click sobre el mismo y en el Object Inspector vamos a modificar las siguientes propiedades: TemplateEngine y TemplateFilename.

TemplateFilename, nos permite especificar un archivo .html que nos servirá como plantilla. En este archivo se encuentran especificadas unas “marcas” que hacen referencia al nombre de los componentes que acabamos de crear en el paso anterior. La forma de crear estas marcas en la plantilla .html deben tener la forma {$nombrecomponente}, en nuestro caso serían así: {$lbMensaje}, {$edtNombre} y {$btnLogin} para cada componente respectivamente.

TemplateEngine, nos permite especificar el motor que hará que nuestros componentes se muestren en la posición indicada dentro de nuestra página. Delphi for PHP viene instalado por defecto con un motor llamado Smarty.

Las plantillas que usa Delphi for PHP son del tipo .html, y lo unico que nos queda hacer, es colocar las marcas dentro del código html. Para nuestro ejemplo, cuento con una plantilla de nombre index.html, el mismo que he especificado en la propiedad correspondiente. Cuando trabajamos con plantillas, Delphi for PHP ejecutará el código PHP internamente, y el usuario lo único que verá será una página web basada en plantilla.


Veamos cómo se ve nuestra página cuando la ejecutamos dentro del mismo Delphi for PHP.

Ejecutando la aplicación



Presionamos la tecla F9 para ejecutar la aplicación, y esto es lo que veremos:



Note que la aplicación toma el diseño especificado en la plantilla. A continuación, escribimos el nombre del usuario dentro de la casilla y luego presionamos el botón Aceptar. La aplicación procesará el código PHP especificado en el botón y mostrará un mensaje de bienvenida en la parte superior de la página.



Conclusión


Delphi for PHP es una gran herramienta que evoluciona y lleva al siguiente nivel el desarrollo profesional de aplicaciones web usando PHP.

9 de octubre de 2007

Atomicidad de Transacciones usando Array de ClientDataSets en Delphi 2007 for Win32.
PARTE I

Una de las cosas que siempre quise hacer era controlar la actualización en conjunto de Varios ClientDataSets que dependían uno de otro, es decir, que si uno de ellos fallaba las actualizaciones de los ClientDataSets ejecutados se debían descartar.

Introducción


De seguro que en algún momento se encontró en la necesidad de controlar la atomicidad en la actualización de varios ClientDataSets, es decir, si un ClienDataSet falla el motor de base de datos debe de descartar las actualizaciones de los ClientDataSets anteriormente ejecutados.

Array de ClientDataSets


Claro, para ubicarnos en el contexto anterior, el servidor de aplicaciones debería, primero, permitirnos pasarle como parámetro un array conformado de varios ClientDataSets, segundo, debería de existir un método que se encargue de llevar a cabo la actualización en la base de datos. Para el desarrollo de los ejemplos usaremos la base de datos Northwind que se encuentra en el SQL Server 2000 al cual accederemos usando los componentes dbGo de Delphi.


Puedes leer el artículo completo en: Atomicidad de Transacciones usando Array de ClientDataSets en Delphi 2007 for Win32. PARTE I.

** José Castillo, escribe artículos técnicos sobre Delphi para Danysoft Servicios Profesionales.