• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Caya

Guardar alterações

11 mensagens neste tópico

Se eu durante a execução de um programa, adicionar items a um menustrip, como os gravo para que estejam lá quando o programa for executado outra vez?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Olá,

Vai ao My Project - Setting  e adicionas um novo setting

Name: MenuStrip

Type: String

Scope: User

Depois no código fazes o seguinte para gravar:

My.Settings.MenuStrip = "NomeDoMenu"

My.Settings.Save()

Para ler utilizas:

Debug.Print(My.Settings.MenuStrip.ToString())

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

este exemplo tb se aplica para quando se quer guardar alteraçoes sobre o estado dos botoes. por exemplo.

Se fizer "check" e depois ligar o programa apareca check..

obrigado pessoal

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Esta função serve para guardar setting do programa. Nas versões anteriores era necessário recorrer a ficheiros auxiliares, como os ficheiros INI's e manipula-los via API's ou então guardar estas informações no registry.

As duas opções são pouco práticas e o .NET veio resolver isso através dos settings e dos ressources (semelhante aos settings mas read only)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

pois mas onde devo por o codigo? assim?

Private Sub Opcoes_FormClosing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing

        My.Settings.CheckedListBox1 = "CheckedListBox1"

        My.Settings.Save()

    End Sub

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Podes obviamente colocar assim, mas normalmente existe um botão para guardar as alterações e fazer o reset das mesmas. A parte da gravação fazes dessa maneira e a parte do reset fazes: My.Settings.Reset().No entanto isto depende da organização do programa.

É importante definir sempre um valor inícial de todos os setting.

Mas o que queres guardar ??? Não é a lista do que está seleccionado ?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Podes obviamente colocar assim, mas normalmente existe um botão para guardar as alterações e fazer o reset das mesmas. A parte da gravação fazes dessa maneira e a parte do reset fazes: My.Settings.Reset().No entanto isto depende da organização do programa.

É importante definir sempre um valor inícial de todos os setting.

Mas o que queres guardar ??? Não é a lista do que está seleccionado ?

sim, tenho uma CheckedListBox com uma lista dos dias de semana. queria guardar o que foi check depois de fechar o programa..

Assim quando liga-lo, tenho lá os ultimos checks que o utilizador fez...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ei ... coloquei três pontos de interrogação e apareceu um smile!  :P

Tens de fazer +/- isto:

       ' Gravar
        Dim result As String = Nothing
        For Each str As String In Me.CheckedListBox1.CheckedItems
            result &= str + ";"
        Next
       ' GRAVAR NOS SETTINGS
      

        ' Ler
        ' LER DOS SETTINGS
        Dim read() As String = result.Split(";")
        For x As Byte = 0 To read.Length - 1
            Debug.Print(read(x))
        Next

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ei ... coloquei três pontos de interrogação e apareceu um smile!  :P

Tens de fazer +/- isto:

       ' Gravar
        Dim result As String = Nothing
        For Each str As String In Me.CheckedListBox1.CheckedItems
            result &= str + ";"
        Next
       ' GRAVAR NOS SETTINGS
      

        ' Ler
        ' LER DOS SETTINGS
        Dim read() As String = result.Split(";")
        For x As Byte = 0 To read.Length - 1
            Debug.Print(read(x))
        Next

gravo ao sair form closing

e carrego no load...

mas o que devo por nos settings

name?

type?

Scope? e value?

Dim read() As String = result.Split(";")    (diz que o result nao está declarado)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Experimenta assim:

    Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
        Dim result As String = Nothing
        For Each str As String In Me.CheckedListBox1.CheckedItems
            result &= str + ";"
        Next
        My.Settings.CheckedListBox1 = result
        My.Settings.Save()
    End Sub


    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Me.CheckedListBox1.CheckOnClick = True

        Dim result As String = My.Settings.CheckedListBox1.ToString
        If result <> String.Empty Then
            Dim read() As String = result.Split(";")
            For x As Byte = 0 To read.Length - 2
                With Me.CheckedListBox1
                    .SetItemChecked(.FindString(read(x)), True)
                End With
            Next
        End If
    End Sub

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora