Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal encontrei estação para destacar palavras ou frase de uma busca mas não estou conseguindo fazer com que ela funciona alguem tem uma luz para mim
olha o erro que dah
Tipos incompatíveis: 'palavra'
Function DestacaTexto(textoBD, n_palavras)
y = n_palavras
Alterado = textoBD
DO WHILE 0 <= y
palavra_M = UCase(palavra(y))
palavra_m = LCase(palavra(y))
palavra_Mm = UCase(MID(palavra(y),1,1)) & LCase(MID(palavra(y),2,Len(palavra(y))))
DestTexto = "<FONT style=""BACKGROUND-COLOR:#D1D1D1"" color=""#006600""><STRONG>" & palavra_M & "</STRONG></FONT>"
Alterado = Replace(Alterado,palavra_M, DestTexto)
DestTexto = "<FONT style=""BACKGROUND-COLOR:#D1D1D1"" color=""#006600""><STRONG>" & palavra_m & "</STRONG></FONT>"
Alterado = Replace(Alterado, palavra_m, DestTexto)
DestTexto = "<FONT style=""BACKGROUND-COLOR:#D1D1D1"" color=""#006600""><STRONG>" & palavra_Mm & "</STRONG></FONT>"
Alterado = Replace(Alterado, palavra_Mm, DestTexto)
y = y - 1
LOOP
DestacaTexto = Alterado
End FunctionA terceira funcção estou usando ela so se algyen digitar a palavra em maiuscula e no banco esta minuscula a palavra não aparece destacada e a 1ª e 2ª função não estou xonseguindo chmar elas.
estou usando assim para chamar a função so que não esta dando
response.write(MOME_DA_FUNÇÃO("<DIV align=justify><b>"&uf&" - "&rs("cap")&":"&rs("ver")&"</b> "&(rs("versiculo"))&"</div><br>",""&s&"") )
você pode fazer o tratamento, antes de consultar, trazendo tb os dados do bd e convertendo...
a 1º funcaun funciona certinho, só você chama-lá...
<%
Function destacaPalavras(StrTexto,StrPalavras)
'StrTexto = string do texto onde vamos pesquisar
'StrPalavras = array contendo as palavras desejadas
dim arrayPalavras
on error resume next
StrPalavras = replace(trim(StrPalavras)," ",",")
StrPalavras = replace(trim(StrPalavras),"-",",")
arrayPalavras = split(StrPalavras,",")
for j=0 to ubound(arrayPalavras)
StrTexto=Replace(StrTexto, trim(arrayPalavras(j)), "<b>"& trim(arrayPalavras(j)) &"</b>")
next
destacaPalavras = StrTextoresponse.write(destacaPalavras("Meu texto completo para procurar palavras e destacar em negrito.As palavras a ser procuradas neste texto devem estar na forma de array","completo,texto,negrito,palavras") )
%>
na 1º funcao
Basta colar essa função no início do seu código
e substituir todas as palavras UPPERCASE com sau própria
variável nome
Atualmente a função apenas colocar os termos de pesquisa
em negrito. Basta substituir o "<B>" e "</ B>" com o seu
fonte própria ou estilo CSS para torná-lo seja qual for
você deseja.
Variável definições: "searchResult"
este é o seu resultado string. As pesquisas devem existir nesta seqüência (ou então não haveria nada a realçar!)
* resultado parecido com este
Response.Write highlightQuery (RSSearchResults (" Título "))
onde RSSearchResults ( "Título") é o conjunto de registros de todos os títulos correspondentes.
Variável definições: "SEARCH_WORDS_ARRAY"
MUDAR!
este é o seu leque de pesquisas. você formatou sua busca para remover o
espaços extras, divididos cada um termo de pesquisa em separado
matriz valor.
Não deu deu certo continua o erro.
em que momento define este palavras que não encontrei
esta funçaun funciona certinho
<%
Function destacaPalavras(StrTexto,StrPalavras)
'StrTexto = string do texto onde vamos pesquisar
'StrPalavras = array contendo as palavras desejadas
dim arrayPalavras
on error resume next
StrPalavras = replace(trim(StrPalavras)," ",",")
StrPalavras = replace(trim(StrPalavras),"-",",")
arrayPalavras = split(StrPalavras,",")
for j=0 to ubound(arrayPalavras)
StrTexto=Replace(StrTexto, trim(arrayPalavras(j)), "<b>"& trim(arrayPalavras(j)) &"</b>")
next
destacaPalavras = StrTextoresponse.write(destacaPalavras("Meu texto completo para procurar palavras e destacar em negrito.As palavras a ser procuradas neste texto devem estar na forma de array","completo,texto,negrito,palavras") )
%>
apenas faça a adequacaun no seu code...
Olha essa função funcional porque estou usando ela só tem um problema porque a palavra consultada tem que ser igual a que esta no banco
Exemplo: Se eu coloco a palavra Pedro com a letra 1ª Maiuscula e no banco esta assim PEDRO não aparece destaada esse e meu problema ja usei '
consulta
Function destacaPalavras(StrTexto,StrPalavras)
'StrTexto = string do texto onde vamos pesquisar
'StrPalavras = array contendo as palavras desejadas
dim arrayPalavras
on error resume next
StrPalavras = replace(trim(StrPalavras)," ",",")
StrPalavras = replace(trim(StrPalavras),"-",",")
arrayPalavras = split(StrPalavras,",")
for j=0 to ubound(arrayPalavras)
[color="#FF0000"] StrTexto=Replace(StrTexto, UCase(MID(arrayPalavras(j),1,1)) & LCase(MID(arrayPalavras(j),2,Len(arrayPalavras(j)))),"<font color='blue'><b>"&trim(arrayPalavras(j)) &"</b></font>")[/color]
next
destacaPalavras = StrTextoAinda estou aguardando
você não respondeu o que perguntei
pq você naun converte ela antes para fazer a comparaçaun...
Mas como vou converter se eu não sei como esta escrita na banco se
1º Letra Maiuscula
2º SE A PALAVRA TODA ESTA ESCRITA EM MAIUSCULA
3 Se a palavra esta escrita em muniscula
Exemplo:
Pedro
PEDRO
pedro
>
Mas como vou converter se eu não sei como esta escrita na banco se
1º Letra Maiuscula
2º SE A PALAVRA TODA ESTA ESCRITA EM MAIUSCULA
3 Se a palavra esta escrita em muniscula
Exemplo:
Pedro
PEDRO
pedro
Show de bola Xamburzao!!!!
Funcionou direito aqui!
beleza, maravilha kker coisa tamu ae....
ela só retorna Tipos incompatíveis !!!
ou gera algum erro, poste o erro e numero,
qual o valor de 'palavra'
sempre uso essa é funciona normal...
Function highlightQuery(searchResult)
Dim searchQueryLength, startPosition, querySectionToReplace, highlightQueryTemp, SearchWordsCount
highlightQueryTemp = searchResult
SearchWordsCount = Ubound(SEARCH_WORDS_ARRAY)
For c=0 to SearchWordsCount
searchQueryLength = Len(SEARCH_WORDS_ARRAY(c))
startPosition = Instr(1,highlightQueryTemp,SEARCH_WORDS_ARRAY(c),1)
If startPosition >= 1 then
querySectionToReplace = Mid(highlightQueryTemp,startPosition,searchQueryLength)
Next
highlightQuery = highlightQueryTemp
End Function
e tem essa tb
Function destacaPalavras(StrTexto,StrPalavras)
'StrTexto = string do texto onde vamos pesquisar
'StrPalavras = array contendo as palavras desejadas
dim arrayPalavras
on error resume next
StrPalavras = replace(trim(StrPalavras)," ",",")
StrPalavras = replace(trim(StrPalavras),"-",",")
arrayPalavras = split(StrPalavras,",")
for j=0 to ubound(arrayPalavras)
if err.number <>0 then
response.write("ERRO ao destacar palavras")
Response.End()
end if
End function