Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [delphi] azzerare funzione

    Salve


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

    es funzione.clear?


    grazie

  2. #2
    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:

    codice:
    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.

  3. #3

    [delphi] azzerare funzione

    QUINDI è L'UNICO MODO...

    GRAZIE

    CIAO

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472
    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!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.