Ir para conteúdo

POWERED BY:

Arquivado

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

d.eleete

Função "3 pontinhos"

Recommended Posts

Para quem não quer partir uma palavra no meio, pode usar essa:

Function resumindo(txt,vCrt)if Len(txt) <= vCrt thenresponse.write (left(txt,vCrt))elsewhile not ul=" " or vCrt=len(txt) vExibe = left(txt,vCrt) ul= right(vExibe,1) vCrt=vCrt+1wendif vCrt=len(txt) then Response.Write(txt)else vExibe=left(vExibe,(len(vExibe)-1))&"..." Response.Write(vExibe)end ifend ifend function
É apenas um aprimoramento da função do D.Eleete!Para chamar a função é exatamente do mesmo jeito.Valeu?
essa sua função nem funcinou aqui!!! da erro no servidor.... parece que entra em loop sei lá!! mas tem algo errado....se puder verificar e corrigir agradeço!!! aproveitando tem como se eu configurar para pegar 50 caracteres de 1 variávele no caracter 50 for a letra C da palavra: ABACATE. ao invés de mostrar a palavra abacate inteira (que pode estourar meu layout) remove ela inteira....pois a probabilidade de não estourar o layout configurado é bem maior do q simplesmente deixar mostrar a palavra enteira saca?não sei se fui claro hehehe http://forum.imasters.com.br/public/style_emoticons/default/joia.gif http://forum.imasters.com.br/public/style_emoticons/default/clap.gif []'s http://forum.imasters.com.br/public/style_emoticons/default/clap.gif http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera ajudem !!!

 

O erro

 

-------------

 

Erro de compilação do Microsoft VBScript erro '800a0401'

 

Fim da instrução esperado

 

/2004/menu.asp, line 23

 

texto = ""rsFesta2("Festa")""

 

 

 

--------------

 

ASP [/tr][tr]

 

<%

Dim resumindo

 

'Aqui você coloca o texto que quiser e pode ainda puxar dados de uma tabela também, tipo "rs_agenda("nome")"

texto = "rsFesta2("Festa")"

 

'Cria uma variavel e guarda o número de caracteres do texto acima.

numero = len(texto)

 

'Se o numero for maior que 10 caractereres (Ou o valor que você quiser) ele vai fazer:

if numero > 10 then

 

'Resume o texto, pega os 10 primeiros caracteres da esqueda pra direita do texto desejado.

textoresumido = left(texto,10)

 

'Mostra na tela o valor com o texto resumido + 3 pontinhos

response.Write ""&textoresumido&" ..."

 

'Senão

Else

 

'Mostra na Tela o texto sem 3 pontinhos se o texto for menor ou igual a 10.

response.Write texto

 

end if

 

%>

[/tr]

Compartilhar este post


Link para o post
Compartilhar em outros sites

texto = ""rsFesta2("Festa")""troca portexto = rsFesta2("Festa")

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para quem não quer partir uma palavra no meio, pode usar essa:

Function resumindo(txt,vCrt)if Len(txt) <= vCrt thenresponse.write (left(txt,vCrt))elsewhile not ul=" " or vCrt=len(txt) vExibe = left(txt,vCrt) ul= right(vExibe,1) vCrt=vCrt+1wendif vCrt=len(txt) then Response.Write(txt)else vExibe=left(vExibe,(len(vExibe)-1))&"..." Response.Write(vExibe)end ifend ifend function
É apenas um aprimoramento da função do D.Eleete!Para chamar a função é exatamente do mesmo jeito.Valeu?
Se alguém quiser uma função + enxuta, pode colocar assim...
function med(txt,qtd)if len(txt)>=qtd then med=mid(txt,1,instrrev(mid(txt,1,qtd)," ",-1,1)-1)else med=txtend ifend function

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola amigo sei que ja faz um tempao que esse topico esta no ar mas fui fazer a inclusao da funcao em meu scripot e me volta esse erro, poderia me da uma mão?

 

 

Tipo de erro:

Erro de compilação do Microsoft JScript (0x800A03EC)

';' esperado

/anjobol/default.asp, line 5, column 9

Function resumindo(txt,vCrt)

--------^

 

 

Obrigado fico no aguardo de alguma informacao.

 

 

 

LAST UPDATE: 06/08/2003

 

Salve galera, pra quem não sabe exatamente a quantidade caracteres que vai pegar do banco de dados, eu criei esta função simples....ela resume o texto num numero determinado de caracteres e coloca 3 pontos no final!

 

SEGUE:

ASP
<%
Function resumindo(txt,vCrt)
        vX = Mid(txt, 1, vCrt)
        if NOT Len(txt) <= vCrt then
                resumindo = vX & "..."
        else
                resumindo = vX
        end if
end function
%>

Para utilizar:

ASP
<%=resumindo("texto ou variavel", 3) %>

Onde 3 eh a qtidade caracteres máxima a ser exibida, após isso será inserido (...)

No caso deste exemplo, ficaria desta forma na tela: tex...

 

Quaisquer dúvidas gritem aí, mas esta eh simples :) abraço!

Primeiro....dúvidas referente a códigos devem ser postados no forum principal de Asp

segundo, o erro ocorre porque essa função foi feita para vbscript, você está usando jscript, será necessário realizar alterações para que funcione

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá, amigos tive dificuldade tb em implementar, mais como consegui gostaria de apenas explicar resumidamente para que os proximos façam direito.

 

1 - Crie o arq funcao.asp

 

ASP
function med(txt,qtd)

if len(txt)>=qtd then

med=mid(txt,1,instrrev(mid(txt,1,qtd)," ",-1,1)-1)

else

med=txt

end if

end function

 

2 - Crie o arq teste.asp

 

ASP
<%@LANGUAGE="VBSCRIPT"%>

<!--#include file="include/funcao.asp" -->

<%

texto = rs("texto")

Response.write med((texto),20)

%>

ou

<%

texto = "testando"

Response.write med((texto),20)

%>

OBS: Lembrando que o 20 e o numero e o limite de caracteres.

 

Ok, espero ter ajudado agora...

Compartilhar este post


Link para o post
Compartilhar em outros sites

não é por nada não mais alguém testou alguma dessas funções ?

 

testei as 2, e nenhuma funciona...

uma da um loop infinito ae da vida, e a outra

 

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

 

funcionou com alguém ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Usei este código:

<%
texto = (noticias.Fields.Item("texto").Value)
qtd = 200 // quantidade máxima de caracteres
response.Write("texto"),200
%>

Mas esta dando erro:

Microsoft VBScript runtime error '800a01c2'

Wrong number of arguments or invalid property assignment: 'Write'

/index.asp, line 467

 

Onde foi que errei???

Alguém pode me ajudar...

Desde já agradeço

Dudesigner

Compartilhar este post


Link para o post
Compartilhar em outros sites

sua dúvia está em continuação aqui:

http://forum.imasters.com.br/index.php?showtopic=284926

 

poste ela lá!!

vlw!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

response.Write("texto"),200

Isso ta errado mesmo

 

Deve usar a funçao criada da forma correta

 

ai parece que apenas retiraram a fucnção

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde pessoal!

 

Estou tentando fazer funcionar o limite de caracteres em minha pagina e não estou conseguindo...

 

Vocês podem me ajudar?

 

Eis o meu codigo:

 

Utilizei a programação do salgado e dei a seguinte sequencia:

 

<%

Set nt1 = Server.CreateObject("ADODB.Recordset")

nt1.Open "SELECT * from noticias order by id desc", DB

Contar = 0

Do while not nt1.Eof

Topico = nt1("Topico")

Classe1 = nt1("Classe1")

Classe = nt1("Classe")

Palavra = nt1("Palavra")

Data = nt1("Data")

Horas = nt1("Horas")

id = nt1("id")

IF Contar > 3 Then

exit do

end if

if Classe1 = "Noticias" Then

%>

<%=resumindo(nt1("Palavra", 20)) %>

 

Este é o erro que esta aparecendo:

 

Erro de tempo de execução do Microsoft VBScript erro '800a01c2'

 

Número de argumentos incorreto ou atribuição de propriedade inválida: 'nt1'

 

/fabi/pt/default.asp, line 141

 

 

Favor me ajudem!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá amigos...

<%
					contadorNov = 0
					While Not rsNovidades.EOF
				  %>
				  <tr>
					<td width="405" height="18" align="left" bgcolor="#EFEFEF" class="textoPadraoCinza" style="padding-left:5px;"><%=rsNovidades("data")%> - <a href="?id=<%=rsNovidades("id")%>&acao=ler"><%=resumindo(""&rsNovidades("texto")&"", 45) %></a>
					</td>
					<td width="25" align="center" bgcolor="#EFEFEF" class="textoPadraoCinza"><a href="?id=<%=rsNovidades("id")%>&acao=ler">+</a></td>
				  </tr>
				  <tr>
					<td height="1" colspan="2" bgcolor="#FFFFFF"></td>
				  </tr>
				  <%
				  rsNovidades.movenext
				  Wend
				  %>

Só que faço a repetição normalmente, mas qd ele começa a repetir ele nao exibe o texto nas outra linhas

É como se ele estivesse contanto os 45 caracteres de toda a repetição. ai da o total dos 45 caracteres e com isso o restante fica vazio rsrs

 

O que posso fazer para q isso não aconteça?

 

Valewww

Guto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

pode mostrar na pratica o que ocorreu?

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.