fiorezzz Inserito: 31 maggio 2023 Segnala Inserito: 31 maggio 2023 Salve a tutti Ci sarebbe un modo per fare una funzione generica che in base all'array [o..x] passato verifichi se tutti gli elementi dell'array valgono 0 Quindi la dimensione dell'array potrebbe essere diversa per il tipo iniziamo con Bool Il problema almeno inizialmente è l'array passato che può avere dimensioni diverse
batta Inserita: 31 maggio 2023 Segnala Inserita: 31 maggio 2023 In una funzione come IN/OUT puoi dichiarare un array senza definirne la dimensione. Esempio: myArray: array[*] of Int Alla funzione potresti passare un array di Int di qualsiasi dimensione. Poi, all'interno della funzione, con le istruzioni "lower_bound" e "upper_bound" vai a leggere quali sono il primo e l'ultimo elemento dell'array. Ci sono istruzioni per controllare se una variabile è un array, se corrisponde ad un certo tipo, ed altro. Si possono fare anche cose più articolate con il tipo "Variant", ma la gestione diventa più complessa.
fiorezzz Inserita: 31 maggio 2023 Autore Segnala Inserita: 31 maggio 2023 OK E nel caso voglia anche rendere "dinamico" il tipo di array (Bool Int Real ...) devo passare alla gestione "variant" ? Grazie
batta Inserita: 1 giugno 2023 Segnala Inserita: 1 giugno 2023 Sì, ma la gestione delle variabili Variant è più complicata. Come Variant puoi passare alla funzione qualsiasi tipo di variabile, di struttura o di array, ma poi devi fare tutti i controlli del caso per capire cosa è stato passato ed agire di conseguenza. Meno elegante ma più facile fare una funzioncina semplice semplice per il tipo di dato che devi manipolare.
Messaggi consigliati
Crea un account o accedi per commentare
Devi essere un utente per poter lasciare un commento
Crea un account
Registrati per un nuovo account nella nostra comunità. è facile!
Registra un nuovo accountAccedi
Hai già un account? Accedi qui.
Accedi ora