Navigazione

    Privacy - Termini e condizioni
    © 2020 Search On Media Group S.r.l.
    • Registrati
    • Accedi
    • CATEGORIES
    • Discussioni
    • Non letti
    • Recenti
    • Hashtags
    • Popolare
    • Utenti
    • Stream
    • Interest
    • Categories
    1. Home
    2. Categorie
    3. Coding e Sistemistica
    4. Coding
    5. Andare a capo con gli array non troncando le parole
    Questa discussione è stata cancellata. Solo gli utenti con diritti di gestione possono vederla.
    • L
      luca1317 User Attivo • ultima modifica di

      Andare a capo con gli array non troncando le parole

      Lo script seguente prende la stringa abcdefg e la suddivide in 3 righe: abc def g

      Ora, se resto è uguale a 0? succede una cosa strana:

      al posto di abcdefg (7caratteri) inseriamo abcdef (6 caratteri) in modo che il resto sia uguale a zero e le righe siano solo2 (array(0) e array (1).

      Lo script in questo caso mi crea un terzo array(2) vuoto:
      ARRAY(0):abc
      ARRAY(1):def
      ARRAY(2)

      Come mai?

      
      dim testo,maxLen 
      testo_abstract="abcdefg"
      
      
      
      
      maxLen=3
      lentotale=Len(testo_abstract)
      righe=Int(lentotale/maxlen)
      resto=lentotale-(maxLen*righe)
      
      
      
      
      For x=0 To righe
      If testo="" Then
      testo=Mid(testo_abstract,x+1,maxLen) & "<br>"
      Else
      testo=testo & Mid(testo_abstract,(maxLen*x)+1,maxLen) & "<br>"
      End If
      Next
      
      
      
      
      If resto > 0 Then
      For y=0 To resto
      testo=testo & Mid(testo_abstract,(maxLen*(x+y))+1,maxLen) & "<br>"
      Next
      End If
      
      
      
      
      Dim MioArray 
      MioArray = Split (testo, "<br>", -1, 1) 
      testo=""
      
      
      
      
      conta=righe
      
      
      
      
      
      
      
      
      if conta>=0 then response.write("arr1: "&MioArray(0))
      RESPONSE.WRITE("<BR>")
      
      
      if conta>=1 then response.write("arr1: "&MioArray(1))
      RESPONSE.WRITE("<BR>")
      if conta>=2 then response.write("arr2: "&MioArray(2))
      RESPONSE.WRITE("<BR>")
      if conta>=3 then response.write("arr3: "&MioArray(3))
      
      
      0 Miglior Risposta Ringrazia Cita Rispondi

        1 Risposta Ultima Risposta
      • A
        artcava Moderatore • ultima modifica di

        Ciao Luca, nella stringa che ricomponi con il separatore aggiungi <br> anche in fondo.
        Lo Split esegue la suddivisione e dopo l'ultimo <br> non trova nulla e inserisce in Array una stringa vuota...

        A disposizione per approfondimenti...

        0 Miglior Risposta Ringrazia Cita Rispondi

          1 Risposta Ultima Risposta
        • L
          luca1317 User Attivo • ultima modifica di

          intendi così?

          
          
          MioArray = Split (testo, "<br>", -1, 1) & "<br>"
          
          
          0 Miglior Risposta Ringrazia Cita Rispondi

            1 Risposta Ultima Risposta
          • A
            artcava Moderatore • ultima modifica di

            No, chiedo scusa, devo essermi espresso male...

            Prova a stampare la variabile testo prima dello **Split **nella versione originale, è probabile che ci sia un br di troppo in fondo...

            Spero di essermi espresso meglio e soprattutto di aver centrato il problema

            0 Miglior Risposta Ringrazia Cita Rispondi

              1 Risposta Ultima Risposta
            • L
              luca1317 User Attivo • ultima modifica di

              si, effettivamente c'è un br alla fine che non dovrebbe esserci; ho fatto delle prove ad eliminare i br alla fine delle istruzioni poi la funzione non fa quello che dovrebbe.

              0 Miglior Risposta Ringrazia Cita Rispondi

                1 Risposta Ultima Risposta
              • A
                artcava Moderatore • ultima modifica di

                Trovato l'errore:

                For x=0 To righe
                

                Prova con

                For x=0 To righe-1
                
                0 Miglior Risposta Ringrazia Cita Rispondi

                  1 Risposta Ultima Risposta
                • L
                  luca1317 User Attivo • ultima modifica di

                  Va meglio: crea sempre un array vuoto in più ma ora lascia solo un br finale; in realtà erano 2 i br in più.

                  Credo che se si riuscisse ad elimiare il br che crea all'ultima riga non si creerebbe più l'array in più vuoto.

                  0 Miglior Risposta Ringrazia Cita Rispondi

                    1 Risposta Ultima Risposta
                  • A
                    artcava Moderatore • ultima modifica di

                    Puoi ripostare il codice attuale con il br in più?

                    0 Miglior Risposta Ringrazia Cita Rispondi

                      1 Risposta Ultima Risposta
                    Caricamento altri post
                    Rispondi
                    • Topic risposta
                    Effettua l'accesso per rispondere
                    • Da Vecchi a Nuovi
                    • Da Nuovi a Vecchi
                    • Più Voti