none
Salvando um Checkbox RRS feed

  • Pergunta

  • Boa noite,

    Sou iniciante nessa área.

    Fiz uma lista de checkbox que diz se já foi feito ou não aquela 'Tarefa'

    São por exemplos 10 tarefas.

    Ao completar a checkbox é acionada, porém ao fechar e abrir os dados somem.

    Como faço para gravar esses dados ?

    Já li outro topicos do forum, mas por ser extramamente novato não entendo muito bem as coisas.

    Grato.

    sexta-feira, 10 de agosto de 2012 03:57

Respostas

  • Olá Bruno,

    De onde está vindo essa lista de tarefas? De um banco de dados? De um arquivo XML? De um servico... Enfim, a informacao se a tarefa já está ou nao concluída deve ser salva no mesmo lugar onde a tarefa está armazenada...

    Ou o problema é que você nem tem um lugar com as tarefas salvas ainda? Se esse for o problema, você pode salvar essas informacoes de diversas maneiras, por exemplo:

    - Banco de dados:

    http://vb.net-informations.com/datagridview/vb.net_datagridview_database.htm

    - Arquivo XML:

    http://msdn.microsoft.com/en-us/library/bb384460.aspx


    André Alves de Lima
    Microsoft MVP - Client App Dev
    Visite o meu site: http://www.andrealveslima.com.br
    Me siga no Twitter: @andrealveslima

    sexta-feira, 10 de agosto de 2012 10:56
    Moderador
  • Bruno,

    Acredito que você não deve ter uma fonte onde está salvando a tarefa.

    Talvez você esteja apenas realizando uma tarefa e deseja marcar como tarefa concluída ou não concluída (true ou false).

    Se este for o caso, seria muito mais simples você gravar esta informação do Chekbox (true ou false) em um aquivo ini.

    Assim quando você abrir seu form que contém o checkbox, será carregada a informação (true ou false, 0 ou 1) do arquivo ini salvo e marcado ou não o chekbox.

    Seria mais ou menos assim:

    Module config
       
        Private Declare Auto Function GetPrivateProfileString Lib "Kernel32" (ByVal lpAppName As String, _
        ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As StringBuilder, _
        ByVal nSize As Integer, ByVal lpFileName As String) As Integer
        Private Declare Auto Function WritePrivateProfileString Lib "Kernel32" (ByVal lpAppName As String, _
        ByVal lpKeyName As String, ByVal lpString As String, ByVal lpFileName As String) As Integer
    
        ' Retorna o nome do arquivo INI, neste caso seu arquivo INI estará junto com seu executável
        Public Function caminhoINI() As String
            Return "\Config.ini"
        End Function
    
        ' Usa a função GetPrivateProfileString para obter os valores do arquivo ini 
        Public Function LeArquivoINI(ByVal caminhoINI As String, ByVal sessao As String, ByVal parametro As String, ByVal valor As String) As String
            GetPrivateProfileString(sessao, parametro, valor, string_builder, caminhoINI)
            Return string_builder.ToString()
            End Function
       
    	
    	'Esta função grava a informação dentro do seu arquivo INI
        Public Function gravaArquivoini(ByVal caminhoINI As String, ByVal sessao As String, ByVal parametro As String, ByVal valor As String)
            WritePrivateProfileString(sessao, parametro, valor, caminhoINI)
        End Sub

    Espero ter ajudado.

    Lembre-se:  Algo só é difícil ou complicado se você ainda não entendeu como solucionar. Busque sempre o conhecimento.

    sexta-feira, 10 de agosto de 2012 14:53

Todas as Respostas

  • Olá Bruno,

    De onde está vindo essa lista de tarefas? De um banco de dados? De um arquivo XML? De um servico... Enfim, a informacao se a tarefa já está ou nao concluída deve ser salva no mesmo lugar onde a tarefa está armazenada...

    Ou o problema é que você nem tem um lugar com as tarefas salvas ainda? Se esse for o problema, você pode salvar essas informacoes de diversas maneiras, por exemplo:

    - Banco de dados:

    http://vb.net-informations.com/datagridview/vb.net_datagridview_database.htm

    - Arquivo XML:

    http://msdn.microsoft.com/en-us/library/bb384460.aspx


    André Alves de Lima
    Microsoft MVP - Client App Dev
    Visite o meu site: http://www.andrealveslima.com.br
    Me siga no Twitter: @andrealveslima

    sexta-feira, 10 de agosto de 2012 10:56
    Moderador
  • Bruno,

    Acredito que você não deve ter uma fonte onde está salvando a tarefa.

    Talvez você esteja apenas realizando uma tarefa e deseja marcar como tarefa concluída ou não concluída (true ou false).

    Se este for o caso, seria muito mais simples você gravar esta informação do Chekbox (true ou false) em um aquivo ini.

    Assim quando você abrir seu form que contém o checkbox, será carregada a informação (true ou false, 0 ou 1) do arquivo ini salvo e marcado ou não o chekbox.

    Seria mais ou menos assim:

    Module config
       
        Private Declare Auto Function GetPrivateProfileString Lib "Kernel32" (ByVal lpAppName As String, _
        ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As StringBuilder, _
        ByVal nSize As Integer, ByVal lpFileName As String) As Integer
        Private Declare Auto Function WritePrivateProfileString Lib "Kernel32" (ByVal lpAppName As String, _
        ByVal lpKeyName As String, ByVal lpString As String, ByVal lpFileName As String) As Integer
    
        ' Retorna o nome do arquivo INI, neste caso seu arquivo INI estará junto com seu executável
        Public Function caminhoINI() As String
            Return "\Config.ini"
        End Function
    
        ' Usa a função GetPrivateProfileString para obter os valores do arquivo ini 
        Public Function LeArquivoINI(ByVal caminhoINI As String, ByVal sessao As String, ByVal parametro As String, ByVal valor As String) As String
            GetPrivateProfileString(sessao, parametro, valor, string_builder, caminhoINI)
            Return string_builder.ToString()
            End Function
       
    	
    	'Esta função grava a informação dentro do seu arquivo INI
        Public Function gravaArquivoini(ByVal caminhoINI As String, ByVal sessao As String, ByVal parametro As String, ByVal valor As String)
            WritePrivateProfileString(sessao, parametro, valor, caminhoINI)
        End Sub

    Espero ter ajudado.

    Lembre-se:  Algo só é difícil ou complicado se você ainda não entendeu como solucionar. Busque sempre o conhecimento.

    sexta-feira, 10 de agosto de 2012 14:53