jviana Posted April 7, 2012 Report Share Posted April 7, 2012 Dúvida 1: Numa listbox quando adiciono um item quero que fique um ficheiro atribuido em casa item e quero que quando cliquem no item usando o evento DoubleClick e abra o ficheiro, supõe-se que é um ficheiro .txt, como me aconselham a guardar as ligações? Num ficheiro .txt à parte, numa base de dados? Nota: Cada item tem um numero atribuido: Dúvida 2: Numa ListBox tenho um botão que adiciona itens a listbox, 4 subitems, distribuidos por 4 tabelas, mas não sei como guardar isso numa base de dados, vou usar SQL, o que me aconselham a fazer? E como? Espero que me possam ajudar. Cumps. J.Viana Learning VB.Net HTML C/C++ Link to comment Share on other sites More sharing options...
Caça Posted April 8, 2012 Report Share Posted April 8, 2012 Podes atribuir algo que te identifique que aquele item corresponde a um determinado ficheiro txt, por exemplo, podes atribuir o caminho para o txt na propriedade tag do item Que BD vais usar? Pedro Martins Não respondo a duvidas por PM Link to comment Share on other sites More sharing options...
jviana Posted April 9, 2012 Author Report Share Posted April 9, 2012 E como faço isso para todos os items? Tenho que os meter por orgem numéria. SQL, aconselham-me outra? Cumps. J.Viana Learning VB.Net HTML C/C++ Link to comment Share on other sites More sharing options...
Caça Posted April 9, 2012 Report Share Posted April 9, 2012 A medida que vais adicionando, coloca algo que te identifique na propriedade Tag, como é que estás a adicionar? Pedro Martins Não respondo a duvidas por PM Link to comment Share on other sites More sharing options...
jviana Posted April 10, 2012 Author Report Share Posted April 10, 2012 Estou a adiciona-los num -txt Cumps. J.Viana Learning VB.Net HTML C/C++ Link to comment Share on other sites More sharing options...
Caça Posted April 10, 2012 Report Share Posted April 10, 2012 Como é que estás a adicionar à ListView? Pedro Martins Não respondo a duvidas por PM Link to comment Share on other sites More sharing options...
jviana Posted April 11, 2012 Author Report Share Posted April 11, 2012 Source: Responderá às vossas perguntas Download Cumps. J.Viana Learning VB.Net HTML C/C++ Link to comment Share on other sites More sharing options...
Caça Posted April 11, 2012 Report Share Posted April 11, 2012 Afinal queres adicionar um txt por Item ou um linha do txt por Item? Porque não usas um ficheiro XML? Fica muito mais simples.. Pedro Martins Não respondo a duvidas por PM Link to comment Share on other sites More sharing options...
jviana Posted April 11, 2012 Author Report Share Posted April 11, 2012 Estava a fazer uma linha = 1 item, num ficheiro .txt. Como me aconselham a fazer Cumps. J.Viana Learning VB.Net HTML C/C++ Link to comment Share on other sites More sharing options...
Caça Posted April 11, 2012 Report Share Posted April 11, 2012 Isso vai ser um problema, usa um ficheiro XML. Pedro Martins Não respondo a duvidas por PM Link to comment Share on other sites More sharing options...
jviana Posted April 11, 2012 Author Report Share Posted April 11, 2012 Porque é que dizes isso? Vou-me informar sobre XML Cumps. J.Viana Learning VB.Net HTML C/C++ Link to comment Share on other sites More sharing options...
Caça Posted April 11, 2012 Report Share Posted April 11, 2012 Porque é muito mais fácil para actualizar apenas parte do ficheiro, alem disso a informação fica com uma mais fácil interpretação. Podias usar um ficheiro tipo isto <?xml version="1.0" encoding="utf-8" ?> <Musicas> <Musica Numero=""> <Nome></Nome> <Compositor></Compositor> <PrgUtilizado></PrgUtilizado> <Ano></Ano> <Arranjo></Arranjo> <Tipo></Tipo> <Ficheiro></Ficheiro> <Pdf></Pdf> </Musica> </Musicas> Em que um exemplo de um resultado final seria tipo <?xml version="1.0" encoding="utf-8" ?> <Musicas> <Musica Numero="1"> <Nome>Nome da Musica Nº 1</Nome> <Compositor>Compositor da Musica</Compositor> <PrgUtilizado>...</PrgUtilizado> <Ano>2012</Ano> <Arranjo>...</Arranjo> <Tipo>Psyco</Tipo> <Ficheiro>C:\aaa.ext</Ficheiro> <Pdf>C:\aaa.pdf</Pdf> </Musica> <Musica Numero="2"> <Nome>Nome da Musica Nº 2</Nome> <Compositor>Compositor da Musica</Compositor> <PrgUtilizado>...</PrgUtilizado> <Ano>2012</Ano> <Arranjo>...</Arranjo> <Tipo>Psyco</Tipo> <Ficheiro>C:\aaa.ext</Ficheiro> <Pdf>C:\aaa.pdf</Pdf> </Musica> </Musicas> Pedro Martins Não respondo a duvidas por PM Link to comment Share on other sites More sharing options...
jviana Posted April 15, 2012 Author Report Share Posted April 15, 2012 With xmlw .WriteStartElement("Música ", numero) .WriteElementString("nome", nome) .WriteElementString("compositor", compositor) .WriteElementString("programautilizado", prgutilizado) .WriteElementString("ano", ano) .WriteElementString("arranjo", arranjo) .WriteElementString("tipo", tipo) .WriteElementString("ficheiro", ficheiro) .WriteElementString("pdf", pdf) .WriteEndElement() End With Mas com isto, grava por cima dos dados anteriores, como é que eu faço para manter os antigos, e só adicionar os novos? Cumps. J.Viana Learning VB.Net HTML C/C++ Link to comment Share on other sites More sharing options...
Caça Posted April 16, 2012 Report Share Posted April 16, 2012 Deves estar a guardar por cima do que já existe. Pedro Martins Não respondo a duvidas por PM Link to comment Share on other sites More sharing options...
jviana Posted April 16, 2012 Author Report Share Posted April 16, 2012 E como faço para que isso nao aconteça? Cumps. J.Viana Learning VB.Net HTML C/C++ Link to comment Share on other sites More sharing options...
Caça Posted April 16, 2012 Report Share Posted April 16, 2012 Tens de o abrir, editar e guardar, não escrever por cima. Mostra o código. Pedro Martins Não respondo a duvidas por PM Link to comment Share on other sites More sharing options...
jviana Posted April 17, 2012 Author Report Share Posted April 17, 2012 Dim xmlw As New XmlTextWriter(xmlPath, System.Text.Encoding.UTF8) xmlw.Formatting = Formatting.Indented xmlw.WriteStartDocument() xmlw.WriteStartElement("Músicas da Banda") numero = Form1.numero numero = numero + 1 Form1.numero = numero nome = TextBox1.Text compositor = TextBox2.Text prgutilizado = TextBox3.Text ano = TextBox4.Text arranjo = TextBox5.Text tipo = TextBox6.Text ficheiro = TextBox7.Text pdf = TextBox7.Text xmlw.Formatting = Formatting.Indented With xmlw .WriteStartElement("Música ", numero) .WriteElementString("nome", nome) .WriteElementString("compositor", compositor) .WriteElementString("programautilizado", prgutilizado) .WriteElementString("ano", ano) .WriteElementString("arranjo", arranjo) .WriteElementString("tipo", tipo) .WriteElementString("ficheiro", ficheiro) .WriteElementString("pdf", pdf) .WriteEndElement() End With xmlw.WriteEndElement() ' <- config xmlw.WriteEndDocument() xmlw.Flush() xmlw.Close() Form1.ToolStripLabel1.Text = numero Me.Close() Learning VB.Net HTML C/C++ Link to comment Share on other sites More sharing options...
Caça Posted April 18, 2012 Report Share Posted April 18, 2012 Dá uma vista de olhos nesta edição da Revista PROGRAMAR http://www.revista-programar.info/?action=editions&type=viewmagazine&n=34 Pedro Martins Não respondo a duvidas por PM Link to comment Share on other sites More sharing options...
jviana Posted April 22, 2012 Author Report Share Posted April 22, 2012 Não consigo. Erro: O processo não pode aceder ao ficheiro 'C:\Users\João Viana\Desktop\Musica Banda.xml' porque está a ser utilizado por outro processo. Código: Public Sub adicionar() If TextBox1.Text = "" Or TextBox2.Text = "" Or TextBox3.Text = "" Or TextBox4.Text = "" Or TextBox5.Text = "" Or TextBox6.Text = "" Or TextBox7.Text = "" Or TextBox8.Text = "" Then MsgBox("Preencha os campos todos!", MsgBoxStyle.Critical, MsgBoxStyle.OkOnly) Exit Sub Else Dim xmlw As New XmlTextWriter(xmlPath, System.Text.Encoding.UTF8) xmlw.Formatting = Formatting.Indented xmlw.WriteStartDocument() xmlw.WriteStartElement("Músicas da Banda") numero = Form1.numero numero = numero + 1 Form1.numero = numero nome = TextBox1.Text compositor = TextBox2.Text prgutilizado = TextBox3.Text ano = TextBox4.Text arranjo = TextBox5.Text tipo = TextBox6.Text ficheiro = TextBox7.Text pdf = TextBox7.Text xmlw.Formatting = Formatting.Indented 'With xmlw '.WriteStartElement("Música ", numero) '.WriteElementString("nome", nome) '.WriteElementString("compositor", compositor) '.WriteElementString("programautilizado", prgutilizado) '.WriteElementString("ano", ano) '.WriteElementString("arranjo", arranjo) '.WriteElementString("tipo", tipo) '.WriteElementString("ficheiro", ficheiro) '.WriteElementString("pdf", pdf) '.WriteEndElement() 'End With 'xmlw.WriteEndElement() ' <- config 'xmlw.WriteEndDocument() 'xmlw.Flush() 'xmlw.Close() Dim xmlFile = XDocument.Load(xmlPath) Dim element = New XElement("Música ", _ New XAttribute("name", "XML Literals"), _ New XAttribute("author", "Jorge Paulino")) Dim parent = xmlFile...<books>.FirstOrDefault() parent.Add(element) End If End Sub Cumps. J.Viana Learning VB.Net HTML C/C++ Link to comment Share on other sites More sharing options...
Caça Posted April 22, 2012 Report Share Posted April 22, 2012 Não estás a fechar o ficheiro, estás a abrir, efectuar alterações mas não a guardar. Ao fazeres a próxima chamada como o ficheiro ainda está aberto da-te esse erro. Pedro Martins Não respondo a duvidas por PM Link to comment Share on other sites More sharing options...
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