Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

xanburzum

[Resolvido] Wrap Texto

Recommended Posts

<%

' Declare as variáveis para armazenar o texto original e as

'Texto depois de wrap it.

Dim strTextPreWrap

Dim strTextPostWrap

Dim intWrapPosition

 

'testo de exemplo

strTextPreWrap = "The quick brown fox jumps over the lazy dog. " _

& "The quick brown fox jumps over the lazy dog again. " _

& "The quick brown fox jumps over the lazy dog one more time."

 

' limite de 40

intWrapPosition = CInt(Request.QueryString("wrap"))

If intWrapPosition = 0 Then intWrapPosition = 40

 

' Call funcao

strTextPostWrap = WordWrap(strTextPreWrap, intWrapPosition)

%>

 

<h3>string original :</h3>

<p><code>

<%= AddBrToCrLf(strTextPreWrap) %>

</code></p>

 

<h3> string wrapped <%= intWrapPosition %> caractere:</h3>

<p><code>

<%= AddBrToCrLf(strTextPostWrap) %>

</code></p>

 

<%

'Aqui está a função que faz o trabalho

' A palavra wrapp e um comprimento máximo de linha

'e retorna a 'String acondicionados adequadamente.

 

 

Function WordWrap(strTextToBeWrapped, intMaxLineLength)

Dim strWrappedText ' Resultado storage

 

Dim intLengthOfInput ' Length do original

 

Dim intCurrentPosition

Dim intCurrentLineStart ' começa a linha atual

Dim intPositionOfLastSpace ' Último espaço

 

intLengthOfInput = Len(strTextToBeWrapped)

 

' Iniciar ambos, no início

intCurrentPosition = 1

intCurrentLineStart = 1

 

' Loop até o fim

Do While intCurrentPosition < intLengthOfInput

'Se a posição atual é um espaço,

'local para uso posterior

If Mid(strTextToBeWrapped, intCurrentPosition, 1) = " " Then

intPositionOfLastSpace = intCurrentPosition

End If

 

If intCurrentPosition = intCurrentLineStart + intMaxLineLength Then

' Algumas linhas de depuração

'Response.Write intCurrentLineStart & "<br />"

'Response.Write intPositionOfLastSpace & "<br />"

'Response.Write Trim(Mid(strTextToBeWrapped, intcurrentLineStart, _

' intPositionOfLastSpace - intCurrentLineStart + 1)) & "<br />"

 

' Adicione esta última linha de nosso resultado

strWrappedText = strWrappedText _

& Trim(Mid(strTextToBeWrapped, intcurrentLineStart, _

intPositionOfLastSpace - intCurrentLineStart + 1)) _

& vbCrLf

 

' Redefinir a próxima linha do ponto inicial ao ponto que nós

utilizados para o último final de uma + 1

intCurrentLineStart = intPositionOfLastSpace + 1

 

' Remova quaisquer espaços principais que podem bagunçar nossa

'contagem de carácter .

Do While Mid(strTextToBeWrapped, intCurrentLineStart, 1) = " "

intCurrentLineStart = intCurrentLineStart + 1

Loop

End If

 

' Incremente o nosso indicador de local

intCurrentPosition = intCurrentPosition + 1

Loop

 

' Uma vez que o ciclo termina, antes de adicionar o texto restante,

'Adicionar texto restante como a última linha.

strWrappedText = strWrappedText & Trim(Mid(strTextToBeWrapped, _

intcurrentLineStart)) & vbCrLf

 

' Retorno ao nosso resultado da linha chamadora

WordWrap = strWrappedText

End Function

 

Function AddBrToCrLf(strInput)

AddBrToCrLf = Replace(strInput, vbCrLf, "<br />" & vbCrLf)

End Function

%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.