D3POD Posted June 2, 2012 at 10:15 PM Report #459907 Posted June 2, 2012 at 10:15 PM Boas pessoal, estou a trabalhar num projecto o qual já me trouxe algumas dúvidas e que as tenho colocado aqui. Agora surgiu-me um pequeno problema... Eu tenho um form onde tenho 3 textbox e um botão... O que pretendo é criar neste form uma espécie de menu configurações... Nestes textbox's pretendo atribuir valores e guarda-los utlizando o botão, para depois utilizar esses valores em várias partes do projecto. Como posso guardar esses valores? Também gostava de os guardar e quando acede-se novamente ao form puder alterar e guardar outra vez substituindo os antigos valores. Existe maneira de o fazer sem ser necessário uma bd? Sei que com uma bd consigo fazê-lo, mas isso iria tornar o programa mais pesado e mais um recurso utilizado... certo? Obrigado desde já pela vossa ajuda 😉
Solution jpaulino Posted June 2, 2012 at 10:30 PM Solution Report #459911 Posted June 2, 2012 at 10:30 PM Podes usar os settings https://wiki.portugal-a-programar.pt/dev_net/vb.net/settings/
D3POD Posted June 2, 2012 at 11:50 PM Author Report #459930 Posted June 2, 2012 at 11:50 PM Obrigado jpaulino, era mesmo isso 😉 Cumprimentos
D3POD Posted June 3, 2012 at 06:19 PM Author Report #460042 Posted June 3, 2012 at 06:19 PM Boas, estou aqui com um problema. Estava tudo a funcionar na perfeição, testei muitas vezes e estava tudo a funcionar. Até que continuei a desenvolver e nunca mais me preocupei até agora que decidi compilar e fui acertar os cambios e dei com o erro... O que acontece é que eu defino um valor e quando saiu do form e volto a entrar (mesmo sem sair da aplicação) os valores estão novamente os default. Devo ter feito algum problema aqui no meio do código, mas deixo-vos aqui o código do salvar que em principio será daqui... Public Class Form3 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 'Gravar valores dos cambios kuanza If Label3.Text = "Kuanza" Then With My.Settings .dolar1 = TextBox2.Text .euro1 = TextBox1.Text .Save() End With 'Gravar valores dos cambios dolar ElseIf Label3.Text = "Dólar" Then With My.Settings .euro = TextBox2.Text .kuanza = TextBox1.Text .Save() End With 'Gravar valores dos cambios euro ElseIf Label3.Text = "Euro" Then With My.Settings .dolar2 = TextBox2.Text .kuanza2 = TextBox1.Text .Save() End With End If Close() Form1.Show() Form1.eurocheck.Enabled = True Form1.kuanzacheck.Enabled = True Form1.dolarcheck.Enabled = True End Sub End Class Alguém me consegue dar uma ajuda? Cumprimentos
jpaulino Posted June 3, 2012 at 09:08 PM Report #460105 Posted June 3, 2012 at 09:08 PM Onde colocas o que tens nos settings (guardado) no form? Devias ter algo como: TextBox1.Text = My.Settings.kuanza2 Ah, e altera do nome das textboxes para txtKuanza2, etc.
D3POD Posted June 3, 2012 at 09:25 PM Author Report #460117 Posted June 3, 2012 at 09:25 PM (edited) Já fiz as alterações... e continua a não dar. Mas mesmo da outra forma chegou a funcionar, mas agora é que falhou :S O código parece me igual, agora será que com outra instrução noutra parte do programa posso estar a criar algum conflito no save? Edit1: O consultar os valores está certo... fui aos settings e alterei lá os valores e fez bem o cambio com os novos valores default... Portanto o problema está no gravar :S Edited June 3, 2012 at 09:31 PM by D3POD
jpaulino Posted June 3, 2012 at 09:36 PM Report #460125 Posted June 3, 2012 at 09:36 PM Onde colocas os valores gravados nas textboxes? Mostra lá o código.
D3POD Posted June 3, 2012 at 09:41 PM Author Report #460129 Posted June 3, 2012 at 09:41 PM Ui espera... em lado nenhum :S Eu tenho o código como coloquei a cima... agora com as alterações que falas-te. Mas já funcionou como está a cima... Mas não defini nenhum sitio onde gravar os dados... pois no tutorial apenas diz para Abrir o Visual Studio (eu uso o 2008) > Project > Application Properties > Settings eu fui a esta opção e coloquei o que pretendia e depois mencionei no botão save e no converter (onde utilizo os valores)...
D3POD Posted June 5, 2012 at 04:22 PM Author Report #460593 Posted June 5, 2012 at 04:22 PM Ninguém me consegue dar uma ajuda ?
jpaulino Posted June 5, 2012 at 07:29 PM Report #460669 Posted June 5, 2012 at 07:29 PM Ninguém me consegue dar uma ajuda ? Tu disseste no post anterior que já funcionou ... assim é complicado!!! E código? Não estás a mostrar nada.
D3POD Posted June 5, 2012 at 08:31 PM Author Report #460685 Posted June 5, 2012 at 08:31 PM (edited) lol eu disse que já funcinou, mas foi da outra maneira 😛 Mas deixou de dar... O que estou a tentar explicar é que consegui com o tutorial por a funcionar mas agora deixou de fazer o .save. Vou colocar o código que tenho: Public Class Form3 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 'Gravar valores dos cambios kuanza If Form1.kuanzacheck.Checked = True Then With My.Settings TextBox2.Text = My.Settings.dolar1 TextBox1.Text = My.Settings.euro1 .Save() End With 'Gravar valores dos cambios dolar ElseIf Form1.dolarcheck.Checked = True Then With My.Settings TextBox2.Text = My.Settings.euro TextBox1.Text = My.Settings.kuanza .Save() End With 'Gravar valores dos cambios euro ElseIf Form1.eurocheck.Checked = True Then With My.Settings TextBox2.Text = My.Settings.dolar2 TextBox1.Text = My.Settings.kuanza2 .Save() End With End If Me.Close() Form1.Show() Form1.eurocheck.Enabled = True Form1.kuanzacheck.Enabled = True Form1.dolarcheck.Enabled = True End Sub End Class Este é o código todo do form onde tenho o .save Isto deve ser uma coisa básica, mas estou a dar com a cabeça num 8 😛 Obrigado 😉 Edited June 6, 2012 at 08:35 AM by Caça
jpaulino Posted June 5, 2012 at 08:35 PM Report #460687 Posted June 5, 2012 at 08:35 PM Parece-me estar bem ... porque dizes que não grava? Como verificas? Como mostras depois os valores nas textboxes ?
D3POD Posted June 5, 2012 at 08:42 PM Author Report #460689 Posted June 5, 2012 at 08:42 PM (edited) Pois não funciona mesmo... Sei que não funciona porque antes colocava os valores e fazia gravar... quando lá voltava estava então os valores que coloquei por ultimos. Agora deixou de fazer... Eu não mostro os valores, basta lá voltar 😉 Se realmente fica-se gravado, eu ao ir ao settings devia ver lá os valores novos certo? Por exemplo (acho que é isto que queres ver) para ir para o tal form onde coloco os valores uso isto... Private Sub DólarToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles DólarToolStripMenuItem.Click Form3.Label1.Text = "Kuanza" Form3.Label2.Text = "Euro" Form3.Label3.Text = "Conversão para Dólar" With My.Settings Form3.TextBox1.Text = .kuanza Form3.TextBox2.Text = .euro End With dolarcheck.Checked = False Form3.Show() End Sub Este é referente apenas ao euro... mas tenho mais dois ToolStripMenuItem para os dolares e para os kuanzas... Edited June 6, 2012 at 08:35 AM by Caça
D3POD Posted June 10, 2012 at 01:38 PM Author Report #461759 Posted June 10, 2012 at 01:38 PM Ninguém? Continuo sem perceber onde cometi erro? :S
D3POD Posted June 12, 2012 at 06:09 PM Author Report #462334 Posted June 12, 2012 at 06:09 PM Uma vez que ninguém me sabe ajudar com este problema no my.settings, será que há outra maneira?
jpaulino Posted June 12, 2012 at 07:12 PM Report #462343 Posted June 12, 2012 at 07:12 PM Uma vez que ninguém me sabe ajudar com este problema no my.settings, será que há outra maneira? Eu ainda não consegui entender o que é que não trabalha !!!! Ainda não disseste isso claramente.
D3POD Posted June 13, 2012 at 09:29 AM Author Report #462419 Posted June 13, 2012 at 09:29 AM Não guarda os valores... Quando eu coloco os valores e faço guardar esses novos valores deveriam ficar guardados para quando eu os utilizar para converter as moedas ele fazer as contas com esses valores. Mas não está a acontecer... ele não guarda os valores e fica sempre os valores que introduzi na tabela dos settings
jpaulino Posted June 13, 2012 at 10:41 AM Report #462434 Posted June 13, 2012 at 10:41 AM Estás a fazer qualquer coisa mal de certeza! Faz o seguinte teste: 1 - Cria um novo form 2 - Cria um novo setting com o nome "teste", com o tipo "string" e scope "user" 3 - Adiciona dois botões com os nomes btnGravaValor e btnMostraValor 4 - Usa este código e testa: Public Class Form1 Private Sub btnGravaValor_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnGravaValor.Click My.Settings.teste = Now.ToString My.Settings.Save() End Sub Private Sub btnMostraValor_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnMostraValor.Click MessageBox.Show(My.Settings.teste) End Sub End Class
D3POD Posted June 13, 2012 at 01:31 PM Author Report #462467 Posted June 13, 2012 at 01:31 PM Boas, com o que me pedis-te ao visualizar montra-me a data... ou seja grava o valor Data e Hora... e grava bem... porque se repetir o processo os segundos e minutos variam...
jpaulino Posted June 13, 2012 at 01:38 PM Report #462477 Posted June 13, 2012 at 01:38 PM Então é só veres o que está diferente no teu programa porque, como podeste testar, funciona. Deves estar a fazer qualquer coisa mal.
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