Jump to content

Recommended Posts

Posted

Obrigado tirácio, pelo teu feedback.

É bom saber que funciona no Vista, apesar de não ter razões para me preocupar; afinal, estamos a falar de .Net  😛 A tua sugestão foi aplicada, mas ainda não vou lançar a versão actualizada, a ver se me lembro de alguma ideia, ou alguém sugere qualquer funcionalidade nova.

Nick antigo: softclean | Tens um projeto? | Wiki P@P

Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.

Posted

Arranja forma de perceber quando está a dar notícias e informar o user disso 😛 Outra hipótese era colocar a possibilidade de abrir logo o ballon sempre que a música mudasse.

Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum!

Posted

tirácio, acho que sabes bem que isso é algo impraticável, porque os dados não dependem de mim (para além que nem eles próprios informam isso)... E ao mudar de música mostrar o ballon, não quero abusar dos recursos do servidor, estar sempre a descarregar a página...

Isto é mesmo do género, "olha que música tão cool, deixa ver quem é que canta isto/qual o nome da música", e lá vai ele clicar no ícone para ter o resultado. Ideal ideal, era que eles metessem os nomes da faixas na web rádio da RFM, que apareceriam no VLC, por exemplo...

Nick antigo: softclean | Tens um projeto? | Wiki P@P

Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.

Posted

Não sei, visto que não têm uma API prática para isto, acho que vou deixar o esquema de informação de músicas a pedido. No entanto, se alguém quiser fazer uma versão personalizada, tem o source disponível na primeira página, primeira mensagem.

Nick antigo: softclean | Tens um projeto? | Wiki P@P

Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.

Posted

tirácio, acho que sabes bem que isso é algo impraticável, porque os dados não dependem de mim (para além que nem eles próprios informam isso)... E ao mudar de música mostrar o ballon, não quero abusar dos recursos do servidor, estar sempre a descarregar a página...

Não é impraticável, e basta jogares com os headers http. Fazes cache da música e depois perguntas ao servidor se houve alterações.

Google: If-Modified-Since http

Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum!

Posted

Estava a referir-me como impraticável o facto de "adivinhar" quando eles estão a dar notícias, uma vez que eles dizem que está a música anterior (ou a próxima, não sei bem) a tocar.

Contudo, essa ideia de verificar os cabeçalhos de HTTP parece-me bem interessante! Vou ver se faço qq coisa com isso  😛

Nick antigo: softclean | Tens um projeto? | Wiki P@P

Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.

Posted

Estava a referir-me como impraticável o facto de "adivinhar" quando eles estão a dar notícias, uma vez que eles dizem que está a música anterior (ou a próxima, não sei bem) a tocar.

Acho que dá para veres a programação numa página própria...

Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum!

Posted

Versão actualizada, entre as novidades destaco a possibilidade de pesquisar as letras das músicas no Google 😉 Links actualizados na página inicial.

Acho que dá para veres a programação numa página própria...

A página mais detalhada que encontro lá é a que tenho no primeiro post. E depois, duvido que eles digam que às horas x dá musica y, e na hora w, está a dar publicidade. Tu próprio se fores à página que indiquei tem lá uma caixa onde dá para procurar músicas, e se puseres uma data no futuro, não dá resultados.

Nick antigo: softclean | Tens um projeto? | Wiki P@P

Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.

  • 5 months later...
Posted

será q alguem é capaz de me dizer se ha isto em c#?

é q eu ainda estou a aprender c# e n qeria ir po vb, para n me atrapalhar por enquanto, será q me poderiam fornecer este source mas em c#

agradecia muito a quem me fizesse isso.    😛

Posted

Eu não sei de C#, por isso só se alguém especializado fizesse essa conversão. Mas, como olhar para o código nem sempre é aprender, podes tentar tu fazer isto, porque o que eu uso é a class WebClient, que suponho eu também estar disponível em C#, visto que ambas as linguagens partilham a .net framework 😛

Depois o resto é manipulação de strings, não apresenta muitas dificuldades, é uma maneira de veres como as páginas web funcionam e saberes onde está o conteúdo que queres.

Nick antigo: softclean | Tens um projeto? | Wiki P@P

Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.

  • 3 weeks later...
Posted

Hoje lanço a versão 1.0.3, que acrescenta uma pequena funcionalidade de copiar automaticamente o nome da música para o clipboard. Esta será a última versão deste programa, pelo que não irei desenvolver futuras versões, a não ser que se tratem de correcções de erros.

Obrigado a todos os que utilizaram este programa 😛 No caso de alguém quiser pegar na ideia, está livre de explorar e modificar/adaptar o código fonte disponível. E claro, uma referência a este tópico é sempre bem-vinda.

Cumps.

Nick antigo: softclean | Tens um projeto? | Wiki P@P

Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.

  • 1 year later...
Posted

Boas

Eu sou aluno do 12º ano do curso tecnológico de informática, e neste momento tenho que apresentar um trabalho de fim de curso.

Sendo o teu projecto de código fonte aberto, resolvi utilizar o teu código, espero que não te importes. O que basicamente quero fazer é alargar a tua ideia, implementar isto para outras rádios, um sistema para ir buscar os videoclips ao youtube, ir buscar as letras das músicas, e criar também uma espécie de relatórios das músicas que passam, etc..

Comecei por pegar no teu código, que por sinal está muito bem apresentado, mas neste momento não está a dar, pois a rfm mudou o layout da sua página, tentei corrigir, e por aquilo a funcionar, mas não consegui, é por isso que te venho pedir ajuda softclean.

Private Sub notifIcon_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles notifIcon.MouseClick
        If e.Button = Windows.Forms.MouseButtons.Left And notifIcon.Tag <> "lock" Then
            ' buscar informações pretendidas
            ' bloquear novos pedidos
            notifIcon.Tag = "lock"
            notifIcon.Icon = My.Resources.inactivo

            ' Criar o cliente que vai buscar a página
            Dim cliente As WebClient = New WebClient

            ' vamos fingir que isto é o FF ^^
            cliente.Headers.Add(HttpRequestHeader.UserAgent, "Mozilla/5.0 (Windows; U; Windows NT 5.1; pt-PT; rv:1.9) Gecko/2008052906 Firefox/3.0")
            cliente.Headers.Add(HttpRequestHeader.Accept, "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8")
            cliente.Headers.Add(HttpRequestHeader.AcceptCharset, "ISO-8859-1,utf-8;q=0.7,*;q=0.7")
            cliente.Headers.Add(HttpRequestHeader.Referer, "http://www.rfm.pt")

            ' download da página
            cliente.DownloadFile("http://www.rfm.pt/", "rfm.tmp")

            ' abrir o ficheiro
            Dim fichRFM As StreamReader = New StreamReader("rfm.tmp")
            Dim textoRFM As String = fichRFM.ReadToEnd
            fichRFM.Close()
            Kill("rfm.tmp")

            ' procurar
            Dim textoInicial As String = "<div class=""atocar"" style=""width:48px; height:14px;"" >MÚSICA:</div><div class=""atocar_scroll""><marquee behavior=""scroll"" scrolldelay=""150"">  "
            Dim textoFinal As String = "</marquee></div></div>"
            ' Dim textoFinal2 As String = "           A SEGUIR:" ' alternativa
            Dim comecaString As Integer = InStr(textoRFM, textoInicial) + textoInicial.Length - 1
            Dim comprimento As Integer = InStr(textoRFM, textoFinal) - comecaString - 1
            ' Dim comprimento2 As Integer = InStr(textoRFM, textoFinal2) - comecaString - 1
            Dim procura As String

            ' If comprimento2 < 0 Then
            procura = textoRFM.Substring(comecaString, comprimento)
            'Else
            ' procura = textoRFM.Substring(comecaString, comprimento2)
            'End If

            ' desbloquear pedidos
            notifIcon.Tag = ""
            notifIcon.Icon = My.Resources.activo

            ' mostrar as informações
            notifIcon.ShowBalloonTip(5000, "A tocar agora na RFM", procura, ToolTipIcon.Info)
        End If
    End Sub

Alterei a página onde procurar, e está a ir buscar o conteúdo de forma correcta para a string, alterei a string inicial, e a final, mas ele está a der erro, pois gera um comprimento negativo !?

A opção que tinhas como alternativa, tirei, pois neste caso já não se aplica.

Se me puderes ajudar a resolver este problema no tratamento das strings, eu agradeço.

Obrigado

Posted

Podes usar sem problemas 👍

Realmente a página mudou, e desde então não actualizei mais o projecto. Até porque já nem programo com VB.net com tanta frequência. Procura as informações nesta página:

http://www.rfm.pt/quemusicaera.aspx

Procura pelo primeiro texto:

<marquee behavior="scroll" scrolldelay="150">

(código fonte, algures na linha 88)

Daí para a frente tens o/a cantor/a. Depois disso, procuras novamente pelo mesmo texto. E daí par a frente tens o artista, Vê o código fonte da página. Eu agora estou com um pouco de pressa, mas se ainda precisares de ajuda, avisa. 👍

Cumps.

Nick antigo: softclean | Tens um projeto? | Wiki P@P

Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.

Posted

Boas

Obrigado pela ajuda. Já consegui meter o programa a trabalhar, secalhar não foi da forma mais eficiente e correcta, mas já trabalha.

Aqui vai o código:

           ' procurar artista
            Dim textoInicialA As String = "<marquee behavior=""scroll"" scrolldelay=""150"">"
            Dim textoFinalA As String = "</marquee>"
            Dim comecaStringA As Integer = (InStr(textoRFM, textoInicialA) + textoInicialA.Length - 1)
            Dim comprimentoA As Integer = (InStr(textoRFM, textoFinalA) - comecaStringA - 1)
            Dim textoRFM2 As String = textoRFM.Substring((comecaStringA + comprimentoA + 50))

            Dim t1 As String = textoRFM.Substring(comecaStringA, comprimentoA)
            Dim t2 As String = Trim(t1)
            Dim t3 As Long = (InStr(t2, "  ")) + 11
            Dim t4 As String = Trim(t2.Substring(t3))
            Dim artista As String = t4.Substring(0, ((t4.Length) - 2))

            ' procurar musica
            Dim textoInicialM As String = "<marquee behavior=""scroll"" scrolldelay=""150"">"
            Dim textoFinalM As String = "</marquee>"
            Dim comecaStringM As Integer = (InStr(textoRFM2, textoInicialM) + textoInicialM.Length - 1)
            Dim comprimentoM As Integer = (InStr(textoRFM2, textoFinalM) - comecaStringM - 1)

            Dim tt1 As String = textoRFM2.Substring(comecaStringM, comprimentoM)
            Dim tt2 As String = Trim(tt1)
            Dim tt3 As Long = (InStr(tt2, "  ")) + 11
            Dim tt4 As String = Trim(tt2.Substring(tt3))
            Dim musica As String = tt4.Substring(0, ((tt4.Length) - 2))

            Dim procura As String = artista & " - " & musica

Obrigado

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.