On 18/11/2009 08:10, yu ping wrote:
Is there a way to declare a static varible in a function body? the varible should remain the value assigned from last call.

Typed constant, const /name/ : /type/ = /initial value/;
Takes the initial value when the program starts, but you can assign new values to it. But the value remains constant between calls.

e.g.

Function NextI:Integer;
const
  NextValue:Integer = 0;
Begin
  NextI := NextValue;
  NextValue := NextValue+1;
end;

var
  x : Integer;
Begin
  for x := 1 to 10 do
    writeln(NextI);
end.

_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to