max81 Inserito: 16 gennaio 2013 Segnala Share Inserito: 16 gennaio 2013 Ciao a tutti, ho due problemi, il primo riguarda la conversione da un UINT (ma lo stesso vale per Int e USInt) a una Stringa, ad esempio se il valore è 17, nella stringa ho alcuni spazi vuoti all'inizio quindi ' 17', il punto è che devo concatenare diverse stringhe tra di loro senza gli spazi vuoti. Il secondo problema è il seguente: devo creare due stringhe, una con la data e ora corrente e la seconda con la data di scandeza (+550 giorni rispetto la data corrente), esiste una funzione per convertire la data/ora di sistema (dopo averla letta con RD_LOC_T in una variabile di tipo DTL) in una stringa con formato (dd/MM/yyyy HH:mm:ss)? Oppure devo per forza crearmela da me in SCL creando una sfilza di UINT_TO_STRG e CONCAT, naturalmente risolvendo anche il primo problema ddegli spazi vuoti durante la conversione? Ringrazio anticipatamente. Link al commento Condividi su altri siti More sharing options...
max81 Inserita: 18 gennaio 2013 Autore Segnala Share Inserita: 18 gennaio 2013 (modificato) Buanasera, ho risolto il problema degli spazi, dunque la lunghezza della stringa risultante e pari alla lunghezza (in cifre) massima + 1 del tipo che si vuole convertire, ad esempio, un UINT avra valore massimo 65535, quindi la lunghezza della stringa sarà di 6. Facendo un esempio, se il valore intero da convertire è 17, nella stringa risultante avremo '17' preceduto da 4 spazi vuoti, cioè 'xxxx17' (dove x è lo spazio vuoto. Se ora consideriamo il tipo UDINT, questo può avere valore massimo di 11 cifre, quindi se convertiamo una variabile di tipo UDINT uguale a 17, nella stringa convertita avremo 17 preceduto da 9 spazi vuoti, cioè 'xxxxxxxxx17'.. Per risolverlo, utilizzando il testo strutturato, ho fatto così: - converto da stringa in array di char (Strg_to_chars). - effettuo un FOR elemento per elemento e trovo la posizione dell'elemento dell'array dove iniziano le cifre del valore intero. - riconverto da array di char in string (Chars_to_strg) ponendo PChar pari alla posizione trovata nel FOR precedente. Invece per quanto riguarda data e ora mi sono costruito un'altra funzione in SCL che legge l'ora e data di sistema, poi estraggo i vari campi del tipo DTL, quindi giorno, mese, anno, ora, .... converto in stringhe i singoli campi ed effettuo una serie di concatenazioni ottenendo una singola stringa. Spero che quanto scritto sia chiaro, e che possa aiutare chi ha (ho avrà) i miei stessi problemi. Modificato: 18 gennaio 2013 da max81 Link al commento Condividi su altri siti More sharing options...
Lucos68 Inserita: 2 agosto 2013 Segnala Share Inserita: 2 agosto 2013 Ciao max81, devo convertire Data e Ora in Stringa ma mi risulta difficile, mi puoi aiutare con la tua funzione in SCL? Grazie mille Link al commento Condividi su altri siti More sharing options...
batta Inserita: 2 agosto 2013 Segnala Share Inserita: 2 agosto 2013 Solo una curiosità: da cosa deriva l'esigenza di convertire questi dati in stringa? Link al commento Condividi su altri siti More sharing options...
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