Hola Carlos, tal vez estos links te sean de ayuda para comprender el tema de funciones y procedimientos:
http://www.clubdelphi.com/foros/showthread.php?t=49698
http://www.clubdelphi.com/foros/showthread.php?t=49246
Hay más, solo los pongo de ejemplo. Básicamente:
La función devuelve un valor, un procedimiento no.
Ambos no necesariamente pueden pertenecer a una clase, pueden estar "sueltos" en las units.
Por ejemplo cuando uno hace:
Código Delphi
[-]TForm1 = class
funcion Elegir(Numero: integer): String;
end;
Lo que hace es indicar que la función elegir es parte de la clase TForm1. Y es por ello que al momento de escribir su código debemos indicarle su "dueño":
Código Delphi
[-]function TForm1.Elegir(Numero: integer): string;
begin
end;
Pero si no necesariamente debe tener un "dueño", Podemos tenerla libremente en una Unit:
Código Delphi
[-]Unit UCualquiera;
interface
funcion Elegir(Numero: integer): string;
implementation
function Elegir(Numero: integer): string;
begin
end;
Ejemplos de funciones sueltas son inc(), dec(), Length().
Un ejemplo de una función con dueño es CloseQuery, que le pertenece a la clase de la cual desciende los objetos TForm.
Espero que esto te haya servido para comprender mejor la diferencia entre funciones y procedimientos e igualmente para comprender a que se debe ese TForm1.XXXXXX.
Saludos,