softklin Posted September 17, 2008 at 07:21 PM Author Report #211250 Posted September 17, 2008 at 07:21 PM 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.
djthyrax Posted September 17, 2008 at 07:40 PM Report #211263 Posted September 17, 2008 at 07:40 PM 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!
softklin Posted September 17, 2008 at 09:04 PM Author Report #211300 Posted September 17, 2008 at 09:04 PM 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.
Triton Posted September 18, 2008 at 08:56 AM Report #211343 Posted September 18, 2008 at 08:56 AM Se fizeres um query à pagina de 30 em 30 segundos, ou mesmo a cada 1 minuto, não é propriamente abusar. 😛 <3 life
softklin Posted September 18, 2008 at 09:39 AM Author Report #211347 Posted September 18, 2008 at 09:39 AM 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.
djthyrax Posted September 18, 2008 at 04:03 PM Report #211472 Posted September 18, 2008 at 04:03 PM 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!
softklin Posted September 18, 2008 at 04:51 PM Author Report #211502 Posted September 18, 2008 at 04:51 PM 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.
djthyrax Posted September 18, 2008 at 10:19 PM Report #211592 Posted September 18, 2008 at 10:19 PM 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!
softklin Posted September 19, 2008 at 04:09 PM Author Report #211757 Posted September 19, 2008 at 04:09 PM 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.
Rurru Posted February 27, 2009 at 12:54 AM Report #247022 Posted February 27, 2009 at 12:54 AM 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. 😛
softklin Posted February 27, 2009 at 09:07 AM Author Report #247040 Posted February 27, 2009 at 09:07 AM 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.
softklin Posted March 18, 2009 at 10:29 AM Author Report #251476 Posted March 18, 2009 at 10:29 AM 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.
jpaulino Posted March 18, 2009 at 11:13 AM Report #251500 Posted March 18, 2009 at 11:13 AM Eu gostei do trabalho e gostei também de como o código está organizado e comentado. Excelente iniciativa 😛
pedro_reis92 Posted June 10, 2010 at 11:57 AM Report #333283 Posted June 10, 2010 at 11:57 AM 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
softklin Posted June 10, 2010 at 12:56 PM Author Report #333301 Posted June 10, 2010 at 12:56 PM 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.
pedro_reis92 Posted June 10, 2010 at 09:03 PM Report #333438 Posted June 10, 2010 at 09:03 PM 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
softklin Posted June 10, 2010 at 09:21 PM Author Report #333447 Posted June 10, 2010 at 09:21 PM De nada. Ainda bem que o meu programa foi útil (nem que seja só por causa do conceito, visto que não funcionava 👍 ). 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.
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now