Visualizzazione dei risultati da 1 a 3 su 3

Discussione: funzione stringa

  1. #1

    funzione stringa

    Salve non riesco a fare una funzione mi aiutate?

    problema:

    devo visualizzare una stringa di 417 caratteri in in box che contiene max 255 caratteri. Considerando che con uno split sulla stringa ottengo 45 che sono le parole contenute nella stringa (comprese tra " " e " ") come faccio con una funzione a visualizzare ad esempio nella prima pagina del box 200 caratteri pari a 30 parole e nella seconda pagina 217 caratteri pari alle rimanenti parole?

    Valori input in funzione: stringa

    valore output:

    stringa[i](la stringa data dalle somma delle parole della prima pagina), pagine

    spero di essere stato chiaro...

  2. #2
    Tu vuoi dividere la stringa e mandarla a capo da quello che ho capito.

    Vedi se questa funzione fa al caso tuo:

    codice:
    <%
    Function dividiStringa(sStr, iInizio, iProg)
    
    	Dim sTesto 
    	Dim lLenght
    	Dim sFinal 
    
    	If Len(sStr) > 20 Then
    	   If Mid(sStr, 21, 1) = " " Then
    		  sFinal = Mid(sStr, 1, 20) & "
    "
      	  	  response.write(sFinal)
    		  sTesto = Mid(sStr, 22, Len(sStr) - 21)
    		  iProg = iProg + 1
    		  dividiStringa sTesto, 1, iProg
    	   Else
    		  lLenght = InStrRev(Mid(sStr, 1, 20), " ")
    		  If Not lLenght = 0 Then
    			 sFinal = Mid(sStr, 1, lLenght) & "
    " 
    	  	  	 response.write(sFinal)
    			 sTesto = Mid(sStr, lLenght + 1, Len(sStr) - lLenght)
    		  Else
    			 sFinal = Mid(sStr, 1, 20) & "
    " 
      	  	     response.write(sFinal)
    			 sTesto = Mid(sStr, 20 + 1, Len(sStr) - 20)
    		  End If
    		  iProg = iProg + 1
    		  dividiStringa sTesto, 1, iProg
    	   End If
    	ElseIf Len(sStr) <= 20 And Len(sStr) <> 0 Then
    		 sFinal = sStr
     	  	 response.write(sFinal)
    	End If
    
    End Function
    
    response.write(dividiStringa("Ciao, questa è una prova di come funziona l'algoritmo ricorsivo di spezzatura di stringhe troppo lunghe!",1,1))
    %>
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  3. #3
    poco efficente, accroccata e scritta di fretta...ma almeno ti restituisce un array:
    codice:
    <%
    
    dim arrStr(),lunghezza   'inizializzazione
    lunghezza=0				 'lunghezza iniziale dell'array
    
    sub impaginaStringa(sStr)
    dim toImp,maxchar
    maxchar=50   			 'numero massimo di caratteri a pagina
    toImp=trim(sStr)
    if len(sStr)>maxchar then
    
    lunghezza=lunghezza+1
    redim preserve arrStr(lunghezza)
    arrStr(lunghezza-1)=left(toImp,maxchar)
    
    impaginaStringa mid(toImp,maxchar+1,len(toImp)-maxchar)
    else
    lunghezza=lunghezza+1
    redim preserve arrStr(lunghezza)
    arrStr(lunghezza-1)=toImp
    end if
    
    End sub
    
    'prima chiamata alla sub
    impaginaStringa "questa è una prova per vedere se la sub carica correttamente arrStr oppure no"   'esempio con + pagine
    
    for each el in arrStr
    response.write el & "
    "
    next
    
    erase arrStr: lunghezza=0    'ogni volta che richiamo la sub dopo la prima devo azzerrare l'array che contiene le parole
    impaginaStringa "ciao"       'esempio con una parola corta
    
    for each el in arrStr
    response.write el & "
    "
    next
    
    erase arrStr: lunghezza=0
    impaginaStringa ""           'esempio con stringa nulla
    
    for each el in arrStr
    response.write el & "
    "
    next
    %>

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 © 2025 vBulletin Solutions, Inc. All rights reserved.