Reconozco que al verlo por primera vez impresiona un poquito, veamos el concepto, y así de camino sirve para otros foristas:
Código Delphi
[-] property Param1:string read Fparam1 write Fparam1;
¿Qué es FParam1?
Simplemente una variable privada del mismo tipo de datos que Param1. Se podría decir que es una "Copia de seguridad" de la propiedad.
¿Por qué se llama FParam1?, es un estándar, a todos los campos (
Fields) que son privados de una clase, se le añade la letra "F" al principio.
¿Por qué no hacerlo así:
Porque si tenemos que modificar la clase por otros detalles, estamos utilizando la variable pública Param1, y puede incluso que necesitemos cambiar el tipo de datos, esto supone que los programas que usan esa clase también necesitan modificarse. Esto es una onda expansiva, igual que tirar una piedra en el lago, las modificaciones se van propagando y al final necesitas rehacer todo el programa.
Al usar una variable pública y otra privada, se pueden hacer cambios en el interior de la clase y no modificar la variable pública. No hay onda expansiva

.
Código Delphi
[-]ShowMessage(Form1.Param1)
Con esa linea estamos leyendo (read) el valor de Param1, en realidad delphi, lee el valor de la variable FParam1.
Código Delphi
[-] Form1.Param1 := 'hola mundo';
En este caso estamos escribiendo (write) en la variable, por tanto delphi asignará a FParam1, el valor 'hola mundo'.
La otra variante que lleva dos procedimientos, es exactamente igual, solo que ahora en lugar de leer de una variable privada, se ejecuta una función (GetParam1) que devuelve un string. También al tiempo de asignar una variable, se usa un procedimiento (SetParam).
"Get" y "Set" también es un estándar, son prefijos que siempre se añaden para hacer más legible el código.
Saludos