Bueno, se podrían guardar los valores en un archivo INI:
Ejemplo:
var Arch:TIniFile;
begin
Arch:=TIniFile.Create('Datos.ini'); //Lo abrimos con una ruta dada
//Guarda el tamaño
Arch.WriteInteger('FORMA1','TamAncho',Form1.Width);
Arch.WirteInteger('FORMA1','TamAlto',Form1.Height);
Arch.Free;
end;
Para recuperar se leería el archivo INI en, por ejemplo el evento OnActivate:
procedure Form1.OnActivate(Sender: TObject):
var Arch:TiniFile;
begin
Arch:=TIniFile.Create('Datos.ini');
Form1.Width:=Arch.ReadInteger('FORMA1','TamAncho',200);
Form1.Heigth:=Arch.ReadInteger('FORMA1','TamAlto',100);
Arch.Free;
end;
El 200 y el 100 son valores por defecto, por si la entrada no existe.
Para la posición, creo que podrías usar el Form1.Left y Form1.Top.
Espero te sirva. Saludos y buenas compiladas.