¿Qué idioma se utiliza en Delfos? Sobre programación y Delphi

Sitio web:

Delfos(Delfos, pronunciado /ˈdɛlˌfi:/ escucha)) es un lenguaje de programación imperativo, estructurado y orientado a objetos, un dialecto de Object Pascal. A partir del entorno de desarrollo Delphi 7.0, Borland comenzó a utilizar el nombre Delphi para referirse al lenguaje Object Pascal en documentos oficiales. Desde 2007, el lenguaje Delphi (derivado de Object Pascal) comenzó a vivir su propia vida independiente y experimentó varios cambios asociados con las tendencias modernas (por ejemplo, con el desarrollo de la plataforma .NET) en el desarrollo de lenguajes de programación: ayudantes de clase, sobrecarga del operador y aparecieron más.

Plataforma de destino

Inicialmente, el entorno de desarrollo estaba destinado exclusivamente al desarrollo de aplicaciones de Microsoft Windows, luego también se implementó para plataformas Linux (como Kylix), sin embargo, después del lanzamiento de Kylix 3 en 2002, su desarrollo se interrumpió y, poco después, Se anunció soporte para Microsoft .NET.

La implementación del entorno de desarrollo (Free Pascal, compilado en modo de compatibilidad con Delphi) por parte del proyecto Lazarus permite su uso para crear aplicaciones Delphi para plataformas como Linux, Mac OS X y Windows CE.

También ha habido intentos de utilizar el lenguaje en proyectos GNU (como el Bloc de notas GNU) y escribir un compilador para GCC.

Historia de la lengua

Object Pascal es el resultado del desarrollo del lenguaje Turbo Pascal, que, a su vez, se desarrolló a partir del lenguaje Pascal. Pascal era un lenguaje completamente procedimental, Turbo Pascal, a partir de la versión 5.5, agregó propiedades orientadas a objetos a Pascal e identificación dinámica de tipos de datos a Object Pascal con la capacidad de acceder a metadatos de clases (es decir, la descripción de clases y sus miembros). en código compilado, también llamada introspección; esta tecnología se denomina RTTI. Dado que todas las clases heredan las funciones de la clase base TObject, cualquier puntero a un objeto se puede convertir a él y luego usar el método ClassType y la función TypeInfo, que proporcionarán introspección.

Otra característica distintiva de Object Pascal de C++ es que los objetos se ubican en la memoria dinámica de forma predeterminada. Sin embargo, puede anular los métodos virtuales NewInstance y FreeInstance de la clase TObject. Así, absolutamente cualquier clase puede cumplir el "deseo" "donde quiera, allí me acostaré". La “agrupación múltiple” se organiza en consecuencia.

Object Pascal (Delphi) es el resultado de una extensión funcional de Turbo Pascal.

Delphi tuvo una gran influencia en la creación del concepto de lenguaje para la plataforma .NET. Muchos de sus elementos y soluciones conceptuales fueron incluidos en C#. Una de las razones es la transferencia de Anders Hejlsberg, uno de los principales desarrolladores de Delphi, de Borland Ltd. en Microsoft Corp.

  • La versión 8 es capaz de generar código de bytes exclusivamente para la plataforma .NET. Este es el primer entorno enfocado al desarrollo de aplicaciones multilingües (sólo para la plataforma .NET);
  • Las versiones posteriores (indicadas por años de lanzamiento en lugar de números de serie como antes) pueden producir aplicaciones Win32 y códigos de bytes para la plataforma .NET.

Sin embargo, en noviembre del mismo año se decidió abandonar la venta del negocio IDE. Sin embargo, el desarrollo de productos IDE ahora estará a cargo de una nueva empresa: CodeGear, que estará completamente controlada financieramente por Borland.

En agosto de 2006, Borland lanzó una versión ligera de RAD Studio con el nombre Turbo: Turbo Delphi (para Win32 y .NET), Turbo C#, Turbo C++.

En marzo de 2008, se anunció que se suspendería el desarrollo de esta línea de productos.

En marzo de 2007, CodeGear complació a los usuarios con la línea actualizada de productos Delphi 2007 para Win32 y el lanzamiento de un producto completamente nuevo, Delphi 2007 para PHP.

En junio de 2007, CodeGear presentó sus planes para el futuro, es decir, publicó la llamada hoja de ruta.

Embarcadero RAD Studio 2010

  • De forma predeterminada, compatibilidad total con Unicode en todas las partes del idioma, VCL y RTL; reemplazar las llamadas a todas las funciones API de Windows con análogos Unicode (es decir, MessageBox llama a MessageBoxW, no a MessageBoxA).
  • Tipos generalizados, también conocidos como genéricos.
  • Nueva directiva del compilador $POINTERMATH.
  • La función Salir ahora puede aceptar parámetros según el tipo de función.

Compiladores

  • Embarcadero Delphi (anteriormente CodeGear Delphi y Borland Delphi) es probablemente el compilador más famoso, sucesor de Borland Pascal y Turbo Pascal. Utiliza Win16 (Delphi 1), Win32 (Delphi 2 y posteriores), Win64 (Delphi 16 (XE2) y posteriores), así como .NET 1.x, 2.0 (Delphi 8, Delphi 2005-Delphi 2007). Posteriormente, el soporte para .NET se dividió en un producto separado conocido como Oxygene.
  • Free Pascal (FPC) es un compilador gratuito de Object Pascal que admite varios dialectos de Pascal, incluidos Turbo Pascal, Delphi y sus propios dialectos. Actualmente, FPC puede generar código para procesadores x86, x86-64, PowerPC, SPARC y ARM, así como para varios sistemas operativos, incluidos Microsoft Windows, Linux, FreeBSD, Mac OS. Existen varios entornos de desarrollo de software para FPC (uno de los representantes más famosos es Lazarus).
  • GNU Pascal (una versión desarrollada por separado de GCC). No pretende continuar la serie de dialectos Delphi como parte de Pascal, pero aún así contiene un modo de compatibilidad para Borland Pascal y muy lentamente acomoda componentes del lenguaje Delphi. No es adecuado para compilar proyectos grandes que contengan código Delphi, pero vale la pena señalar que la mayoría de los sistemas operativos y arquitecturas lo admiten.
  • Oxygene (anteriormente conocido como Cromo) es un compilador de Object Pascal que está integrado en Microsoft Visual Studio. También disponible como compilador con una línea de comando CLI gratuita. Utiliza plataformas .NET y mono. Actualmente se vende bajo la marca Embarcadero Delphi Prism.
  • MIDletPascal es un lenguaje de programación con una sintaxis similar a Delphi y un compilador del mismo nombre que convierte el código fuente en un código de bytes Java compacto y rápido.
  • PocketStudio: IDE basado en Pascal para Palm OS.
  • Virtual Pascal: compilador gratuito e IDE de texto para Win32, OS/2 y Linux. En ese momento era muy rápido y muy compatible (los diseños de Delphi 5 son parcialmente compatibles). Externamente es muy similar al entorno de texto Borland Pascal 7, aunque no hay gráficos compatibles con él, por ejemplo. Sin embargo, el desarrollo terminó en 2004 y el código fuente no estaba abierto. Desde entonces, FPC ha avanzado mucho y, en general, es mejor para la programación. Sin embargo, VP sigue siendo una muy buena opción para reemplazar rápidamente versiones aún más obsoletas de Borland Pascal para escuelas/institutos, dado su funcionamiento nativo en Win32 sin problemas con las codificaciones rusas.

Sintaxis del idioma

Operadores

Lista de operadores separados por espacios: := + - * / div mod not and or with xor shl shr ^ =<> >= <= < >@in es como

Expresiones

Las expresiones en Object Pascal (Delphi) pueden ser aritméticas, lógicas o de cadena.

Expresiones lógicas básicas:
Las expresiones lógicas se utilizan principalmente en declaraciones condicionales. Las expresiones lógicas incluyen operaciones como:

  • not - “NOT”, negación de una expresión lógica (NOT<логическое_выражение>)
  • y - “Y”, multiplicación (intersección) de expresiones lógicas (<логическое_выражение1>Y<логическое_выражение2>)
  • o - “O”, combinando expresiones lógicas (<логическое_выражение1>O<логическое_выражение2>)
  • xor - “OR exclusivo”, negación de OR, todo lo que no cae bajo OR (<логическое_выражение1>XOR<логическое_выражение2>)

Tipos de datos

Los datos procesados ​​en el programa se dividen en variables, constantes y literales. Las constantes son datos cuyos valores se establecen en la sección de declaración de constantes y no cambian durante la ejecución del programa.

Objetos

  • Productos Embarcadero: Embarcadero Delphi, Embarcadero C++ Builder, Borland JBuilder versiones 1 y 2.
  • Administración y desarrollo de bases de datos: MySQL Tools, IBExpert.
  • Software de ingeniería: Altium Designer.
  • Gestores de archivos: Total Commander, Fragata.
  • Visores de gráficos: FastStone Image Viewer, FuturixImager, drComRead.
  • Reproductores de vídeo y audio: Light Alloy, The KMPlayer, AIMP, X-Amp.
  • Programas de mensajería instantánea: QIP, R&Q, Skype GUI, The Bat! , PopTray, FeedDemon.
  • Creación musical: FL Studio, Guitar Pro (hasta la versión 6.0).
  • Desarrollo de software: Dev-C++, DUnit, Game Maker, Inno Setup, PyScripter.
  • Desarrollo Web: Macromedia HomeSite.
  • Editores de texto: BirEdit, Notepad GNU, Bred.
  • Contabilidad y fiscalidad: “PARUS”, AVARDA (hasta la versión 6.x inclusive).
  • Programas para crear animaciones: Pivot Stickfigure Animator.
  • Programas de compresión de datos: ALZip, PowerArchiver, PeaZip.
  • Juegos de computadora: Age of Wonders, Space Rangers, Venom. Nombre en clave: Brote, Space Empires V, "La verdad sobre la Novena Compañía".
  • Editores gráficos: Real Paint.

Notas

Literatura

  • Neil J. Rubenking. Lenguaje de programación Delphi para principiantes. Introducción a Borland Delphi 2006 = Delphi para principiantes. - M.: Dialéctica, 2007. - 336 p. -ISBN 0-7645-0179-8
  • Javier Pashecu. Programación en Borland Delphi 2006 para profesionales = Guía del desarrollador de Delphi para .NET. - M.: Williams, 2006. - 944 p. -ISBN 0-672-32443-X
  • A. N. Valvachev, K. A. Surkov, D. A. Surkov, Yu. M. Chetyrko. Programación en lenguaje Delphi. Tutorial . - 2005.

Enlaces

  • Página del entorno de programación en el sitio web. Tecnologías Embarcadero

Entonces, en este artículo hablaremos sobre cómo determinar el bitness del sistema operativo Windows al programar en lenguaje Delphi. Esto es necesario para, por ejemplo, seleccionar una u otra versión del controlador: x86 (32 bits) o x64 (64 bits).

Entonces empecemos.

Creemos un nuevo proyecto y agreguemos un componente Etiqueta al formulario.

Luego vamos al editor de código fuente y en la sección con variables var agregamos la variable string razr (tipo de datos string, es decir string).

var Formulario1: TForm1;

navaja: cuerda;

Después de eso, haga doble clic en el formulario, copie y pegue el siguiente código (en el procedimiento para crear el formulario principal TForm1.FormCreate), entre las frases comenzar y fin; (es decir, el inicio y el final del procedimiento).

(usando la función Obtener variable de entorno leemos el valor de la variable ProgramFiles(X86)

si el sistema es de 32 bits, entonces tendrá un valor vacío

si es de 64 bits tendrá conocimiento de C:Archivos de programa(x86)

es decir, la carpeta donde se instalan las versiones de 32 bits de los programas)

razr:= GetEnvironmentVariable("ProgramFiles(x86)");

etiqueta1.Caption:= razr;

si (razr = "") entonces

comenzar

etiqueta1.Font.Color:=clRed; (Cambia el color de la inscripción, puedes elegir cualquiera a tu gusto, por ejemplo clGreen - verde)

label1.Caption:= "Tienes x86"; (en lugar del nombre de la etiqueta labl1 puedes escribir cualquier otra cosa, por ejemplo metka)

demás

comenzar

etiqueta1.Font.Color:=clBlue; (Cambia el color de la inscripción, puedes elegir cualquiera a tu gusto, por ejemplo clGreen - verde)

label1.Caption:= "Tienes x64";

fin;

Cómo funciona el programa?

La función Obtener variable de entorno lee el valor de una variable de entorno en Windows Archivos de programa (X86).

Si el sistema es de 32 bits, tendrá un valor vacío.

Si es de 64 bits, entonces tendrá el conocimiento C:Archivos de programa(x86), es decir, esta es la carpeta en la que se instalan las versiones de 32 bits de los programas.

En realidad, eso es todo.

Esto es lo que me pasó a mí.

A continuación puedes descargar el archivo con el código fuente del programa para intentar descubrir por tu cuenta cómo funciona.


Comentarios ()

wdfm 90

En Windows 7 x64 el programa funciona bien, puedes usar

Eduardo 300

¡Cualquiera que comience un lenguaje fuera de tema + obsceno será baneado por 1 día! Esto no se aplica a los administradores.
.php?tablero=18.0

¡Foro no en vano lo hice!

Eduardo 300

Introducción

Estas pautas están diseñadas para ayudar a los estudiantes a adquirir habilidades prácticas en la tecnología de diseñar visualmente sus propias aplicaciones para Windows en el entorno Delphi utilizando la metodología de programación orientada a objetos. Los laboratorios cubren las etapas principales del desarrollo de programas para Windows.

Las instrucciones metódicas constan de tres secciones. La primera sección proporciona una descripción de los conceptos básicos del diseño de aplicaciones visuales y el entorno de programación Delphi, la segunda sección formula los requisitos generales para la implementación y presentación de resultados de laboratorio. La tercera sección consta de descripciones de trabajos de laboratorio específicos con la breve información teórica necesaria, ejemplos de diseño de programas, recomendaciones para la realización del trabajo, variantes de tareas para la realización del trabajo y preguntas para autoevaluación. Para completar el trabajo, los estudiantes deben estar familiarizados con el lenguaje Object Pascal y el entorno de programación visual Delphi.

Conceptos básicos y definiciones de Delphi.

visual de matriz del programa Delphi

La pantalla después de iniciar Delphi contiene cuatro ventanas: la ventana principal, los formularios, el inspector de objetos y el editor de código, que está cubierto casi por completo por la ventana del formulario.

La ventana principal contiene el menú de comandos, la barra de herramientas y la paleta de componentes de Delphi.

La ventana del formulario, su título FORM1, representa una plantilla, un diseño de uno de los objetos de la aplicación que se está desarrollando.

La ventana del Inspector de objetos, su título Inspector de objetos, le permite ver y cambiar las propiedades de los objetos del proyecto. Después de iniciar Delphi, esta ventana muestra las propiedades del formulario FORM1.

La ventana del editor de código está destinada a crear procedimientos de manejo de eventos. En Delphi, el código es el texto de un programa.

Los objetos o controles son componentes del formulario a partir de los cuales se crea un proyecto; por cierto, el formulario en sí, como se mencionó anteriormente, también es un objeto. Los objetos pueden ser botones de comando, campos de entrada de texto, interruptores, etiquetas, barras de desplazamiento y ventanas.

Las propiedades de un objeto son, por ejemplo, el tamaño del texto del título, el color de fondo del formulario o el texto en el botón de comando y mucho más; se puede ver una lista completa de propiedades en la ventana del Inspector de objetos para el objeto seleccionado. objeto.

Un evento es algo que sucede mientras se ejecuta la aplicación que creó. En Delphi, cada evento tiene un nombre, por ejemplo, un clic del mouse es un evento OnClick, un doble clic es un evento OnDblClick.

Un proyecto es un conjunto de archivos (unidades de programa - módulos), mediante los cuales el compilador crea un archivo de programa ejecutable. Uno de los archivos del proyecto, llamado archivo de proyecto y con la extensión dpr, contiene una descripción general del proyecto. El archivo de proyecto es el módulo de aplicación principal generado por Delphi. Además del módulo principal, el proyecto incluye uno o más módulos (Unidades). Los archivos del módulo de proyecto (Unidad) contienen los textos de procedimientos, funciones, descripciones de tipos, así como toda la información para crear un programa ejecutable, y tienen la extensión pas. Un procedimiento es un grupo de operadores en un lenguaje de programación que permite realizar acciones específicas (resolver un problema). De una forma u otra, todo el código ejecutable que compiló para la inicialización necesariamente se coloca en algún procedimiento.

Una Unidad consta de tres secciones: interfaz (comienza con la palabra interfaz), implementación (comienza con la palabra implementación) y. A continuación se muestra la estructura del módulo.

nombredelmódulounidad;

(Aquí se describen los procedimientos y funciones de este módulo que pueden ser utilizados por otros módulos)

(Aquí hay declaraciones de constantes globales del módulo que pueden ser utilizadas por los procedimientos y funciones del módulo)

(Aquí están las declaraciones de los tipos globales del módulo que pueden ser utilizados por los procedimientos y funciones del módulo)

(Aquí están las declaraciones de las variables globales del módulo que pueden ser utilizadas por los procedimientos y funciones del módulo)

(Aquí hay descripciones de los procedimientos y funciones del módulo)

(Las instrucciones para la sección de inicialización de variables del módulo se encuentran aquí)

Por lo tanto, la sección de interfaz le dice al compilador qué parte del módulo está disponible para otros módulos del programa. La sección de implementación comienza con una directiva ($R*.DFM) que le dice al compilador que use una declaración de formulario al generar el archivo ejecutable. la descripción del formulario se encuentra en un archivo con la extensión dfm, cuyo nombre es el mismo que el nombre del módulo. La directiva ($R*.DFM) va seguida de los procedimientos de manejo de eventos para el formulario y sus componentes. El programador también puede colocar aquí procedimientos y funciones desarrollados. Si la sección de inicialización no contiene instrucciones, entonces no se especifica la palabra comenzar.

Delphi es un lenguaje de programación y entorno de desarrollo de software. Está desarrollado por Borland (anteriormente conocido como Inprise). Lenguaje de programación Delphi, anteriormente conocido como Objeto Pascal(Pascal con extensiones orientadas a objetos), originalmente dirigido sólo a Microsoft Windows, pero ahora permite crear aplicaciones nativas para Linux y Microsoft. NET Framework y otros (ver más abajo). Programación para principiantes.
El uso más popular es el desarrollo de aplicaciones de escritorio y bases de datos empresariales, y como herramienta el lenguaje de programación Delph. Y Se puede utilizar para la mayoría de los tipos de proyectos en desarrollo. Fue uno de los primeros lenguajes en ser conocido como herramienta RAD (Desarrollo rápido de aplicaciones) cuando salió en 1995. Delphi 2, lanzado un año después, soportaba el entorno Windows de 32 bits, y sólo unos años después salió C, C++ Builder. En 2001, estuvo disponible una versión para Linux conocida como Kylix (urna griega clásica). Cada año había una nueva versión, en 2002 el producto pasó a ser conocido como Delphi 7 Studio, el lenguaje pasó a llamarse oficialmente lenguaje de programación Delphi en lugar de Object Pascal, y se agregó soporte para Linux (a través de Kylix) y. NET (a través del precompilador). Apoyo total. NET está previsto para el próximo Delphi 8. Programación para tontos.
Los componentes principales de Delphi y Kylix: el lenguaje Delphi (anteriormente conocido oficialmente como lenguaje Object Pascal), VK/CLX (Biblioteca de componentes visuales), sólidas conexiones de bases de datos, combinado con un potente IDE (Entorno de desarrollo integrado) y herramientas de soporte adicionales.
Las grandes características del lenguaje Delphi incluyen:

  • Manejo transparente de objetos mediante referencias o punteros.
  • Propiedades como parte del lenguaje, junto con funciones Get y Set que encapsulan de forma transparente el acceso a los miembros del campo.
  • Propiedades de índice y predeterminadas que brindan acceso a la colección de una manera conveniente y transparente.
  • Delegados, o métodos de puntero con seguridad de tipos, que se utilizan para activar eventos generados por componentes
  • Delegar una implementación de interfaz a un campo o propiedad de una clase
  • Controladores de mensajes de Windows fáciles de implementar, marque un método de clase con el número/nombre del cuadro de mensaje a manejar
  • La mayoría de las funciones enumeradas anteriormente se introdujeron primero en Delphi y luego se adaptaron a otros idiomas.

Anders Hejlsberg fue el arquitecto jefe de Delphi y de su predecesor Turbo Pascal, hasta que se unió a Microsoft en 1996, dedicando su negocio a los conceptos básicos de la programación.
El producto Delphi se distribuye en varios paquetes, cada uno de los cuales ofrece más funcionalidad que los demás:

  • Personal
  • Profesional
  • Compañía
  • Arquitecto

Buenas razones para utilizar Delphi:

  • Noticias muy informativas y útiles para la comunidad.
  • Puede compilarse en un único ejecutable, lo que facilita la distribución y reduce los problemas con diferentes archivos DLL.
  • VCL y los componentes de terceros generalmente están disponibles con el código fuente completo
  • Compilador potente y de optimización rápida.
  • Un código fuente produce excelentes códigos de máquina para diferentes sistemas operativos
  • Soporte para las últimas tecnologías y estándares.

Clones y alternativas

Si bien no puede satisfacer todas las necesidades de los programadores, existe un conjunto completo de herramientas adicionales diseñadas para ampliar la gama de tareas resueltas con Delphi, o esto se puede hacer insertando código en otros lenguajes donde están Delphi y Kylix. impotente.
Estos sustitutos de Delphi se pueden utilizar si no puede pagar por un entorno de desarrollo, necesita entornos de desarrollo gratuitos (por ejemplo, para sistemas operativos y software libre, o con fines educativos). En la mayoría de los casos, estas alternativas se utilizan para la formación, así como para escribir componentes de servidor, para sistemas operativos que no se utilizan mucho (esto fue hasta que apareció Kylix para el sistema operativo Linux, que es utilizado por la mayoría como sistema operativo para servidores). . .
Enumeremos algunos:

  • Free Pascal es un reemplazo que viene como un compilador que se ejecuta desde la línea de comandos. Este desarrollo se basa en la compatibilidad con el conjunto básico de funciones de los dialectos Turbo Pascal y Delphi. Las características de las versiones de Delphi superiores a 4 están implementadas y funcionando. Funciona en la mayoría de los sistemas operativos x86, incluidos Win32, Dos, Linux, BSD y Novell Netware. No hay soporte para otros sistemas operativos en m68k y PowerPC, cuyo estado sigue cambiando muy rápidamente. Ha comenzado el trabajo de transferencia a la plataforma SPARC.
  • GNU Pascal (una parte distribuida por separado de la Colección de compiladores GNU), aunque no está dirigido formalmente a los dialectos de Borland Pascal, contiene compatibilidad con Borland Pascal y absorbe gradualmente las características del lenguaje Delphi, aunque no es adecuado para recompilar grandes cantidades de Código Delphi. Es el compilador más prolífico en cuanto a sistemas operativos y procesadores, aunque merece mencionarse sólo como último recurso.
  • Existe una herramienta llamada Pocket Studio que tiene como objetivo compilar código Delphi simplificado para Pocket PC.
  • Virtual Pascal: compilador x86 Turbo Pascal de 32 bits y Delphi, compatible principalmente con OS/2 y Windows, aunque se han desarrollado un extensor de DOS y un compilador cruzado experimental de Linux. El compilador está estancado en la versión 2 de Delphi y el sitio no ha cambiado mucho en dos años, pero alternativamente es otro de los mejores, con un IDE y un depurador excelentes, aunque Free Pascal tampoco se queda atrás.
  • BloodShed distribuye un muy buen editor de gráficos Win32 (aunque no RAD) como interfaz para GNU Pascal y Free Pascal.
  • Los esfuerzos de Lazarus se centran en crear un entorno de desarrollo para Free Pascal. Si bien el puerto GTK se está volviendo útil para escribir pequeñas aplicaciones como herramientas de configuración, el puerto win32 todavía necesita mucho trabajo.
  • InnerFuse es un traductor de Delphi para incrustar en aplicaciones. Se rumorea que funciona con múltiples versiones de Delphi.
  • WDOSX es una API de emulación de Win32 DOS Extender que se puede utilizar para ejecutar aplicaciones de consola escritas en Delphi en DOS normal.

¿Cómo convertirse en un profesional del desarrollo de sitios web y empezar a ganar dinero? Cursos en vídeo económicos con una introducción introductoria.

Comencemos nuestra introducción a la programación en el entorno Delphi con preguntas como la esencia de la programación en sí, sus conceptos básicos y subtipos. También veremos qué es el entorno Delphi, en qué se diferencia de los demás y qué camino ha recorrido desde sus inicios hace 10 años.

¿Qué es la programación?

Entonces, antes que nada, comprendamos por nosotros mismos qué se entiende por el término programación. Ahora muchas personas se llaman a sí mismas programadores, sin siquiera saber qué es: cuando se marca, resulta que una persona que ha cambiado un par de líneas de código en un documento HTML ya está lista para considerarse programador. Pero, de hecho, al trabajar con HTML (es decir, el propio HTML), no puede convertirse en programador, ya que HTML, como su nombre lo indica (lenguaje de marcado de hipertexto), no es un lenguaje de programación.

Como resultado, tenemos la primera condición: para aprender a programar necesitas algún tipo de lenguaje de programación. En nuestro caso, serán las últimas versiones de Object Pascal (14.0 o 15.0).

Además, digamos que alguien que se hace llamar programador no solo editó un par de líneas de código HTML, sino que también vio Delphi e incluso dibujó un formulario con 2-3 botones y un campo de texto. ¿Es este un programador? Lo más probable es que tampoco. El hecho es que debajo de la capa visual, de hecho, se esconde un mecanismo muy complejo que asegura la interacción de los controles (los mismos botones) con el usuario y el sistema operativo, por un lado, y le permite realizar casi cualquier acción computacional. - en el otro. Con todo esto, debería poder hacer lo principal: crear algoritmos para el comportamiento del programa, ya sea su reacción al presionar un botón en particular o crear una función para resolver una ecuación matemática compleja.

Entonces, la programación en su concepto moderno incluye el conocimiento de los principios de funcionamiento del sistema operativo, la interacción de sus componentes y la estructura interna. Bueno, al mismo tiempo se conserva la definición clásica de programación, es decir, la capacidad de componer algoritmos, programas matemáticos y de comportamiento. Todo esto se implementa en el contexto de algún lenguaje de programación, por ejemplo, el mismo Object Pascal de Delphi.

¿Qué es Delfos?

Ahora sabemos que la programación es la recopilación de algoritmos más el uso de un lenguaje de programación. Pero si el lenguaje que estamos aprendiendo es Object Pascal, entonces ¿qué es Delphi? La respuesta es: Delphi es RAD, o Desarrollo Rápido de Aplicaciones, un entorno de desarrollo rápido de aplicaciones. En otras palabras, Delphi incluye no solo todas las herramientas para trabajar con el lenguaje Object Pascal (especialmente porque, a partir de la versión 2005, Delphi tiene soporte para otros lenguajes de programación, en particular C#), sino también una serie de herramientas adicionales diseñadas para acelerar acelerar el proceso tanto como sea posible y simplificar la creación de programas. Estas herramientas incluyen, en primer lugar, un editor de formularios visual, con el que puede crear un programa completo en cuestión de minutos y sin esfuerzo adicional, así como otros componentes del componente visual del desarrollo del programa.

Como resultado, el tiempo de desarrollo del programa se reduce significativamente, ya que no es necesario calcular manualmente la ubicación de cada elemento de la interfaz de usuario.

Junto con las herramientas desarrolladas para escribir y depurar código (un editor de texto especializado, un compilador de optimización y un depurador), Delphi es una herramienta para el desarrollo rápido de aplicaciones. Al mismo tiempo, la base de Delphi para el usuario final es el IDE (entorno de desarrollo integrado), que combina un editor de código y herramientas de desarrollo visual, y también los conecta con un compilador, herramientas de desarrollo de bases de datos y otros componentes de Delphi.

Delfos y otros

Por supuesto, Delphi no es el único entorno de desarrollo rápido de aplicaciones. Existen otros RAD que son igualmente útiles para el desarrollo de programas visuales, como Visual Basic. Pero se sabe que BASIC no es el lenguaje de programación más potente y conveniente; además, los programas escritos en él se caracterizan por un rendimiento relativamente bajo.

Al mismo tiempo, existen lenguajes de programación que no son menos potentes que Object Pascal y tienen sus propios RAD; en primer lugar, este es el lenguaje C++ junto con herramientas de desarrollo tan conocidas como Visual C++ y C++ Builder. Sin embargo, C++ no se compara favorablemente con Object Pascal en términos de facilidad de aprendizaje. Además, crear y depurar programas en C++ es relativamente lento, aunque los programas ya preparados se ejecutan tan rápido como los creados con Delphi.

NOTA
Tenga en cuenta que en el momento de su aparición en 1995, Delphi era un entorno verdaderamente único que combinaba programación visual con un compilador optimizador y herramientas para trabajar con bases de datos.

Como resultado, obtenemos un producto casi ideal para el desarrollo rápido de programas: por un lado, simplicidad y comodidad comparables a Visual Basic y, por otro, potencia, velocidad y flexibilidad características de C++.

Cabe señalar aquí que el lenguaje Object Pascal utilizado en Delphi tiene poco en común con su progenitor: el lenguaje de programación Pascal, que quizás haya estudiado en la escuela o la universidad. En primer lugar, Delphi utiliza un modelo de programación puramente orientado a objetos, mientras que Pascal era un lenguaje de procedimientos normal. ¿Cuál es la esencia de las diferencias entre programación procedimental y programación orientada a objetos? Esta es la cuestión que discutiremos en los dos párrafos siguientes.

Programación procesal y algoritmos.

Casi todos los lenguajes de programación modernos son de naturaleza procedimental. Esto significa que cada programa consta de un conjunto de procedimientos, cada uno de los cuales resuelve un problema particular, mientras que un procedimiento puede llamar a cualquier otro, incluido él mismo (este último, es decir, un procedimiento que se llama a sí mismo, se llama recursividad). El programa en sí está compilado sobre la base de algoritmos, y solo tres variedades de ellos son suficientes: selección (bifurcación), repetición (ciclo) y transición. Sin embargo, este último tipo prácticamente no se utiliza en la práctica debido a su mala reputación (estamos hablando de GOTO, el otrora querido, desesperado, operador de programadores BASIC).

Consideremos el algoritmo más simple: el juego "Adivina el número". La lógica de su funcionamiento es que debes comprobar si el número es mayor o menor que el oculto, y si es así, mostrarás la pista correspondiente, y si no es ni mayor ni menor (es decir, coincide), entonces el juego termina. . El diagrama de bloques de dicho algoritmo constará de 2 ramas (Fig. 1.1).

Arroz. 1.1. Diagrama de flujo de un algoritmo simple

El primer paso aquí es pedirle al usuario un número A, que se compara dos veces con un número B preespecificado. Primero, verifica si el número A es mayor que B y, de ser así, el programa informa que un Se ha producido un "sobreimpulso" y vuelve a los números del punto de entrada. Si el número no es mayor, se produce una segunda comparación para ver si A es menor que B. Si este es el caso, se muestra un mensaje que indica que el número es menor ("por debajo del límite") y, nuevamente, se devuelve un mensaje. hasta el principio ocurre. Pero si el número A no es menor que el número B, entonces, dado que en este momento ya se sabe que no es mayor, entonces es igual al número B, y el programa termina. Al mismo tiempo, puede mostrar felicitaciones al usuario por adivinar el número.

Este algoritmo puede ser parte de otro algoritmo. Por ejemplo, no existe ninguna disposición para generar el número en sí que debe adivinarse. Tampoco hay opción de repetición. Para corregir esta situación, considere un diagrama de bloques del algoritmo que controla la ejecución del programa en su conjunto (Fig. 1.2).


Arroz. 1.2. Diagrama de flujo de control del programa

Al inicio de la ejecución se genera un nuevo número que el usuario adivinará. Luego viene el bloque de adivinanzas, que ya hemos considerado (ver Fig. 1.1); aquí se presenta como un módulo simple, ya que no afecta la ejecución del programa en su conjunto. Al completar este bloque, tenemos una sola rama, dependiendo de lo que responda el usuario a la oferta de repetir el juego. Entonces, si la respuesta es positiva, entonces el programa tendrá que ir al principio, es decir para generar un nuevo número. Si el usuario se niega, entonces se debe finalizar el programa.

La implementación específica de un algoritmo en particular depende del lenguaje de programación utilizado, así como de las preferencias del creador del programa, ya que, por regla general, la misma construcción se puede resolver utilizando varios métodos diferentes. Por ejemplo, puede utilizar tanto bucles como declaraciones de salto incondicionales para regresar a un punto indicado en un diagrama de bloques. Bueno, los bloques en sí se pueden colocar en procedimientos separados y llamarlos subrutinas. La única característica común es el operador condicional responsable de la bifurcación; en casi todos los idiomas, y Pascal no es una excepción, se llama IF. Sin embargo, todavía tendremos tiempo para familiarizarnos con los operadores de Object Pascal.

Acerca de la programación orientada a objetos

Si seleccionar, repetir y saltar son las piedras angulares de cualquier lenguaje de programación procedimental, entonces programación orientada a objetos conceptos como encapsulación, herencia y polimorfismo son importantes. Veamos con más detalle estos conceptos, sin los cuales ningún lenguaje que admita objetos puede considerarse orientado a objetos.

NOTA
En programación, el término "objeto" se entiende como un determinado tipo de datos complejo al que se le pueden asignar propiedades únicas para este tipo y, en el caso de la programación orientada a objetos, también métodos.

La encapsulación es la combinación de datos y las subrutinas que los procesan (métodos) dentro de un objeto, llamado "clase" en programación orientada a objetos. Esto significa que la clase encapsula todo lo necesario para trabajar con un objeto en particular.

La herencia es otra parte importante de la programación orientada a objetos. Herencia significa la capacidad de crear un tipo (objeto) basándose en la definición de otro objeto. En este caso, el hijo puede heredar todas las propiedades y métodos del objeto principal. Por ejemplo, si tenemos un objeto "coche", a partir de él podemos crear otro objeto, digamos "tranvía", que heredará todas sus propiedades y recibirá, además de ellas, algunas de las suyas. A su vez, este objeto también podrá tener su propia descendencia, etc. El resultado es un árbol de objetos llamado jerarquía de clases.

En Object Pascal, todas las clases descienden de un único ancestro: la clase TObject, que implementa acciones en un objeto común a todas las clases, como la creación y eliminación.

CONSEJO
Las versiones en caja de Delphi incluyen un póster que muestra el árbol de clases de todos los componentes principales de Delphi. Por lo tanto, si usted es el feliz propietario de un producto con licencia, puede estudiar visualmente la estructura de este sistema colocando este cartel en su lugar de trabajo.

Finalmente, el tercer pilar sobre el que se sustenta la programación orientada a objetos es el polimorfismo, o la capacidad de crear propiedades y métodos con el mismo nombre dentro de objetos relacionados, que diferirán en esencia. Digamos que ya tenemos las clases "automóvil" y "tranvía", y para ambas la propiedad "motor" está definida, pero si para un automóvil el tipo de motor es un objeto de un tipo, entonces para un tranvía es completamente diferente. uno.

Otra característica importante de la programación orientada a objetos es la ocultación, que permite hacer invisibles varias propiedades de los objetos. Es decir, si podemos definir un objeto de tipo “coche”, para el cual, a su vez, se definen propiedades como chasis, motor y ruedas. Entonces, si el motor y las ruedas pueden hacerse visibles (y accesibles) en cualquier lugar donde esté disponible la clase de “automóvil”, entonces el chasis no puede hacerlo. En consecuencia, el acceso a dicha propiedad sólo se puede obtener en aquellas partes del programa en las que se realiza la descripción del objeto "máquina". Estas propiedades se denominan protegidas.

En la segunda parte de esta publicación se discutirán más detalles sobre la programación orientada a objetos.

Programación visual y Delphi

Entonces, Delphi es un entorno que trabaja con el lenguaje de programación estructural orientado a objetos Object Pascal. Además de esto, Delphi también es un entorno de desarrollo visual. En otras palabras, ya en el proceso de creación de un programa puedes ver cómo se verá durante la ejecución. La programación visual reduce drásticamente el tiempo necesario para crear una interfaz de usuario para aplicaciones de Windows. Antes de la llegada de las herramientas de desarrollo visual, la programación en Windows presentaba grandes dificultades, ya que era necesario calcular casi a ciegas la ubicación de cada control en la ventana de la aplicación, lo que provocaba muchos errores (Fig. 1.3).


Arroz. 1.3. Enfoques clásicos y visuales para crear una interfaz.

El hecho de que Delphi sea un entorno de desarrollo visual deja su huella en el lenguaje de programación. En particular, proporciona medios especiales para que ciertas propiedades de las clases puedan estar disponibles ya en la etapa de desarrollo del programa, y ​​no sólo en tiempo de ejecución. Pero la parte más importante de todo este esplendor es la biblioteca de clases: VCL (Visual Component Library). Es el VCL el que oculta todas las asperezas internas de Windows y le permite crear aplicaciones fácilmente sin involucrarse en una guerra prolongada con el procesamiento de mensajes del sistema, devoluciones de llamadas, identificadores y punteros.

Con todo esto, por supuesto, nadie le prohíbe utilizar las funciones de Windows directamente, sin pasar por VCL, si es necesario. Sin embargo, esto puede ser necesario en muy raras ocasiones, por lo que un programador novato en Delphi no necesita nada más que VCL para escribir aplicaciones de Windows.

Examinaremos los componentes visuales en detalle en la Parte 3 de este libro.

Versiones de Delphi y sus diferencias.

Al final de la parte introductoria, veremos las diferencias entre las versiones de Delphi, estudiando simultáneamente la historia del desarrollo de este maravilloso entorno de desarrollo.

Delfos 1. Lanzado poco antes de la llegada de Windows 95, Delphi 1.0 fue la primera herramienta de desarrollo de aplicaciones de Windows (3.1) que combinaba un compilador de optimización, un entorno de desarrollo visual y potentes herramientas de bases de datos. Esta fue una verdadera reencarnación del lenguaje Pascal: se convirtió en Object Pascal.

Delfos 2. La segunda versión de Delphi, lanzada un año después, ofrecía todo lo mismo, pero para versiones de 32 bits de Windows (95/NT), convirtiéndose nuevamente en la primera herramienta que combina un compilador de 32 bits, herramientas para trabajar con bases de datos y un visual. entorno de desarrollo, compatible con OLE (y después del lanzamiento del Delphi 2.01 actualizado y ActiveX). El lenguaje también ha cambiado, pasándose a orientarse a los 32 bits.

Delfos 3. Una mayor mejora de Delphi en todas las direcciones llevó al lanzamiento de la versión 3, que tenía un conjunto ampliado de herramientas para crear aplicaciones gracias al soporte para COM y ActiveX. En esta versión, por primera vez, se hizo hincapié en la capacidad de crear aplicaciones para Internet y apareció un tipo de datos sin escribir, una variante.

Delfos 4. Otro hito clave en el desarrollo. En esta versión, se introdujeron muchas cosas nuevas y útiles para simplificar el desarrollo de aplicaciones, incluido un nuevo entorno con sugerencias dinámicas, etc. Se mejoró el modelo para trabajar con componentes (VCL) y fue posible utilizar rápidamente tecnologías como MIDAS, DCOM y CORBA. En esta versión, también se mejoró el lenguaje Object Pascal: aparecieron nuevas características características de la programación orientada a objetos moderna y se introdujeron nuevos tipos de datos, incluidos los de 64 bits.

Delfos 5. Hubo tantos cambios en Delphi 4 que, desafortunadamente, hubo algunos errores y errores molestos. El resultado fue el lanzamiento de 3 paquetes de actualización (nuestros piratas los vendieron bajo la apariencia de Delphi 4.1, 4.2 y 4.3). Pero Delphi 5 debe considerarse el paquete de actualización más completo y correcto: en esta versión, todo lo que se inició en Delphi 4 se hizo realidad.

Delfos 6. Con el lanzamiento de la sexta versión, Borland anunció una nueva era multiplataforma en Delphi, lanzando simultáneamente una versión de Delphi para Linux (Kylix 1.0). Ahora, al crear una aplicación, puede elegir su tipo: para Windows o universal. En consecuencia, la biblioteca VCL se complementó con la biblioteca CLX, compatible tanto con Windows como con Linux. Además, en la sexta versión, ActiveX "nativo", y no extranjero, finalmente aparecieron componentes para trabajar con Internet, y en ambas versiones a la vez, tanto para VCL como para CLX. A partir de esta versión, el lenguaje de programación Object Pascal se llama oficialmente Delphi.

Delfos 7. Mayor desarrollo de Delphi 6, una biblioteca CLX mejorada y una nueva versión correspondiente del entorno de desarrollo para el sistema operativo Linux: Kylix 3. Al mismo tiempo, a partir de Delphi 7, Borland se preocupó por la cuestión de la compatibilidad con otra plataforma: Microsoft. NET, para el cual se realizaron algunos cambios tanto en VCL como en el lenguaje (y, en consecuencia, en el compilador).

Delfos 8. La primera versión de Delphi, enfocada a trabajar con la plataforma Microsoft.NET. En esta versión, los desarrolladores se arriesgaron a cambiar la interfaz del entorno, haciéndolo similar a los productos de Microsoft, el nuevo gran accionista de Borland. En consecuencia, se suspendió el soporte para Kylix.

Delfos 2005. Menos de un año después del lanzamiento de Delphi 8, apareció una nueva versión que rápidamente devolvió la capacidad de trabajar en el estilo IDE clásico al desarrollar aplicaciones para Windows. Al mismo tiempo, Delphi 2005, en el caso de desarrollar aplicaciones específicamente para la plataforma NET, permite trabajar no sólo con el lenguaje Delphi, sino también con C#. Al mismo tiempo, se introdujeron en el propio lenguaje Delphi innovaciones como el operador for...in y los procedimientos y funciones integrados.

Delfos 2006. La última versión de Delphi lanzada por Borland. También se lanzó una versión ligera: Turbo Delfos. Entonces comenzó el viaje hacia otros desarrolladores.

Delfos 2007. Versión publicada por CodeGear. Se agregó soporte para la interfaz Aero para Windows Vista.

Delfos 2009. Versión publicada por Embarcodero. Se implementó la compatibilidad con Unicode en VCL y RTL, las llamadas a todas las funciones API de Windows se reemplazaron con análogos de Unicode, se agregaron tipos genéricos y métodos anónimos.

Delfos 2010. La compatibilidad con Windows 7, los componentes táctiles y de gestos, y los componentes dbExpress ahora son oficialmente compatibles con Firebird.

Delphi XE (Delphi 2011). Se agregó soporte para computación en la nube.

¿Te gustó el artículo? Compártelo
Arriba