kleine Frage: Sind statische lokale Variablen möglich?

Thomas.AC
Benutzer
Avatar
Geschlecht: keine Angabe
Alter: 45
Beiträge: 308
Dabei seit: 07 / 2013
Betreff:

kleine Frage: Sind statische lokale Variablen möglich?

 · 
Gepostet: 07.07.2014 - 13:38 Uhr  ·  #1
Hallo,

Eine Funktion Counter soll die Anzahl Ihrer Aufrufe zurückgeben.
Dazu muss sie die Anzahl der Aufrufe statisch speichern können. Die Lösung mit einer globalen
Variablen, hat den Nachteil, dass globale Variable überall sichtbar sind.

Ich suche das Pascal-Pendant zum "c"-Schlüsselwort static.

"unschöne" Lösung mit einer globalen Variablen:
Code

var
    staticVarCount : Byte;

function counter : Byte
begin
    staticVarCount := staticVarCount +1;
    return(staticVarCount);
end;


"schöne" Lösung als Pseudocode:
Code

function counter : Byte
var
    static count : Byte; // soll statisch sein
begin
    count := count + 1;
    return(count);
end;


Vielen Dank für Hilfe
Thomas.AC
Merlin
Administrator
Avatar
Geschlecht:
Alter: 26
Beiträge: 1485
Dabei seit: 03 / 2005
Betreff:

Re: kleine Frage: Sind statische lokale Variablen möglich?

 · 
Gepostet: 07.07.2014 - 14:53 Uhr  ·  #2
Hi Thomas.

I want to do this all the time :-)

The answer is not too difficult. Put the function and variable into a separate unit and define the variable after the implementation statement. The variable is only visible within the unit.
Thomas.AC
Benutzer
Avatar
Geschlecht: keine Angabe
Alter: 45
Beiträge: 308
Dabei seit: 07 / 2013
Betreff:

Re: kleine Frage: Sind statische lokale Variablen möglich?

 · 
Gepostet: 08.07.2014 - 15:01 Uhr  ·  #3
units are propably the only solution. Sometimes a little overkilled.
Now I am sure that there is no secret feature in AVRco for this. :-)

Thanks for your reply.

Thomas from Aachen
Gewählte Zitate für Mehrfachzitierung:   0

Registrierte in diesem Topic

Aktuell kein registrierter in diesem Bereich

Die Statistik zeigt, wer in den letzten 5 Minuten online war. Erneuerung alle 90 Sekunden.
MySQL Queries: 15 · Cache Hits: 14   65   79 · Page-Gen-Time: 0.026971s · Speichernutzung: 2 MB · GZIP: ein · Viewport: SMXL-HiDPI