Sviluppo4d.it
Sito indipendente di informazioni tecniche per sviluppatori 4th Dimension italiani  

Sviluppatori 4D

Utility 4D

Risorse 4D



4d logo
Naviga: Prev Next

Titolo: Uso della ricorsione e metodi ricorsivi

Categoria: Stile Ultimo Aggiornamento: 09/11/04


Uno dei sistemi di programmazione più affascinanti è sicuramente dato dall'uso della ricorsione: lo scopo è fondamentalmente quello di scrivere meno codice possibile, facendo in modo che operazioni identiche siano ripetute in cascata sempre dallo stesso metodo: facciamo un esempio.
Supponiamo di voler scrivere un metodo che conti il numero di file presenti in una cartella e nelle sue sottocartelle. Usando la ricorsione non faremo altro che chiamare il metodo di conteggio dei file sulla cartella madre e su tutte le sottocartelle in essa contenute. Ecco il codice:

C_STRING(255;$1)
ARRAY TEXT($FolderList;0)
ARRAY TEXT($DocumentList;0)
C_LONGINT($piattaforma;$i)
C_LONGINT($0;$count)

  ` ottengo l'elenco di file e cartelle
FOLDER LIST($1;$FolderList)
DOCUMENT LIST($1;$DocumentList)
$count:=Size of array($DocumentList)

If (Size of array($FolderList)>0)
    For ($i;1;Size of array($FolderList))
        PLATFORM PROPERTIES($piattaforma)

    ` richiamo il metodo di conta su ogni
`sottocartella della cartella corrente
        If ($piattaforma#3)
           $count:=$count+ContaFile($1+$FolderList{$i}+":") `RICORSIONE
        Else
           $count:=$count+ContaFile($1+$FolderList{$i}+"\\")`RICORSIONE
        End if

    End for
End if

$0:=$count

Il metodo chiamante sarà:

$count:=ContaFile(Select folder("Scegli la cartella da contare"))


Inviato da: PierPaolo Sichera Visite: 12923

Se accedi con utente e password, puoi aggiungere dei commenti.


Accesso

User:
Pass: Accedi

Cerca

Se non trovi le informazioni che cerchi scrivi a aiuto@sviluppo4d.it

4D Principali

4D Discussioni

Faq random


Crediti

Dominio registrato da ZetaNet
Sito realizzato da Nexus srl
4D SQL 11.9.0 offerto da 4D & Italsoftware
Icone di FAMFAMFAM
Moderato da Umberto Migliore
301 utenti registrati

Pagina servita il 19/03/24 alle 10:15:25 Valid HTML 4.01! Valid CSS!

Mutuo Facile, iDigitalScout, iDigitalTags e altre app di Nexid srl per iPhone e iPad

Cidroid, distributore italiano lettori barcode per IOS Apple iPhone, iPod, iPad