Vai al contenuto
PLC Forum


Gestione stringa e invio seriale


RAVRAV

Messaggi consigliati

Buongiorno a tutti,

volevo sapere che comandi poter utilizzare per poter eliminare gli spazi in una stringa.

Mi spiego, da un risultato matematico di due valori, tipo 100/1 oppure 10000/5 etc etc devo inviarlo via char$ su seriale.

Ho fatto la conversione con val string, per convertire il valore matematico in striga, ma purtroppo ho molti spazi da eliminare e non riesco a venirne a capo. In base ail risultato gli spazi possono essere più o meno. Poi pensavo dopo aver ripulito la stringa con comando cancat di inserire il risultato nei comandi della stringa, convertira in chr$ ed inviarla finalmente.

esempio

 

valore matematico del risultato 200

val to string diventa '          200'

qui dovrei ripulire gli spazi per ottenere '200'

qui concateno comando 'CONF:RAT:N' con stringa ripulita '200' e concateno $R$L   quindi avrei una stringa 'CONF:RAT:N200$R$L' da convertire in chr$ e poi inviare via seriale.  

 

Non so se sia il metodo più corretto, ma attendo i vostri preziosi suggerimenti.

grazie in anticipo.

Link al commento
Condividi su altri siti


dina_supertramp

Ciao, attraverso le funzioni di sistema fai questo:


Leggi la lunghezza della stringa: ISTRUZIONE LEN (legge lunghezza stringa)
Crea un ciclo for che perduri per la lunghezza in char della tua stringa 
Nel ciclo for dichiara l'operazione di ricerca del carattere che vuoi togliere (nel tuo caso carattere vuoto: ' ' )  : ISTRUZIONE FIND (trova carattere nella stringa)
Se l'esito del find è verificato, elimina il carattere: ISTRUZIONE DELETE (elimina carattere nella stringa)

Io ho un FB costruito su questa esatta logica che uso per eliminare caratteri/spazi vuoti dalle stringhe

Per ora ti ho indicato la via, se trovi difficoltà nello scrivere il codice siamo qui...
 

Link al commento
Condividi su altri siti

dina_supertramp
22 minuti fa, max.bocca ha scritto:

Non ricordo ma forse ci sono anche sul 1200  - ltrim e rtrim- che tolgono i spazi a destra e a sinistra.  

 

Che io sappia no, però ci sono "LEFT" -"MID"- "RIGHT" che lasciano alla stringa il numero di caratteri impostati nel parametro L, partendo da sx, dal centro (dx meno sx) oppure da destra, in base all'istruzione usata.

Con i 1200-1500 e le istruzione avanzate di gestione stringhe/char beneomale si riesce a fare quasi tutto, combinandole tra di loro.

Link al commento
Condividi su altri siti

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