Hay comentarios en un programa Delphi. Ejemplo de declaración de variables globales. Plantilla generada por shell de Delphi
Página 5 de 9
Comentarios
El lenguaje Object Pascal admite dos tipos de comentarios: de bloque y de una sola línea. Consideraciones generales el uso de comentarios puede ser el siguiente:
- Coloque un comentario cerca del comienzo del módulo para explicar su propósito;
- Coloque un comentario antes de la declaración de clase;
- Coloque un comentario antes de la declaración del método;
- Evite comentarios obvios: (i:= i + 1 // suma uno a i);
- Recuerde que un comentario engañoso es peor que ningún comentario;
- Evite poner información en un comentario que pueda no ser correcta con el tiempo;
- Evite decorar comentarios con asteriscos u otros símbolos;
- Para comentarios temporales (no publicados), utilice "TODO".
Bloquear comentarios
Object Pascal admite dos tipos de comentarios de bloque. El comentario de bloque más utilizado es un par de llaves: { } . El equipo de Delphi prefiere mantener este comentario lo más simple posible y como alternativa. Utilice espacios para dar formato al texto de estos comentarios y no utilice asteriscos "*". Al ajustar líneas, debe mantener la sangría y la alineación.
Ejemplo de DsgnIntf.pas:
|
Un comentario de bloque siempre contiene información sobre el módulo: derechos de autor, fecha de modificación, etc. Un comentario de bloque que describe un método debe ir antes de la declaración del método.
BienEl segundo tipo de comentario de bloque contiene dos caracteres: un paréntesis y un asterisco: (* *) . Este tipo de comentario se utiliza durante el desarrollo. código fuente. Su ventaja es que soporta comentarios anidados, aunque los comentarios deben ser diferentes tipos. Puede utilizar esta propiedad para comentar grandes fragmentos de código que contengan otros comentarios:
|
Comentarios de una sola línea
Un comentario de una sola línea consta de caracteres // seguidos del texto del comentario. Los caracteres // deben ir seguidos de un espacio y luego de texto. Los comentarios de una sola línea deben tener la misma sangría que el código en el que aparecen. Los comentarios de una sola línea se pueden agrupar para formar gran comentario.
Un comentario de una línea puede comenzar con nueva linea y puede continuar el código que comenta. En este caso debe haber al menos un espacio entre el código y el comentario. Si al código le sigue más de un comentario, deben estar alineados en la misma columna.
Ejemplo de un comentario de una línea:
|
|
Debes evitar el uso de comentarios en el código de cada línea del módulo.
Desarrollador de cualquier gran proyecto en Delfos Tarde o temprano, se enfrenta a la necesidad de documentar el código, desde comentarios banales sobre clases/métodos hasta un archivo de ayuda completo (html, chm, hlp o incluso Microsoft Help 2.0). Para aquellos que escriben en Java o C#, esto ya no es un problema: tienen JavaDoc Y Castillo de arena. En Delphi la situación era difícil hasta el lanzamiento. 2005 -ésima versión, que finalmente agregó soporte integrado para documentación XML.
Aunque incluso ahora, si miras los códigos fuente de diferentes proyectos, no verás nada. El estilo javadoc es el más utilizado (aparentemente de forma gratuita). DelphiDoc).
Así es como se ven los comentarios en su formato:
(** Abra todas las tablas marcadas para abrir @param FastOpen Utilice la rutina de apertura rápida @return Devuelve True si está bien @see TMainForm ) function TMainForm.OpenTables(FastOpen: Boolean): Boolean; comenzar... ... terminar; Las ayudas generadas a partir de dichos comentarios parecen más o menos decentes. Pero a diferencia del mismo Eclipse o netbeans esto es salvajismo. Componer tales construcciones sin la ayuda de un IDE es bastante tedioso. No importa cuánto lo intentes, el texto "Abrir todas las tablas marcadas para abrir" no aparecerá en la información sobre herramientas y el programador tendrá que mirar el código fuente o acudir a la ayuda cada vez.
Información de ayuda
Desde la versión 2005 , introducido en Delphi nuevo tipo sugerencias en el editor de código - Help Insight. Ahora ya no son esas patéticas descripciones emergentes que había en versiones anteriores.
Ayuda Insight en acción
Es una pena, por supuesto, que CódigoGear(y después de él embarcadero) no se molestó en hacerlo comentarios detallados para Help Insight a todos los módulos estándar. Probablemente, simplemente les dé pereza entrar en todos los códigos fuente, muchos de los cuales permanecen casi sin cambios con respecto a las versiones más antiguas de Delphi. Pero ese no es el punto. Lo principal es que esta función realmente funciona y, como funciona, la usaremos.
comentarios XML
Este formato probablemente sea familiar para todos los que de una forma u otra se han encontrado con el desarrollo en .NET. Este es exactamente el formato que admite el Help Insight antes mencionado, y así es como se ve:
///
Es fácil adivinar que la etiqueta resumen- Este descripción del método, parámetro— descripción de los parámetros, regresa— descripción del valor de retorno, y ver— enlace a otra descripción. Puede encontrar una lista de todas las etiquetas en MSDN (no pude encontrar ninguna información sobre esto en las páginas de ayuda de Delphi 2007 y 2009). Además, además de las etiquetas estándar, puede utilizar parte del HTML, por ejemplo Pero a diferencia del mismo resaltar comentarios importantes. Para escribir dichos comentarios, es conveniente utilizar una plantilla: escriba "resumen" en el texto del programa y presione la tecla Tab. En Delphi 2009, ni siquiera es necesario que usted mismo escriba las tres barras al principio; presionando Enter se agregan automáticamente como en estudio visual (esto también funciona en Delphi 2007 SP3). Vale la pena mencionar que comentarios XML Se puede escribir en declaraciones de clases, procedimientos, funciones, tipos e incluso variables.
Para ver los comentarios escritos en acción, debe ir a la ventana de configuración del proyecto (Proyecto - Opciones) y en la pestaña Compilación, marcar la casilla (o configurarla en Verdadero en Delphi 2009) Generar documentación XML. Después de cada compilación de proyecto, Delphi generará varios archivos XML(uno por proyecto y uno por módulo) que contendrá todos los comentarios XML. Estos archivos se pueden utilizar para crear sistema de ayuda. Pero lo principal es que ahora esta conveniente miniayuda se mostrará en la información sobre herramientas:
Desafortunadamente, las etiquetas HTML en Help Insight no funcionan, pero todos los enlaces funcionan perfectamente.
Generando documentación usando Delphi
En Delphi 2005-2009 hay 2 formas de crear documentación. Probaremos ambos en la práctica. El primero, y el más sencillo, se implementa utilizando el IDE integrado. Juntos. Guarde el proyecto y haga clic en el elemento del menú Ver - Vista de modelo . Delphi puede preguntar si desea agregar soporte de modelado al proyecto; seleccione sí. Se abrirá una ventana de Movel View en la que deberá seleccionar el proyecto y menú contextual prensa Generar documentación . Aparecerá una pequeña ventana con configuraciones (sorprendentemente hay pocas), en la que le recomiendo inmediatamente que desmarque la casilla Incluir diagramas Y Incluir árbol de navegación
. Delphi hará un pequeño esfuerzo y después de un par de segundos generará varias páginas HTML. Inesperadamente, el resultado fue una ayuda clásica que copia completamente javadoc. Al principio hubo alegría, pero luego decepción. Tras un examen más detenido, resulta que contiene muchos enlaces oscuros innecesarios como por defecto o globales
, los nombres de los parámetros desaparecen en alguna parte. Y en general, la ayuda resultante resulta prácticamente ilegible: (Parece que los desarrolladores simplemente no terminaron esta función, sino que la iniciaron y la dejaron como está. El segundo método, como muchas cosas en Delphi, no es del todo obvio: utilizamos la utilidad suministrada con el IDE. XMLDoc . Se puede encontrar en la carpeta.<версия Delphi>Mis documentos\RAD Studio\\Demostraciones\XMLDoc . Además, necesitarás instalar Java SDK (1.4.2 o superior), Python (mínimo 2.3) y (versión 6.5.5 para Java). Después de la instalación necesitará agregar a la variable del sistema “ Camino ” rutas donde están instalados Python y Saxon, por ejemplo “ C:\Python23\;C\Saxon655\” (esto se hace a través de “Mi PC”, y en él - “ Variables de entorno ", las rutas deben agregarse separadas por punto y coma). En la carpeta donde extrajiste Saxon, crea archivo BAT con nombre saxon.bat
@con el siguiente contenido: "<путь к папке с Saxon>tarro java
\saxon.jar" %1 %2 %3 No es necesario ejecutarlo. Cree un archivo BAT en la carpeta con XMLDoc inicio.bat para no perder el tiempo con línea de comando
, y escribe lo siguiente en él:<путь к папке с проектом>Cls xmldoc.py "
Una ruta de ejemplo es “C:\Projects\TestProject”. Importante: Todas las rutas utilizadas no deben contener cirílico; de lo contrario, XMLDoc tendrá problemas con él. Entonces, ahora todo está listo y puede ejecutar el archivo start.bat. Si todo va bien, aparecerá una carpeta en la carpeta del proyecto. doc , y en él - final en el que serán almacenados archivos HTML
documentación generada. Esto es lo que obtuve (usando el método OpenTables como ejemplo): Por evaluación subjetiva esta opción
, lo mismo que la ayuda en Delphi o Visual Studio). Para hacer esto, necesitará el kit de integración de ayuda de Visual Studio y luego el kit de ayuda CodeGear. Como ya no tenía nervios y el resultado ya estaba en principio claro, no fui más lejos. Quizás seas más fuerte :)
Generando documentación usando Doc-O-Matic Express Doc-O-Matic - suficiente poderosa utilidad para crear documentación para basado en XML y comentarios de JavaDoc en formatos HTML
, CHM y Ayuda 2.0. Pero, lamentablemente, su versión completa es de pago. Pero no todo es tan malo: hay una versión Express (probablemente tomaron el nombre de Microsoft) y tiene casi todo lo que necesitas. Probémoslo. Con Doc-O-Matic no tendrás que bailar tanto con pandereta como con XMLDoc, pero tampoco te las arreglarás con un par de clics. Ejecute la utilidad en la sección. Archivos de proyecto haga clic en el botón Agregar , en el filtro de diálogo seleccione Proyecto Delphi 2007 y abierto archivo requerido proyecto. en la pestaña HTML presta atención a la sección Archivos y carpetas
— en él puede especificar la carpeta donde se colocará el archivo de documentación. Guarde la configuración en algún lugar conveniente, por ejemplo en el archivo C:\mydoc.dox-express. Ahora cierre la utilidad y vaya a la carpeta donde está instalado Doc-O-Matic. Cree un archivo BAT con la siguiente línea:<путь к файлу *.dox-express>"
Domexpress.exe -config "HTML"
Después de ejecutar este comando, los archivos de documentación se colocan en la carpeta especificada anteriormente y el navegador se inicia automáticamente. Por ejemplo, así es como se verá la descripción del método: Nuevamente, subjetivamente, esa ayuda produce la impresión más favorable. Sin puntos extra
En lugar de un epílogo. La compatibilidad con comentarios XML en el nivel del editor de código en Delphi es una característica excelente y conveniente, y debería usarla. Pero con la generación de documentación la situación es más complicada: medios estándar demasiado crudo (y, para ser honesto, torcido =) para ser usado fácilmente. Pero existe una alternativa: Doc-O-Matic Express, que hace este trabajo bastante bien. Esperemos que pronto (tal vez con el lanzamiento de nuevas versiones de Delphi) aparezcan utilidades nuevas y más flexibles.
Idioma Programación Delphi Bastante simple de aprender, pero muy efectivo y poderoso. Lo primero que debe conocer son los comentarios.Los comentarios son cualquier texto que no tiene ningún efecto en el código del programa. Nunca compila ni pega en archivo ejecutable, pero se utiliza sólo para explicaciones de código.
Los comentarios se pueden formatear de dos maneras:
- todo lo que viene después de la doble barra //
, se percibe como un comentario
(sólo puedes formatear una línea de comentario de esta manera); - Todo lo que esté entre llaves (y) también es un comentario.
(en este caso, puedes incluir tantas líneas como quieras en el comentario).
Ejemplo de comentario
// Este es un comentario.Esto ya no es un comentario.
(Este es un comentario nuevamente
Y esto también)
Este artículo utilizará constantemente comentarios para explicar el código de los programas descritos. Por eso teníamos que conocerlos antes de empezar a analizar el código.
Ahora estás listo para aprender el lenguaje de programación Delphi. Crear nuevo proyecto. Después de eso, ve al editor de código. El esquema del futuro programa ya está escrito aquí.
Echemos un vistazo más de cerca a lo que está escrito aquí. A continuación se muestran comentarios detallados para cada línea de la plantilla creada. Sin embargo, aquí falta algo para facilitar el estudio del código del programa.
Plantilla generada por shell de Delphi
unidad Unidad; //Nombre del módulointerfaz
usos //Después de esto las palabras estan llegando listado de módulos conectados.
Windows, Mensajes, SysUtils, Variantes, Clases, Gráficos, Controles, Formularios,
Diálogos;
tipo //Después de esto viene la declaración de tipos
TForml = clase(Formulario T) //Comienza la descripción de un nuevo objeto TForm. Los componentes y eventos del formulario se describen aquí.
privado //Después de esta palabra puedes describir los datos privados del objeto.
(Declaraciones privadas)
disponible sólo para el objeto TForml
público //Después de esta palabra puedes describir los datos abiertos del objeto.
(Declaraciones públicas)
//Pista generada por Delphi. Aquí puede describir variables y métodos,
accesible desde cualquier otro módulo
fin; //Fin de la declaración de tipo
var //Declarando variables globales
Formulario: TForml; //Esto describe la variable Forml del tipo de objeto TForml
implementación
($R *.dfm) //Archivo Connect.dfm (archivo con datos sobre objetos visuales)
fin. // termina con un punto - fin del módulo
Si algo no está claro, entonces en el proceso de creación programas reales todo encajará. No intentes recordar todo a la vez porque es imposible. Demasiado nueva información, no respaldado por la práctica. Trate de comprender sólo el significado del programa escrito.
Casi todas las líneas terminan en " ; " (punto y coma). Este signo indica el final de una declaración. Solo se usa después de declaraciones y nunca después de palabras clave como
usos, tipo, inicio, implementación, privado, público
Etc. Posteriormente, te familiarizarás con todas las palabras clave, la mayoría de las cuales destacan en negrita. La excepción es inmediatamente visible: la última en el módulo. fin, seguido de un punto en lugar de un punto y coma.
Entonces, veamos la estructura del código. Al principio está el nombre del módulo. Puede ser cualquier cosa, pero es igual que el nombre del archivo (sin tener en cuenta su extensión). No es recomendable cambiar el nombre del módulo manualmente. Si aún necesita cambiarlo, primero guarde el módulo con el nombre anterior. Para hacer esto, seleccione el comando de menú: Archivo | Guardar como(Archivo | Guardar como).
Es recomendable dar módulos. nombres claros. En este caso, puede determinar por el nombre qué hay dentro del módulo del mismo nombre. Es difícil adivinar qué hay en el archivo llamado Unitl.pas. También es recomendable dar nombres a los archivos que se relacionen con su contenido. Por ejemplo, formulario principal Es mejor guardar los programas en un archivo llamado MainUnit.pas o MainModule.pas. En este caso, el módulo y el archivo se denominarán MainUnit o MainModule, y podrá determinar inmediatamente que este es el formulario principal.
Luego viene la conexión de módulos globales. Todos los procedimientos, funciones y constantes se describen en algún módulo y antes de utilizar estos procedimientos es necesario conectarlos. Es posible que sepa que existe una función. Pero para que el compilador sepa esto, debe especificar el módulo donde se describe esta función en un lenguaje comprensible para el compilador. Por ejemplo, necesitas convertir un número en una cadena. Delphi ya tiene la función IntTostr para esto. Se describe en el módulo Sysutils. Si desea utilizar esta función, debe conectar este módulo a su módulo de Formularios (escriba el nombre Sysutils en la sección de usos).
Hay cuatro tipos de particiones:
- Privado- Las propiedades y métodos de esta sección están disponibles sólo para este objeto. Otros objetos no pueden llamar a estos métodos ni leer/escribir propiedades;
- Protegido- estas propiedades y métodos están disponibles sólo para este objeto y sus descendientes (objetos que descienden del nuestro y heredan sus propiedades). Los objetos de terceros no pueden acceder a las propiedades y métodos almacenados aquí;
- Público- todo lo aquí descrito está disponible para todos;
- Publicado- cuando orinarán componentes propios aplicación, en esta sección describiremos las propiedades y eventos que deben mostrarse en el inspector de objetos. Estas propiedades están disponibles para todos.
Después de la declaración del objeto y sus componentes, hay una descripción de las variables globales. Comienza después de la palabra clave. var y siempre viene después de la declaración de tipos. Debes recordar esto ahora, porque primero viene la sección. tipo, donde se describen los tipos, y luego var, donde se describen las variables.
Las variables globales son variables que se almacenan en la pila, se crean cuando se inicia el programa y se destruyen cuando el programa sale. Esto significa que están disponibles en cualquier momento y en cualquier lugar mientras se ejecuta el programa.
ejemplo de declaración de variable global
var//Declarando variables globalesFormulario: TForml; //Esto describe la variable Forml del tipo de objeto TForml
Este ejemplo declara una variable, Forml, de tipo TForml. Cuando se crea el objeto TForml, su puntero se escribirá en la variable Form1. Esta variable es global y existe mientras el programa se está ejecutando, lo que significa que siempre se puede acceder a ella.
Palabra clave implementación Tampoco lo tocaremos por ahora, pero lo dejaremos para el futuro, cuando nuestro conocimiento de Delphi se amplíe un poco. Lo último que queda por cubrir en este capítulo es la clave ($R * dfm).
Las llaves pueden contener no solo comentarios, sino también modificadores del compilador. Se diferencian en que se parecen ($Parámetro de letra]. Letra: indica el tipo de clave. En nuestro caso, se utiliza la letra. R. Esta clave indica que necesita incluir el archivo de recursos en en este caso .dfm archivo (archivo con datos sobre objetos visuales) con el mismo nombre que el nombre del módulo. Si el nombre del módulo Unidad principal, entonces necesitas cambiar esta clave a ($R Unidad principal.dfm). Llave R- esta es la única clave que será necesaria por ahora.
Cualquier código de programa en Delphi está entre el principio y el final. Palabra clave comenzar significa el comienzo del código, un fin- fin. Por ejemplo, cuando escribe un procedimiento, primero debe escribir su nombre (hablaremos sobre cómo hacerlo más adelante) y luego encerrar su código entre los corchetes del operador de inicio y fin.
Basado en materiales del sitio.
Página 7 de 12
Clases
Estructura del cuerpo de clase
El cuerpo de la clase, cuando se declara, se sujeta a la siguiente estructura:
- Declaración de campos;
- Declaración de métodos;
- Declaración de propiedades.
Niveles de acceso
Excluyendo el código insertado por el IDE, las directivas de visibilidad deben declararse en el siguiente orden:- Miembros de clase privados (ocultos) ( privado);
- Miembros de la clase protegida ( protegido);
- Miembros de la clase pública ( público);
- Miembros de la clase publicada ( publicado)
Por lo tanto, en Object Pascal hay cuatro niveles de acceso para los miembros de la clase: publicado, público, protegido y privado, en orden de visibilidad decreciente. De forma predeterminada, el nivel de acceso está publicado. En general, a los miembros del grupo se les debe dar el nivel más bajo de acceso que sea apropiado para ese miembro. Por ejemplo, un miembro al que pueden acceder clases desde el mismo módulo debe tener el nivel de acceso privado. Además, al declarar a los miembros de la clase con nivel más bajo acceso, usted permite que el compilador use características adicionales para optimización. Por otro lado, si planeas generar en el futuro clases infantiles de tu clase, entonces necesitas usar el nivel acceso protegido.
Nunca especifique el nivel de acceso público a los datos. Los datos siempre deben declararse en una sección privada y accederse a ellos mediante métodos o propiedades.
Declaración del constructor
Todos los métodos de clase deben estar ordenados alfabéticamente. Sin embargo, puede colocar declaraciones de constructor y destructor antes que todos los demás métodos. Si una clase tiene más de un constructor y tienen el mismo nombre, entonces deben organizarse en orden creciente de parámetros.Métodos de declaración
Si es posible, la declaración del método debe estar en una línea:Por ejemplo:
procedimiento ImageUpdate(Image img, infoflags: Integer,
x: entero, y: entero, w: entero, h: entero)