typestar

Fundamentos del lenguaje

27 pasos en 9 series de Delphi.

Delphi es Object Pascal ya maduro: el lenguaje de Turbo Pascal con clases, propiedades y un modelo de componentes acoplado con tanta limpieza que sostuvo la revolución RAD de los años noventa y todavía hoy entrega sistemas de punto de venta, instrumentos de laboratorio y software de gestión para Windows. Es verboso donde C es escueto — begin y end, := para asignar, el punto y coma como separador — y por eso mismo es célebre por seguir siendo legible una década después.

Este tour cubre el núcleo del lenguaje tal como lo compila Free Pascal en modo Delphi: la forma del programa y las variables, el kit de cadenas, las cuatro formas de bucle, procedimientos frente a funciones con parámetros const y var, arreglos y registros, la maquinaria de tipos enumerados y conjuntos que Pascal hace mejor que nadie, clases con constructores y la disciplina de vida con try-finally, y las excepciones. El bis entrega programas completos. Cada fragmento compila sin advertencias y corre.

Empieza este tour

Programas y variables

  • La forma del programaUn saludo del cuaderno de un faro, armado con las piezas mínimas que necesita un programa Delphi.
  • Variables y constantesLa caja de una panadería calcula lo recaudado en la mañana con un precio fijo del pan.
  • Asignación y aritméticaUn cobrador de autobús lleva la cuenta de quienes suben y parte una tarifa en dólares y centavos.

Tipos y cadenas

  • Tipos numéricosUn observatorio cuenta fotogramas, suma bytes y mide una exposición en segundos.
  • Format y anchos de campoEl horario de un ferri impreso como una tabla de tres columnas cuyos números quedan alineados.
  • Ayudantes de cadenasEl rótulo de una biblioteca de semillas se recorta, se cambia de mayúsculas, se busca y se reescribe.

Control de flujo

  • if y caseUna señal de niebla elige su patrón según la visibilidad, y luego un mes escoge la guardia.
  • Bucles forLas cajas de un huerto se cuentan hacia arriba, se listan hacia abajo y luego se recorren sin índice.
  • while y repeatUna cuenta regresiva de tres minutos de un horno, escrita dos veces, una en cada forma de bucle.

Procedimientos y funciones

  • ProcedimientosUn procedure reporta la inspección de una colmena, y el bloque principal solo lo llama.
  • Funciones y ResultDos funciones que responden con un valor asignándolo a Result.
  • Parámetros const y varTune lee un nombre de emisora const y escribe de vuelta por un parámetro var.

Arreglos y registros

  • Arreglos estáticosCinco cifras de lluvia en un array[0..4] of Integer, recorridas una vez por un total y un pico.
  • Arreglos dinámicosDuraciones de pistas en un array of Integer que se dimensiona, se llena y luego crece.
  • RegistrosUn registro TShelter une un nombre con un conteo de camas y viaja entero hacia una función.

Enums y conjuntos

  • Tipos enumeradosTPhase nombra las cuatro fases de la luna, y un case elige la línea que se imprime.
  • ConjuntosUn kit de reparación de bicicleta como set of TTool, que se edita y luego se consulta con in.
  • Subrangos y OrdEl subrango TLane = 1..4 indexa un arreglo de tiempos por vuelta, y Ord va y vuelve con una letra.

Clases

  • ClasesUna clase contador de pasos: un campo, un método y una instancia que creas y liberas.
  • Propiedades y gettersUn círculo cuya área es una propiedad respaldada por un getter en vez de por datos guardados.
  • Constructores y FreeUna reserva construida por un constructor con argumentos y liberada después en un bloque finally.

Excepciones

  • try-finallyUn TStringList creado antes del try y liberado en el finally, salga la función por donde salga.
  • try-exceptTres cadenas pasan por StrToInt; una no es un número y se maneja en vez de tumbar el programa.
  • Lanzar tu propia excepciónUna regla de sobregiro que lanza su propia clase de excepción, atrapada donde ocurren los retiros.

Bis

  • word_freq.pasCuenta las palabras de un pasaje incrustado e imprime las cinco más comunes con barras.
  • grade_report.pasPuntajes de cinco estudiantes, promediados en calificaciones por letra, con un resumen del grupo.
  • temp_stats.pasUna semana de máximas diarias reducida a la más fría, la más cálida y la media, con barras por día.

Los otros tours de Delphi