Ir para conteúdo

Arquivado

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

DackAle

Função da erro no Looping

Recommended Posts

E ae galeraTava aqui tentando desenvolver uma função para cortar o texto e por 3 pontinhos, extamente aonde tem o ultimo espaço, o caso é que funcionou, se eu pegar um texto só do banco de dados, funciona, mas se for dentro de um looping (no caso, mostraria varios titulos e ia cortando eles) da erro...exemplo, se for um unico titulo, tipo

Hoje é sexta feira, dia de cervejaHoje é sexta feira...
Funciona normalmente, mas se for dentro de um looping exemplo:
Hoje é sexta feira, dia de cervejaAmanhã é sabado dia de balada
da erro, por ser mais de um conteudo...gera este erro

Chamada de procedimento ou argumento inválido: 'left'

<%SQL="SELECT id,titulo,data FROM noticias"SET RS = Server.CreateObject("Adodb.recordset")rs.open sql,conexao             if not rs.eof then         while not rs.eof         texto = rs("titulo")texto2 = left(texto,70)texto3 = InStrRev(texto2,chr(32),70)texto_f = replace(left(texto,cint(texto3) - 1),chr(13),"<br>")      	%> <%=texto_f%><% if len(texto) > 70 then %>...<%end if%><%          rs.movenext         wend         rs.close         set rs = nothing       end if         %>
Tipo ele salva o texto num variavel, pega os primeiros 70 caracteres, depois ele procura o espaço de tras para frente (instrrev) e salva a opsição do espaço, na ultima ele pega os caracteres que foi indicado pelo texto3 e o -1 é pra tirar o espaço e alem disso faz a função para o enter funcionar...No primeiro registro ele mostrar a opsição certtinho, só que no segundo ele mostra a posição no texto3 como 0...Alguem tem ideia do porque pode estar dando este erro ? Estranho é que sozinho minha função funciona, mas no looping da erro...Valeu galeraaa =)Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

porque voce nao quebra o texto num vetor (por chr(13))processa sua funcao em cada elemento do vetorjunta tudo com chr(13)vetor = split(texto, chr(13))for each elem in vetor elem = trunca(elem)nexttexto = join(vetor, chr(13)) ;) flw

Compartilhar este post


Link para o post
Compartilhar em outros sites

e ae velho =)

 

Então consegui refaze-la funcionan perfeitamente, fiko assim

 

ASP [/tr][tr]

<%

titulo = left(rs("titulo"),70)

 

if len(rs("titulo")) > 70 then

titulo2 = InStrRev(titulo,chr(32),-1,1)

response.write left(titulo,titulo2 - 1)

else

response.write rs("titulo")

end if

 

if len(rs("titulo")) > 70 then

resposen.write "..."

end if

%>

[/tr]

 

Abraços e Valeu =)

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.