Usuário com melhor resposta
Salvar seleção CheckBox

Pergunta
-
Olá pessoal, sou iniciante em Visual Basic.NET e estou com uma dúvida, tenho em um form alguns checkbox, como faço para quando o usuário selecionar alguns deles, e ao clicar em OK, salve um arquivo txt informando se o checkbox foi ou não selecionado, exemplo.
CheckBox1 = True
CheckBox2 = FalseObrigado.
Abraços.
Respostas
-
Guilherme vc pode fazer assim
StreamWriter arquivoUsuario = new StreamWriter(nomeArquivo, true, System.Text.Encoding.Default); dim linha as string linha = checkbox1.checked linha += checkbox2.checked
Junior
- Sugerido como Resposta Heloisa PiresModerator sexta-feira, 13 de julho de 2012 12:56
- Marcado como Resposta Heloisa PiresModerator segunda-feira, 16 de julho de 2012 14:09
-
Uma forma é assim:
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
Dim fluxoTexto As IO.StreamWriter
Dim Data As String = Today.Now & vbCrLf
fluxoTexto = New IO.StreamWriter("C:\config.txt", True)
fluxoTexto.WriteLine(Data & "Checkbox1 = " & CheckBox1.Checked & vbCrLf & "Checkbox2 = " & CheckBox2.Checked)
fluxoTexto.Close()
End SubA saída no arquivo ficará assim por exemplo:
10/07/2012 15:59:57
Checkbox1 = True
Checkbox2 = True
- Editado RafaelForkz terça-feira, 10 de julho de 2012 19:03
- Sugerido como Resposta Heloisa PiresModerator sexta-feira, 13 de julho de 2012 12:56
- Marcado como Resposta Heloisa PiresModerator segunda-feira, 16 de julho de 2012 14:09
-
Bom....
Uma boa pratica é varrer todos os controles do form que sejam um checkbox e ver seu status.
Da forma que os colegas passaram tambem estão certo,mas aqui vou passar uma forma bem dinamica,pra caso voce adicionar mais checkbox,nao precisa nem mexer no codigo: segue
Sub salva() Dim controle As Control Dim fluxoTexto As IO.StreamWriter Try If (IO.File.Exists("C:\texto.txt") = False) Then IO.File.Create("C:\texto.txt") End If fluxoTexto = New IO.StreamWriter("C:\texto.txt", True) For Each controle In Me.Controls Dim check As CheckBox If (TypeOf controle Is CheckBox) Then check = CType(controle, CheckBox) fluxoTexto.WriteLine(check.Name & " = " & check.CheckState) End If Next fluxoTexto.Close() Catch ex As Exception MsgBox(Err.Description) End Try End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click salva() End Sub
Assim vai ficar desta maneira:
CheckBox2 = 1
CheckBox1 = 0Para que seja True ou False voce altera a linha:
fluxoTexto.WriteLine(check.Name & " = " & check.CheckState)
Para:
fluxoTexto.WriteLine(check.Name & " = " & check.Checked)
CheckBox2 = True
CheckBox1 = False
Microsoft Technology Associate (MTA)
- Editado Eduardo xUni quarta-feira, 11 de julho de 2012 02:16
- Sugerido como Resposta Heloisa PiresModerator sexta-feira, 13 de julho de 2012 12:56
- Marcado como Resposta Heloisa PiresModerator segunda-feira, 16 de julho de 2012 14:09
Todas as Respostas
-
Guilherme vc pode fazer assim
StreamWriter arquivoUsuario = new StreamWriter(nomeArquivo, true, System.Text.Encoding.Default); dim linha as string linha = checkbox1.checked linha += checkbox2.checked
Junior
- Sugerido como Resposta Heloisa PiresModerator sexta-feira, 13 de julho de 2012 12:56
- Marcado como Resposta Heloisa PiresModerator segunda-feira, 16 de julho de 2012 14:09
-
Uma forma é assim:
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
Dim fluxoTexto As IO.StreamWriter
Dim Data As String = Today.Now & vbCrLf
fluxoTexto = New IO.StreamWriter("C:\config.txt", True)
fluxoTexto.WriteLine(Data & "Checkbox1 = " & CheckBox1.Checked & vbCrLf & "Checkbox2 = " & CheckBox2.Checked)
fluxoTexto.Close()
End SubA saída no arquivo ficará assim por exemplo:
10/07/2012 15:59:57
Checkbox1 = True
Checkbox2 = True
- Editado RafaelForkz terça-feira, 10 de julho de 2012 19:03
- Sugerido como Resposta Heloisa PiresModerator sexta-feira, 13 de julho de 2012 12:56
- Marcado como Resposta Heloisa PiresModerator segunda-feira, 16 de julho de 2012 14:09
-
Bom....
Uma boa pratica é varrer todos os controles do form que sejam um checkbox e ver seu status.
Da forma que os colegas passaram tambem estão certo,mas aqui vou passar uma forma bem dinamica,pra caso voce adicionar mais checkbox,nao precisa nem mexer no codigo: segue
Sub salva() Dim controle As Control Dim fluxoTexto As IO.StreamWriter Try If (IO.File.Exists("C:\texto.txt") = False) Then IO.File.Create("C:\texto.txt") End If fluxoTexto = New IO.StreamWriter("C:\texto.txt", True) For Each controle In Me.Controls Dim check As CheckBox If (TypeOf controle Is CheckBox) Then check = CType(controle, CheckBox) fluxoTexto.WriteLine(check.Name & " = " & check.CheckState) End If Next fluxoTexto.Close() Catch ex As Exception MsgBox(Err.Description) End Try End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click salva() End Sub
Assim vai ficar desta maneira:
CheckBox2 = 1
CheckBox1 = 0Para que seja True ou False voce altera a linha:
fluxoTexto.WriteLine(check.Name & " = " & check.CheckState)
Para:
fluxoTexto.WriteLine(check.Name & " = " & check.Checked)
CheckBox2 = True
CheckBox1 = False
Microsoft Technology Associate (MTA)
- Editado Eduardo xUni quarta-feira, 11 de julho de 2012 02:16
- Sugerido como Resposta Heloisa PiresModerator sexta-feira, 13 de julho de 2012 12:56
- Marcado como Resposta Heloisa PiresModerator segunda-feira, 16 de julho de 2012 14:09
-
Pessoal, muito obrigado deu certo aqui, porém como faço para ele escrever no arquivo, porém quando for abrir o programa novamente e escrever novamente os valores, ele exclua os anteriores criados no txt ?
Abraços a todos, e obrigado pela ajuda. -
If (IO.File.Exists("C:\texto.txt")) Then IO.File.Delete("C:\texto.txt") End If
Caso o arquivo exista ele exclue,e cria um novo com:
IO.file.Create("C:\texto.txt")
Microsoft Technology Associate (MTA)
- Editado Eduardo xUni quarta-feira, 11 de julho de 2012 16:30
- Sugerido como Resposta Eduardo xUni sexta-feira, 20 de julho de 2012 11:23