Category: [VB.NET] Dúvidas e Problemas


Alterar a metadata de mp3

Boas!
Bem resolvi brincar um bocado e tentar organizar a minha musica, de uma forma "divertida" e comecei por criar um programa que me vai buscar e guardar toda a musica que eu tenho numa pasta, e respectivas sub pastas, que eu selecione, apos isso devo conseguir alterar a informação de autor, album .... Mas aquele que mais me interessa alterar é mesmo o comentário. Mas acontecem coisas estranhas. Após alguma pesquisa descobri o CDDBControl.dll teoricamente "faz milagres". Bem o meu codigo é este:
Código: No tem permisso para visualizar links. Registar ou Login
Imports CDDBCONTROLLib
Imports System.IO
Public Class Form1
    Public Function extansa(ByVal ficheiro As IO.FileInfo) As Integer  ' Serve para filtrar e garantir que o ficheiro é de musica'
        Return (ficheiro.Extension() = ".mp3" Or ficheiro.Extension = ".wma" Or ficheiro.Extension = ".aac" Or ficheiro.Extension = ".ogg" Or ficheiro.Extension = ".ac3" Or ficheiro.Extension = ".wav")
    End Function
    Public Function precore(ByVal caminho As String) As Integer ' esta precore todos ficheiros dessa pasta e ao ser chamada recursivamente vai precorer todos os fiheiros das subpastas dessa pasta'
        Dim di As New IO.DirectoryInfo(caminho)
        Dim i As Integer = 4
        Dim fich1 As FileInfo() = di.GetFiles()
        Dim fich As FileInfo
        Dim artistas As String
        For Each fich In fich1
            If extansa(fich) Then
                'Caso seja um ficheiro de musica tenta alterar  o comentario dela.'
                Dim id3 As New CddbID3Tag
                ListBox1.Items.Add(fich.FullName)
                id3.LoadFromFile(fich.FullName, False)
                MsgBox(id3.Comments) ' comentario inicial'
                artistas = id3.Comments
                artistas = artistas & " teste"
                id3.LeadArtist = artistas ' comentario alterado'
                MsgBox(id3.Comments)
                id3.SaveToFile(fich.FullName)
                i = i + 1
            End If
        Next
        Dim fold1 As IO.DirectoryInfo() = di.GetDirectories()
        Dim fold As IO.DirectoryInfo
        For Each fold In fold1
            precore(caminho & "\" & fold.ToString)
        Next
    End Function

    Private Sub btmcarrega_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btmcarrega.Click 'Aqui seleciono a pasta onde tenho a minha musica'
        Dim folderDlg As New FolderBrowserDialog
        folderDlg.ShowNewFolderButton = False
        If (folderDlg.ShowDialog() = DialogResult.OK) Then
            precore(folderDlg.SelectedPath)
            TextBox1.Text = folderDlg.SelectedPath
        End If
    End Sub
End Class



Ele pelas mensagens de teste funciona. Mas depois se for aos detalhes do ficheiro ele apagou toda a informação que estava no comentário. Estou maluco e ja não sei como posso contornar isto. Alguma ideia?
 O mais "estúpido" é que se alterar o LeadArtist (interpretes participantes) ele ja consegue alterar com sucesso esse detalhe. Alguma ideia?!

Re: Tabelas em report!

Podes usar reporting services.


Vê alguns exemplos: No tem permisso para visualizar links. Registar ou Login

Tabelas em report!

Boas pessoal, tudo bem? Tenho um report em vb com 4 tabelas... uma inicial q m diz o nome do meu cliente e q deve ser fixa, em todas as paginas, outras 2 finais que me dizem dados referentes aos movimentos do meu cliente e que tambem devem ser fixas em todas as paginas... e uma intermedia q m diz as compras do mes dos meus clientes e q vai ser a unica d tamanho variavel... ou seja, pode caber toda na 1ª pagina como pode nao caber. o q eu queria era q a 1ª e as 2 ultimas ficassem nas paginas todas (coisa que nao sei fazer) e queria q a do meio ao preencher desse a quebra de pagina sem sobre nas outras tabelas ou sem as "empurrar" para a pagina seguinte se é q m faço entender. Alguém me pode ajudar? Obrigado.