VB .NET - Agenda de Contatos
Este é um programa feito na linguagem VB .NET que permite criar uma agenda de contatos.
Ela não usa banco de dados e salva os dados em um arquivo texto chamado contatos.txt.
O diferencial é que ela utiliza um componente (CButtonLib.dll) com botões de A a Z que permite classificar os nomes em ordem alfabética.
Basta clicar na aba referente à letra inicial do nome do(s) contato(s) para exibi-los no formulário:
O código do botão para salvar os dados é o seguinte:
Private Sub btnSalvar_ClickButtonArea(ByVal Sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles btnSalvar.ClickButtonArea 'valida os dados If txtNome.Text = "" Or txtEmail.Text = "" Or txtTelefone.Text = "" Then MessageBox.Show("Verifique se todos os dados foram informados", "Informação!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation) Exit Sub End If If File.Exists(strPath) Then 'define o FileStream e o StreamWriter fs = New FileStream(strPath, FileMode.Append) sw = New StreamWriter(fs) 'Define a escrita dos dados strAppend = txtNome.Text & "," & txtEmail.Text & "," & txtTelefone.Text sw.WriteLine(strAppend) 'exibe o resultado MessageBox.Show("Contato Incluído !", "Incluido com Sucesso", MessageBoxButtons.OK, MessageBoxIcon.Exclamation) 'libera sw.Close() fs.Close() sw.Dispose() fs.Dispose() Else MessageBox.Show("O arquivo não existe. Deseja criar o arquivo ?", "ERRO", MessageBoxButtons.YesNo, MessageBoxIcon.Error) If ret = Windows.Forms.DialogResult.Yes Then File.Create(strPath) 'Sucesso e o arquivo foi criado MessageBox.Show("Arquivo Criado...(contatos.txt)", "Arquivo Criado!", MessageBoxButtons.OK, MessageBoxIcon.Information) Else 'a incluir End If End If End Sub |
A leitura do arquivo contatos.txt que lê os dados e exibe no controle DataGridView é feita pelo código abaixo:
Private Sub AbrirArquivoTexto(ByVal fname As String) Dim i As Integer = 0 Dim contadorLinha As Integer = 0 Dim ts As StreamReader Dim fs As FileStream Dim sw As StreamWriter Dim sr As StreamReader Dim strArquivo As String Dim partes() As String If File.Exists(strTemp) Then File.Delete(strTemp) End If 'recria o arquivo ts = New StreamReader(File.Create(strTemp)) ts.Close() ts.Dispose() 'limpa o datagridview dgv1.SelectAll() dgv1.ClearSelection() 'inicia o contador de linha aqui Try fs = New FileStream(fname, FileMode.Open, FileAccess.Read) sw = New StreamWriter(strTemp, True) sr = New StreamReader(fs) strArquivo = sr.ReadLine() Do Until strArquivo Is Nothing partes = strArquivo.Split(",") If partes(0).StartsWith(lblLetter.Text) Then contadorLinha += 1 sw.WriteLine(strArquivo) Else 'não faz nada End If strArquivo = sr.ReadLine Loop 'libera fs.Close() sw.Close() sw.Dispose() sr.Close() Catch ex As Exception End Try If contadorLinha > 0 Then dgv1.RowCount = contadorLinha Try sr = File.OpenText(strTemp) strArquivo = sr.ReadLine() For i = 0 To dgv1.RowCount - 1 partes = strArquivo.Split(",") If partes(0).StartsWith(lblLetter.Text) Then dgv1.Rows(i).Cells(0).Value = partes(0) 'nome dgv1.Rows(i).Cells(1).Value = partes(1) 'email dgv1.Rows(i).Cells(2).Value = partes(2) 'telefone dgv1.Update() Else 'não faz nada End If strArquivo = sr.ReadLine() Next 'libera. sr.Close() sr.Dispose() Catch ex As Exception End Try Else MessageBox.Show("Não existe contato para a letra selecionada. Grave o contato para esta letra .", "Erro") End If End Sub
|
Simples assim só com o VB .NET.
Pegue projeto completo esta no SUPER DVD .NET.
Marcos 13:7
Quando, porém, ouvirdes falar em guerras e rumores de guerras, não vos perturbeis; forçoso é que assim aconteça: mas ainda não é o fim.Referências: