+ Rispondi
Risultati da 1 a 10 di 10

Discussione: Aggiunta ad una stringa di uno spazio

  1. #1
    Neofita della community
    reputazione complessiva: 1 1

    Messaggi
    67

    Aggiunta ad una stringa di uno spazio

    ciao a tutti.

    ho in un'applicazione da concatenare due parole (in realtà sono 2 valori di 2 parametri)
    è fondamentale però che tra i due vi sia uno spazio xcui ho scritto in questo modo

    valori(I) = valori(I) & " "

    quando però poi vedo il risultato a video i due valori son uniti ma quello spazio non è presente. Forse il problema è da come ho io aggiunto lo spazio?

    & " " non è così che si aggiunge lo spazio?

  2. #2
    Very Important Person L'avatar di sspintux
    reputazione complessiva: 28 28

    Messaggi
    919
    Blogs
    5
    Citazione Originariamente Scritto da Newton Visualizza Messaggio
    -------
    valori(I) = valori(I) & " "

    quando però poi vedo il risultato a video i due valori son uniti ma quello spazio non è presente. Forse il problema è da come ho io aggiunto lo spazio?

    & " " non è così che si aggiunge lo spazio?
    Il problema non è nell'aggiunta dello spazio.

    Valori come è dichiarato ?
    come mostri i valori a video ?
    Ciao sspintux
    ------------------------------------------------------------
    Volevamo cambiare il mondo...peccato che abbiamo perso lo scontrino

  3. #3
    Collega della community L'avatar di Fix978
    reputazione complessiva: 47 47

    Messaggi
    971
    Blogs
    2
    A parte i chiarimenti chiesti da sistemista c'è qualcosa che non mi torna nel codice che hai scritto...

    assegni il valore della variabile alla stessa variabile ma senza aggiungere il valore della seconda variabile, dov'è il concatenamento dei 2 valori ?


    Forse hai una matrice di "valori" e pensi di aggiungere uno spazio ad ogni elemento cosi da visualizzarlo quando con un ciclo verifichi il contenuto di ogni singolo elemento ?

    Se la risposta è si il problema è il "tipo" della variabile che non è di tipo String ma numerico e per concatenare uno "spazio" che è un valore String, devi usare un tipo di variabile String.
    Ultima modifica di Fix978; 16-10-2009 alle 15:50 Motivo: aggiunta

  4. #4
    Collega della community L'avatar di Louis
    reputazione complessiva: 12 12

    Messaggi
    995
    Ciao Newton,
    per aggiungere uno o più spazi in una stringa puoi usare la funzione Space()che restituisce un valore Variant (String) costituito dal numero specificato di spazi, ad esempio per uno spazio:
    Codice:
    valori(I) = valori(I) & Space(1)
    Louis

  5. #5
    Very Important Person L'avatar di @Alex
    reputazione complessiva: 106 106

    Messaggi
    6,255
    Citazione Originariamente Scritto da Newton Visualizza Messaggio
    ciao a tutti.

    ho in un'applicazione da concatenare due parole (in realtà sono 2 valori di 2 parametri)
    è fondamentale però che tra i due vi sia uno spazio xcui ho scritto in questo modo

    valori(I) = valori(I) & " "

    quando però poi vedo il risultato a video i due valori son uniti ma quello spazio non è presente. Forse il problema è da come ho io aggiunto lo spazio?

    & " " non è così che si aggiunge lo spazio?
    La tua domanda non solo non è chiara... ma pone un dubbi sul cosa ti aspetti di vedere...!

    Ipotizziamo questo scenario:
    Codice:
    valori(I) = valori(I) & " "
    Ipotiziamo che inizialmente in Valori(I) sia contenuto "AABB" con la sintassi di cui prima... cosa ti attendi di vedere...??
    Se ti aspetti "AA BB" è estremamente impossibile... lo spazio è stato aggiunto alla fine... e pertanto otterrai "AABB " la dove lo spazio finale difficilmente risulterà visibile se non andando a posizionare il cursore...!

    Di fatto se il contenuto di Valore(I) è, come hai detto prima, ottenuto aggregando 2 valori, lo spazio lo dovrai introdurre nella fase di assegnazione e non dopo... altrimenti non otterrai mai il risultato voluto.
    @Alex
    Sito Web personale:
    http://www.alessandrobaraldi.it/
    Se l'aiuto ti è stato utile aumenta la reputazione votando l'icona "Pollice in su".

  6. #6
    Collega della community L'avatar di Louis
    reputazione complessiva: 12 12

    Messaggi
    995
    Come sempre @Alex é molto preciso.
    Per quanto mi riguarda nell'indicare "valori(I) = valori(I) & Space(1)" intendevo solo l'inserimento di un spazio tra due stringhe.
    Ora se Newton volesse concatenare una stringa di valori contenuti in una matrice, escludendo lo spazio iniziale della nuova stringa concatenata, potrebbe anche fare in questo modo:

    Codice:
    Option Explicit
    Private Sub Form_Load()
        Dim sValori() As String
        Dim sValString As String
        Dim j As Integer
           
        'Ridimensiona la matrice e mantiene gli elementi:
            ReDim Preserve sValori(3)
        
        ' Carica il vettore:
            sValori(0) = "000000001"
            sValori(1) = "000000101"
            sValori(2) = "000001001"
            sValori(3) = "000010001"
        
        ' Concatena i valori staccandoli con 2 spazi
        ' a partire dal valore minore, senza spazio iniziale:
        For j = UBound(sValori) To LBound(sValori) Step -1
            If j = UBound(sValori) Then sValString = sValori(j)
            If j < UBound(sValori) Then sValString = sValori(j) & Space(2) & sValString
        Next j
        
        MsgBox sValString
        Text1.Text = sValString
    End Sub
    Speriamo di non aver commesso errori nella scrittura del codice, nel qual caso tenete conto che sono ancora un apprendistra ....
    Louis

  7. #7
    Collega della community L'avatar di Fix978
    reputazione complessiva: 47 47

    Messaggi
    971
    Blogs
    2
    Si stanno facendo solo supposizioni inutilmente visto che Newton non da le risposte alle domande già fatte.

    @Louis
    Per escludere gli spazi iniziali o finali (o entrambi), puoi semplicemente utilizzare LTRIM, RTRIM e TRIM

    Ciao

  8. #8
    Collega della community L'avatar di Louis
    reputazione complessiva: 12 12

    Messaggi
    995
    @Fix978, sì sono al corrente ...
    il problema era solo lo spazio iniziale e non mi andava di usare altre funzioni (anche Replace).
    Louis

  9. #9
    Neofita della community
    reputazione complessiva: 1 1

    Messaggi
    67

    risoluzione del problema

    Buongiorno a tutti e vi ringrazio per le risposte datemi. Ahime non avevo avuto modo di controllare la discussione.

    Ad ogni modo, io avevo un'applicazione (non creata da me) che tra le altre cose doveva fare sostanzialmente questo

    es. stringa a = pippo
    stringa b = pluto

    il risultato doveva essere 'pippo pluto' il tutto viene scritto in un file

    quindi andeva semplicemente presa la stringa pippo ed aggiunto lo spazio

    pippo = pippo & " "

    nonostante fosse scritto in modo corretto non funzionava. In realtà poi ho scoperto che il bug era altrove ed ho risolto proprio ieri.

    Ps. confermo che era un array di Stringhe

    grazie a tutti e scusate la lentezza nel rispondere

  10. #10
    Very Important Person L'avatar di yronium
    reputazione complessiva: 45 45

    Messaggi
    1,340
    In ogni modo, giusto per completare il thread, esiste la funzione Join (v.) che tra l'altro fa il contrario di ciò che fa la Split. Maggiori dettagli nella Guida, sul Balena o sui Trucchi.

    Spero sia utile. Ciao.
    Io NON sono su Facebook.

    Il Vero Programmatore può contare fino a 1024 sulle dita delle mani.

    "Come porre le domande in modo intelligente" di ESR (versione italiana)

    Hai visto il mio avatar?

+ Rispondi

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi