Métodos de programación Delphi
El lenguaje de programación de Delphi está basado en Pascal. El lenguaje Pascal tiene las características de buena legibilidad y fácil escritura, lo que lo hace muy adecuado como lenguaje de desarrollo básico. Al mismo tiempo, las aplicaciones creadas con el compilador solo generan un único archivo ejecutable (.EXE). Es esta combinación la que convierte a Pascal en un lenguaje de programación para entornos de desarrollo avanzados como Delphi.
En este capítulo, analizaremos las características principales de ObjectPascal y explicaremos cómo usarlo para compilar código de programa en procesamiento de eventos y otras aplicaciones. Este capítulo explicará la sintaxis de ObjectPascal más comúnmente utilizada en aplicaciones Delphi, en lugar de todos los detalles del lenguaje Pascal. Si es completamente nuevo en la programación de Pascal, consulte algunos tutoriales básicos de Pascal. Si tiene experiencia en programación y se siente cómodo usando otros lenguajes de programación populares, encontrará algunos de los mismos conceptos en ObjectPascal en este capítulo. Si ya está familiarizado con Borland Pascal, puede navegar rápidamente u omitir este capítulo.
Escribir código de programa ObjectPascal
En los capítulos anteriores, a través de rutinas, se han escrito unas simples líneas de código. En este capítulo, explicaremos el método básico de programación ObjectPascal desde la perspectiva de estar familiarizados con la programación Pascal y usar ejemplos.
Al escribir su propio programa ObjectPascal, preste atención a la legibilidad del programa. El lenguaje Pascal es un lenguaje estructurado británico. Elegir estilos de sangría y mayúsculas apropiados en el programa y dividir el código del programa en líneas cuando sea necesario hará que usted y otros puedan leer fácilmente el código del programa. La mayoría de los programadores tienen esta experiencia: si no agregan anotaciones apropiadas al programa, les resultará difícil aclarar el flujo del programa después de un período de tiempo. Es un buen hábito de programación agregar comentarios al programa de manera oportuna. Los comentarios en Delphi deben colocarse entre {} y el editor los procesará en espacios en blanco. Delphi conserva el estilo del editor Borland Pascal. Las palabras clave están en negrita y las partes comentadas estarán oscurecidas. Esto hace que el estilo de programación sea bueno y fácil de leer y escribir. Durante el manejo de eventos, la tarea más utilizada es asignar un nuevo valor a una propiedad o variable. Al diseñar una interfaz de usuario, puede utilizar ObjectInspector (ObjectInspector) para cambiar sus propiedades, pero a veces es necesario cambiar el valor de las propiedades cuando se ejecuta el programa, y algunas propiedades solo se pueden cambiar durante la ejecución. la "Propiedad" de la ayuda en línea de Delphi. El tema está marcado como atributo del período de ejecución. Para realizar este cambio, debe utilizar una declaración de asignación.
La siguiente declaración de asignación representa un evento OnClick. Cuando se presiona el botón, establezca la propiedad Color del componente del cuadro de edición Edit1 en clRed:
procedureTForm1.Button1Click(Sender: TObject);
begin
Edit1 .Color:=clRed;
end;
Cuando se presiona el botón, se ejecuta la instrucción de asignación y el cuadro de edición se vuelve rojo.
En la declaración, el nombre del componente está delante del atributo y "." se utiliza en el medio para indicar la propiedad del atributo. Esto especifica exactamente qué atributo de qué parte se asignará el valor clRed. El número de asignación es ":=". Ya sea que se asigne un valor a un atributo o una variable, el valor de la derecha se asigna al atributo o variable de la izquierda.
Al asignar un valor de atributo, variable, constante o datos de texto a un atributo o variable, el tipo de valor asignado y el tipo de atributo o variable que acepta el valor deben ser iguales o compatibles. El tipo de una propiedad o variable define el conjunto de valores posibles para la propiedad o variable y también define las operaciones que puede realizar el código del programa. En la rutina anterior, la propiedad Color del componente del cuadro de edición y el tipo de clRed son ambos TColor.
Puede encontrar el tipo de propiedad en la ayuda en línea; otro método es seleccionar el segmento de valor de propiedad en el ObjectInspector y presionar la tecla F1. El tipo aparecerá al final de la descripción de la propiedad, por ejemplo, la propiedad Color. se enumera a continuación Declaración:
PropertyColor: TColor;
Algunas propiedades son de solo lectura (ReadOnly), solo se pueden leer y no se pueden cambiar. Consulte la ayuda en línea, estas propiedades de solo lectura están anotadas en Delphi.
Explicación y uso de identificadores
Los identificadores son los nombres de algunas cantidades en aplicaciones Delphi. Estas cantidades incluyen variables (var), constantes (const), tipos (type), Procedimiento,. método y otros, ObjectPascal primero debe describirlos cuando usa identificadores. ObjectPascal es un lenguaje fuertemente tipado y su compilador puede verificar para garantizar que el valor asignado a una variable o propiedad sea del tipo correcto para que pueda corregir errores. Debido a que ObjectPascal es un lenguaje compilado, la velocidad de ejecución de Delphi es mucho más rápida que usar un lenguaje interpretado. Especificar identificadores antes de usarlos reduce los errores del programa y aumenta la eficiencia de su código.
Variable
Una variable es un identificador que representa una dirección de memoria en el código del programa, y el contenido de la memoria de esta dirección se puede cambiar cuando se ejecuta el código del programa. Antes de utilizar una variable, debes describirla, es decir, nombrarla e indicar su tipo. Agregue la palabra reservada var antes de todas las descripciones de variables. El lado izquierdo de la descripción de la variable es el nombre de la variable y el lado derecho es el tipo de variable, separados por (:) en el medio.
var
Valor, Suma: Entero;
Línea: Cadena
Agregue un editor llamado Edit1 al cuadro de formulario, agregue un componente de botón con el nombre (nombre de propiedad) de Agregar y establecer el siguiente proceso de procesamiento de eventos:
procedureTForm1.addClick(Sender: TObject);
var
var
p>X, Y: Entero;
comienzo
X:=100;
Y:=20;
Edit1.Text:=IntToStr(X Y);
end;
En este ejemplo, cuando se presiona el botón AGREGAR, se muestra el valor 120 en el cuadro de edición. En ObjectPascal, debes asegurarte de que a las variables o propiedades se les asignen valores del mismo tipo o que sean compatibles. Puedes intentar cambiar el valor asignado a La declaración de caso es aplicable cuando la variable o atributo que se juzga es un número entero, tipo de carácter, tipo de enumeración o tipo de subrango (excepto LongInt). Usar sentencias case para realizar saltos lógicos es más fácil de leer que escribir sentencias if complejas, y es más rápido remodelar el código del programa.
La siguiente rutina muestra un formulario usando declaraciones de caso:
Cree el siguiente procedimiento de procesamiento de eventos:
procedureTForm1.Button1Click(Sender: TObject
var
Número: entero;
comienzo
Número: =StrToInt(Edit1.Text);
caseNumberof
1, 3, 5, 7, 9: Label2.Caption: ='número impar';
0, 2, 4, 6, 8: Label2.Caption: = 'Par número';
10..100:
comenzar
Label2.Caption:='Entre 10 y 100';
Form1 .Color:=clBlue;
end;
else
Label2.Caption:='Mayor que 100 o un número negativo';
end;
end;
Ejecutar el programa Cuando el componente Edit1 recibe un valor y presiona el botón "OK" para activar el programa, se asigna un número a la entrada del usuario. . valor. La declaración de caso determina qué declaración ejecutar en función del valor de Número. Como si la declaración. Las declaraciones de caso también tienen una parte opcional else. La declaración del caso termina con fin. Hay tres tipos de declaraciones de bucle en ObjectPascal: declaraciones de repetición, while y for.
declaración repetida
La declaración repetida ejecutará repetidamente una línea o una declaración hasta que un determinado estado sea verdadero. La declaración comienza con repetir y termina con hasta, seguida de la expresión booleana que se va a evaluar. Vea la siguiente rutina:
i:=0
repetir
i:=i 1
Writeln(i) ;
hasta=10;
Cuando se ejecuta esta declaración, los números del 1 al 10 aparecerán en la parte inferior del formulario. La expresión booleana i=10 (tenga en cuenta que a diferencia de otros lenguajes, "=" es un operador relacional y no se puede asignar) no se evaluará hasta el final de la sección repetir...hasta, lo que significa que la declaración de repetición al menos será ejecutarse una vez. La diferencia entre la declaración while y la declaración de repetición es que su expresión booleana se evalúa al comienzo del ciclo. La palabra while reservada debe ir seguida de una expresión booleana. Si el resultado de esta expresión es verdadero, se ejecuta el bucle; de lo contrario, se sale del bucle y se ejecuta el programa que sigue a la instrucción while.
La siguiente rutina logra el mismo efecto que la rutina de repetición anterior:
i:=0;
whilei0then
test2(A ); {Después de la descripción previa, llame al procedimiento no ejecutado Test2}
writeln(A);
end;
procedureTest2(varA: Integer); Parte de ejecución de Test2 predescrita}
begin
A:=Adiv2;
ifAgt; 0rhen
test1(A);{Call el procedimiento ejecutado Test1 en Test2}
end;
procedureTForm1.Button1Click(Sender: TObject);
begin
Alpha:= 15;{Asignar valor inicial a Alpha}
Test1(Alpha);{Primera llamada a Test1, comienza la recursividad}
fin
El manejo del evento OnClick; El proceso del botón asigna un valor inicial a Alpha e implementa una llamada recursiva en bucle que primero resta 1 y luego divide por 2 hasta que Alpha sea menor que 0.