Si en un procedimiento pones :
Código Delphi
[-]
procedure mio;
const Valor: integer = 1;
begin
valor := pos (sub,s);
end;
La primera vez que se ejecute la funcion, Valor se inicializa a 1, las siguientes llamadas tendrá lo que devuelve la función 'Pos'
No habrá problemas si esa variable está definida como una constante al principio de cualquier Unidad.
Para poder hacer esto, tienes que ir a Project --> Options --> Compiler y marcar la casilla llamada 'Assignable typed constant'. Si no lo haces el compilador te dará un error y no deja continuar la compilación.
Saludos