Vai al contenuto
PLC Forum


Azzeramento Array con dimensione variabili


Messaggi consigliati

Inserito:

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 


Inserita:

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.

 

 

Inserita:

OK 
E nel caso voglia  anche rendere "dinamico" il  tipo di array (Bool Int Real ...) devo passare alla gestione "variant" ? 

 

Grazie 

Inserita:

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.

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 account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...