Project75 Inserito: 22 novembre 2016 Segnala Inserito: 22 novembre 2016 Buongiorno, ho creato una variabile array (0...9) (tipo di dati real)con dieci elementi all'interno che mi serve a prelevare dei valori, c'è un modo per azzerare i valori senza doverlo fare con 1 move per ogni elemento? C'è un modo per sommare i valori senza dover sommare ogni singolo elemento? Grazie mille
Cesare Nicola Inserita: 22 novembre 2016 Segnala Inserita: 22 novembre 2016 Per azzerare ti crei da qualche parte un array delle stesse dimensioni di quello da azzerare, che non andrai MAI a scrivere e quindi sarà sempre a zero, e poi fai un MOVE di tutto l'array in quello che devi azzerare. Io di solito lo creo in una variabile TEMP del blocco. Per sommare i valori puoi usare un ciclo FOR in SCL oppure un blocco CALCULATE, dando come parametri di ingresso i singoli elementi dell'array. Nel blocco fai il calcolo IN1+In2+IN3, ecc. Con un solo richiamo del blocco hai fatto la somma di tutti.
Project75 Inserita: 22 novembre 2016 Autore Segnala Inserita: 22 novembre 2016 Ok ma quando vado a puntare l'array, all'ingresso del MOVE, non mi fa scegliere uno dei singoli elementi?
Cesare Nicola Inserita: 22 novembre 2016 Segnala Inserita: 22 novembre 2016 No, puoi dargli tutto l'array in un colpo solo, senza specificare elementi. Vorrei allegarti un immagine ma non riesco a caricarla, comunque è semplice.
Project75 Inserita: 22 novembre 2016 Autore Segnala Inserita: 22 novembre 2016 Ok proverò e ti farò sapere
Project75 Inserita: 22 novembre 2016 Autore Segnala Inserita: 22 novembre 2016 Niente mi da la variabile in rosso, come devo fare?
batta Inserita: 22 novembre 2016 Segnala Inserita: 22 novembre 2016 Con l'istruzione MOVE puoi copiare byte, word, doppie word, string, array, struct o interi DB. L'importante è che sorgente e destinazione (a parte alcune conversioni implicite) siano dello stesso tipo. Per copiare una struttura, la struttura sorgente e la struttura destinazione devono essere identiche. Se copi un array, l'array sorgente e l'array destinazione devono essere identici. Se copi un DB, il DB sorgente ed il DB destinazione devono essere identici. Un altro modo per azzerare un array o una struttura, è l'uso dell'istruzione FILL. Ti serve una variabile con valore zero, la quale variabile va a riempire tutta la struttura di destinazione. Funziona solo con blocchi NON ottimizzati.
Project75 Inserita: 22 novembre 2016 Autore Segnala Inserita: 22 novembre 2016 Si, ma quando vado a puntare la variabile array mi fa subito scegliere uno dei suoi elementi e se non lo scelgo mi diventa la scritta in rosso.
Giuseppe Signorella Inserita: 22 novembre 2016 Segnala Inserita: 22 novembre 2016 Quando scrivi il nome dell'array, il sistema ti propone in automatico la scelta di un elemento dell'array. Tu ne scegli uno a caso, poi una volta inseriti lo editi eliminando sia le parentesi quadre che il numero dell'elemento e premi enter. Ciao
Project75 Inserita: 22 novembre 2016 Autore Segnala Inserita: 22 novembre 2016 Provato e funziona. E vai grazie mille per le spiegazioni a numero . Grazie ancora
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