Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    [VB8] concatenare stringe in un'unica stringa

    Ciao a tutti,
    mi sto impazzendo vi posto il pezzo di codice incriminato:

    codice:
    Try
    
                For Each strInputString In RT1.Text.Split(vbNewLine)
                    MsgBox(strInputString)
    
                Next
            Catch ex As Exception
                MessageBox.Show(ex.Message)
            End Try
    msgbox:
    UNA:+.? '
    UNB+UNOC:3+ITVDA+CCISS+150306:1031+14917'
    UNH+44746+TRAVIN:12:97BX'
    BGM+1:1::239838+001::+1'
    DTM+INP:201503060930P01:303'
    DTM+STA:201503111000P01:303'
    DTM+MST:201503060930P01:303'
    DTM+STO:201503111600P01:303'
    DTM+EXP:201803050930P01:303'
    da qui ricevo correttamente il msgbox di tutto quello che è presente nel richtext (circa 10 righe) e fino a qui tutto ok ora dovrei scrivere le righe concatenate in una unica riga cosiderando che ogni riga la dovrò dividere da apice " ' " ho provato con la funzione string.format ma nada....
    codice:
    stringaINT = String.Format(strInputString, "'")
    come potrei risolvere?
    grazie

  2. #2
    Ho provato anche così ma nulla non riesco....

    codice:
                arr = Split(RT1.Text, "'")
                LBL1.Text = String.Join("'", arr)
    ma nella label il risultato è sempre lo stesso multiriga!

  3. #3
    Non mi è chiara una cosa: se il MsgBox è inserito in un ciclo For Each.... Next dovresti visualizzare PIU' MsgBox... o no ???

    Curiosità... se scrivi semplicemente:

    Debug.WriteLine (RT1.Text)

    che risultato ottieni? (copia / incolla di quello che esce nella finestra di Controllo Immediato).

    Altra domanda: se fai un

    codice:
    Dim MyString as String = RT1.Text.Replace(vbCrLf, "")
    Debug.Writeline(MyString)


    che risultato ottieni ?
    Ultima modifica di eziogsv; 01-04-2015 a 16:45

  4. #4
    Allora una parte del problema sono riuscito a risolverlo in maniera semplice:

    codice:
     arr = RT1.Text.Split(ControlChars.CrLf.ToCharArray)
    strModified = String.Format("{0}{1}{2}", arr)
    LBL1.Text = strModified
    In questo modo ottengo il risultato sperato! ma solo di 3 segmenti in questo caso!
    ora se io utilizzo un ciclo per contare le righe e inserire in valore nella funzione format ottengo un errore!
    come faccio a fargli prendere il numero di righe corretto?

    il mio approccio NON funzionante:

    codice:
                arr = RT1.Text.Split(ControlChars.CrLf.ToCharArray)
    
                For itx = 0 To UBound(arr)
                    strModified = String.Format("{itx}", arr)
                    LBL1.Text = strModified
                Next itx

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Quote Originariamente inviata da kerberos5 Visualizza il messaggio
    ... approccio NON funzionante ...
    Ma non puoi scrivere semplicemente

    LBL1.Text = RT1.Text.Replace(ControlChars.Lf, "")
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  6. #6
    Quote Originariamente inviata da oregon Visualizza il messaggio
    Ma non puoi scrivere semplicemente

    LBL1.Text = RT1.Text.Replace(ControlChars.Lf, "")
    Aspettate forse non ho spiegato bene quello che dovrei fare.....
    Nel RT1 ho una cosa del genere:
    UNA:+.? '
    UNB+UNOC:3+ITVDA+CCISS+150306:1031+14917'
    UNH+44746+TRAVIN:12:97BX'
    BGM+1:1::239838+001::+1'
    DTM+INP:201503060930P01:303'
    DTM+STA:201503111000P01:303'
    DTM+MST:201503060930P01:303'
    DTM+STO:201503111600P01:303'
    DTM+EXP:201803050930P01:303'
    LOC+LOC+15457:4:501:SR17-Rhins+15457:SR17-Rhins+N'
    NAD+MSE+ITVDA+'
    RFF+LTV:1'
    RFF+VNM:2'
    STS+DOB+RMT'
    STS+PHR+SAT'
    STS+PHC+RWK'
    UNT+15+44746'
    UNZ+1+14917'
    FTX+DIS+test prova editor'
    ora dovrei salvare il tutto in un file di testo (esempio: testo.msg) ma non in questa formattazione ma tutti i segmenti in una sola riga così:

    UNA:+.? 'UNB+UNOC:3+ITVDA+CCISS+150306:1031+14917'UNH+4474 6+TRAVIN:12:97BX'BGM+1:1::239838+001::+1'DTM+INP:201503060930P01: 303'DTM+STA:201503111000P01:303'DTM+MST:2015030609 30P01:303'DTM+STO:201503111600P01:303'DTM+EXP:2018 03050930P01:303'LOC+LOC+15457:4:501:SR17-Rhins+15457:SR17-Rhins+N'NAD+MSE+ITVDA+'RFF+LTV:1'RFF+VNM:2'STS+DOB +RMT'STS+PHR+SAT'STS+PHC+RWK'UNT+15+44746'UNZ+1+14 917'FTX+DIS+test prova editor'
    quindi dovrei elaborare le righe e formattarle in unica riga in parte sono riuscito a farlo con la funzione format ma mi sono bloccato sul settaggio degli indici. Se ho capito bene nella funzione format dovrei specificare il numero degli indici da considerare (nel mio esempio 20) ma il problema è che quello che carico in RT1 varia quindi lo dovrei specificare come varibile il conteggio delle righe lo potrei fare a priori con arr.Length ma poi non so come inserirlo come variabile nella funzine format
    codice:
    strModified = String.Format("{0}", arr)

  7. #7
    OK! trovata soluzione cosi:

    codice:
                strInputString = RT1.Text.Replace(Chr(10), vbNullString)
                Debug.WriteLine(strInputString)

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Ma perché quello che ti avevo suggerito non è uguale ??
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    Quote Originariamente inviata da oregon Visualizza il messaggio
    Ma perché quello che ti avevo suggerito non è uguale ??
    Si! scusa..... hai ragione è che mi ero impuntato con la funzione format ed invece era risolvibile in maniera più semplice

    grazie per la dritta

  10. #10
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Ok, risolto ma se scrivi in un forum, ti consiglio di leggere attentamente le risposte prima di continuare a ragionare sul problema ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.