On 27.07.2011 12:22, Dimitri Smits wrote:
don't have a Delphi in reach for the moment to verify, but you could do that to
a const (if you enable the assignable constants setting)
procedure SomeProc;
const
someconst: Integer = 22;
begin
//blabla
someconst := 42;
//yadda yadda
end;
In this case "someconst" will keep the assigned value during different
functions calls.
For example:
=== source begin ===
procedure SomeProc;
const
someconst: Integer = 21;
begin
if someconst = 42 then
Writeln('The answer')
else begin
Writeln('Not the answer');
someconst := 42;
end;
end;
begin
SomeProc;
SomeProc;
end;
=== source end ===
will print:
=== output begin ===
Not the answer
The answer
=== output end ===
This was considered as the equivalent of a local static variable.
In case of "var" the definitions are normal variables and semantically
equivalent to an initialization of the variable at the beginning of the
function.
Regards,
Sven
----- "Sven Barth"<pascaldra...@googlemail.com> schreef:
Well... seems like you didn't notice this feature yet :D
I'm talking about this:
=== source begin ===
procedure SomeProc;
var
somevar: Integer = 42;
begin
end;
=== source end ===
This works in FPC, but doesn't in Delphi ;)
Regards
Sven
Am 26.07.2011 21:27, schrieb Jorge Aldo G. de F. Junior:
I dont like to take local variable initialization for granted.
Even if the manual says that its guaranteed that a local variable
will
start with 0,
i prefer to initialize everything to a known value myself.
An aditional
Move $varaddress, 00
at startup wont slow things down noticeably when your pc is running
at 2ghz...
This unit needs to take care of big endian vs. low endian (maybe a
$define ?)
When i wrote that code i did not pay attention to this...
Anything more complex (like interacting with DHCP server) would be
too
complex and probably dependent on external units (like synapse x
lnet
etc). Some people might prefer to use other library instead of the
default choosen one, etc...
2011/7/26 Sven Barth<pascaldra...@googlemail.com>:
On 26.07.2011 01:23, Paul Nicholls wrote:
"Jorge Aldo G. de F. Junior"
<jagf...@gmail.com> wrote in message
news:CAAHHabS9aUe9gwyNjkve-XVXsRyf2UPsArh6=fsdpgokugj...@mail.gmail.com...
Some time ago someone asked for a library able to do network
calculations.
Here is something that might evolve into such library :
<SNIP>
Function NetMaskToHostMask(NetMask : TNetworkIP): TNetworkIP;
Begin
Result.Mode := False;
NetMask.Mode := False;
Result.IP := NetMask.IP Xor %11111111111111111111111111111111;
End;
<SNIP>
I didn't know that freepascal handled binary formatted numbers?!?
%11111111111111111111111111111111
There are often new things one can learn about what FPC supports ;)
(though
binary numbers are already old for me ^^)
The most recent finding (at least for me) was the abbility to
initialize
local variables.
Regards,
Sven
_______________________________________________
fpc-pascal maillist - fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal
_______________________________________________
fpc-pascal maillist - fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal
_______________________________________________
fpc-pascal maillist - fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal
_______________________________________________
fpc-pascal maillist - fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal
_______________________________________________
fpc-pascal maillist - fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal