PDA

Visualizza la versione completa : [delphi] azzerare funzione


niquesca
02-03-2003, 16:25
Salve


dovrei azzerare tutte le variabili di una funzione in un colpo solo...
si pu fare richiamando direttamente la funzione?

es funzione.clear?


grazie

bDaniele
02-03-2003, 17:35
Delphi fa parte dei linguaggi "rientranti", cio ogni volta che entri in una funzione viene generato (se necessario) un nuovo stack-frame e quindi nuove variabili che di solito sono vuote.

Da come ho capito le variabili vuoi azzerarle dall'interno della funzione stessa, quindi si tratta di variabili locali?

Credo (al 99%) che non esiste un comando per azzerare tutte le variabili in un colpo solo, ne tantomeno puoi fare assegnazioni a catena come in C.

Se vuoi puoi fare cosi:



function Prova : boolean;
var x, j : integer;
k : byte;
s : string;
procedure AzzeraVariabili;
begin
x := 0;
j := 0;
//ecc..
end;
begin
//tutto quello che ti serve.
AzzeraVariabili;
end;


Spero che l'alcool non mi ha fatto scrivere grosse stupidagini. :sbav:

niquesca
02-03-2003, 18:22
QUINDI L'UNICO MODO...

GRAZIE

CIAO

alka
02-03-2003, 19:31
D la mia piena conferma a quanto detto.

Ma cosa intendi per azzerare? Se intendi "assumere un valore iniziale", tutte le variabili locali ce l'hanno, mentre i parametri posseggono il valore passato dalla chiamata della funzione.

Comunque non esiste una funzione di azzeramento totale; esegui le singole inizializzazioni, se diverse dal valore predefinito, "manualmente".

Se le variabili sono tante, magari dovresti rivedere il concetto con il quale hai steso il codice: forse c' modo di fare diversamente.

Ciao! :ciauz:

Loading