Lendo um Arquivo TXT no VB .NET

Veremos abaixo uma forma bem rápida ler um arquivo .txt no Visual Basic[bb] .NET.

Muitas coisa são formatadas para arquivos .txt, por exemplo NFe ou algumas aplicações que geram esses arquivos para integração[bb]com outros sistemas.

Abaixo você pode ver a forma mais rápida para ler um arquivo.

Imports System.IO
Public Class Form1
    Private Sub btnCarr_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCarr.Click
        Dim texto As New StreamReader(txtCaminho.Text)
        txtArquivo.Text = texto.ReadToEnd
    End Sub
End Class

Como vocês podem ver esse é todo o código para a leitura de um arquivo.
Lógico que não há um verificação se existe o arquivo, mas com menos de 10 linhas é possível fazer a leitura.
Explicando o código.
Imports System.IO: Importa a Namespace IO que contém as classes necessárias para grande parte das entradas e saídas de texto.

Public Class Form1:  Declaração da classe do nosso formulário.

Private Sub btnCarr_Click: Declaração da procedure do clique no botão para carregar o texto.

Dim texto As New StreamReader(txtCaminho.Text):  Declara a variável texto do tipo StreamReader, classe para abertura de arquivo para leitura. Para criação da instancia é necessário passar o arquivo que será lido.

txtArquivo.Text = texto.ReadToEnd: Lê todo o arquivo e “joga” o texto no campo txtArquivo.

End Sub e End Class: Fim da procedure do botão e fim da classe do formulário, consecutivamente.

Uma outra forma é lendo linha por linha. Dessa forma você tem um controle do que está sendo lido, e pode tomar decisões a partir dai.

Imports System.IO
Public Class Form1
    Private Sub btnCarr_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCarr.Click
        Dim texto As New StreamReader(txtCaminho.Text)
        While Not texto.EndOfStream
            txtArquivo.Text &= texto.ReadLine
        End While
    End Sub
End Class

Acima vocês podem ver que a única modificação é no momento da leitura, onde um laço controla se é o final do arquivo e o nosso campo txtArquivo recebe linha a linha do arquivo.

Onde:

While Not texto.EndOfStream: Indica que enquanto não for o fim do arquivo e executada uma ação. A cada passagem pelo While,  a leitura é passada para a próxima linha.

txtArquivo.Text &= texto.ReadLine: A ação é a leitura da linha corrente.

Como criar um formulário com cantos arredondados VB .NET

Olá galera, nesse post mostrarei a vocês como deixar um formulário com os cantos arredondados, no VB .NET[bb].
Declara a função  CreateRoundRectRgn que já vem o o Windows.

Private Declare Function CreateRoundRectRgn Lib "Gdi32" (ByVal X1 As Integer, ByVal Y1 As Integer, ByVal X2 As Integer, ByVal Y2 As Integer, ByVal X3 As Integer, ByVal Y3 As Integer) As Integer

No Evento Load do formulário:

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim regionHandle As IntPtr = New IntPtr(CreateRoundRectRgn(0, 0, Me.Width, Me.Height, 20, 20))

        Me.Region = Region.FromHrgn(regionHandle)
        Region.ReleaseHrgn(regionHandle)
        Me.FormBorderStyle = FormBorderStyle.None
    End Sub

Na declaração da variável regionHandle são passados 6 parâmetros ao criar a estrutura IntPtr. Explicarei o que são esses parâmetros:

  1. A coordenada[bb]X do canto superior esquerdo. Aconselho deixar em zero, maior que isso ele vai cortar um parte do formulário.
  2. A coordenada Y do canto superior esquerdo. Aconselho deixar em zero, maior que isso ele vai cortar um parte do formulário.
  3. A coordenada X do canto inferior direito. Aconselho deixar do tamanho da largura do formulário, diferente disso ele vai cortar um parte do formulário.
  4. A coordenada Y do canto inferior direito. Aconselho deixar do tamanho da largura do formulário, diferente disso ele vai cortar um parte do formulário.

É isso ai, mais um post com o intuito de mostrar as formas de estilizar um formulário no VB .NET para deixar a sua aplicação com a cara que você quiser.
Até a próxima!

Movendo um Formulário sem Borda VB .NET

Olá galera, nesse post mostrarei para vocês os passos para permitir que você mova um formulário com a propriedade FormBorderStyle = FormBorderStyle.None.

Algumas vezes desenvolvendo uma aplicação você deseja criar um tela personalizada, certo? Então você esbarra em uma questão. Mas se eu tirar a barra de titulo como que o usuário irá movimentar a tela?

Digo-lhes agora[bb].A primeira coisa a fazer: definir como será a parte superior da sua tela. Eu decidi a minha como vocês podem ver abaixo.

A minha barra de título está bem simples, só tem o botão fechar.

Para fazê-la eu utilizei o objeto Panel e alterei a propriedade Dock para Top dessa forma ela ficará fixa na parte superior da tela.

É no Panel que trabalharemos para que o formulário seja movimentado pelo usuário, da mesma forma que ele faria com a barra de título[bb]normal.

Então vamos à programação.

A primeira coisa a fazer é criar uma Structure que nos auxiliará nas próxima etapas.

    Public Structure MoveForm
        Dim X As Integer
        Dim y As Integer
    End Structure

Onde x e y serão as coordenadas na tela.

Em seguida crie um variável que será do tipo da estrutura criada acima.

Dim move As MoveForm

Agora iremos trabralhar dois eventos do nosso Panel.

O Primeiro é o MouseDown.

    Private Sub Panel1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Panel1.MouseDown
        If e.Button <> Windows.Forms.MouseButtons.Left Then Exit Sub
        move.X = Me.Left - MousePosition.X
        move.y = Me.Top - MousePosition.Y
    End Sub

Com isso quando clicarmos e segurarmos sobre o Panel ele guardará as coordenadas do cursor. Caso não coloque esse código o cursor do mouse ficará no canto superior esquerdo do formulário.
O próximo evento é o MouseMove.

Private Sub Panel1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Panel1.MouseMove
        If e.Button <> Windows.Forms.MouseButtons.Left Then Exit Sub
        Me.Left = move.X + MousePosition.X
        Me.Top = move.y + MousePosition.Y
    End Sub

Como o próprio nome do evento indica ele executará as ações quando o mouse for movimentado.

Com isso já é possível movimentar o formulário. Você consegue colocar esse código em praticamente qualquer objeto (não testei em todos rs).

OBS: Se em algum momento nas caixas de código aparecer “&lt;&gt;” é o sinal de <>.

É isso ai nos vemos numa próxima!

Utilizando o objeto OpenFileDialog VB .NET

O componente OpenFileDialog, permite que seja aberto arquivo e exibido em algum outro objeto da sua aplicação.
Nesse artigo mostrarei alguns exemplos de utilização desse objeto. Ele é muito fácil de ser utilizado, com poucas linhas de código já podemos abrir uma imagem no formulário, como veremos no exemplo abaixo.
Abrindo uma Imagem
Para esse exemplo utilizaremos os seguinte objetos:
Button: Name btnAbri, Text Abrir;
TextBox: Name txtAbrir;
PictureBox: Name pbImagem;
Nosso formulário ficará assim:

O componente OpenFileDialog, permite que seja aberto arquivo e exibido em algum outro objeto da sua aplicação.

Nesse artigo mostrarei alguns exemplos de utilização desse objeto. Ele é muito fácil de ser utilizado, com poucas linhas de código já podemos abrir uma imagem no formulário, como veremos no exemplo abaixo.

Abrindo uma Imagem

Para esse exemplo utilizaremos os seguinte objetos:

  • Button: Name btnAbri, Text Abrir;
  • TextBox: Name txtAbrir;
  • PictureBox: Name pbImagem;

Nosso formulário ficará assim:

form

Então você edicionará o objeto principal, que o OpenFileDialog. Para isso selecione e arraste para o seu formulário. Ele ficará em uma barra logo abaixo do formulário no ambiente de desenvolvimento. Na propriedade “Name” coloque “AbrirArquivo”.

OpenFileDialog

Para que o o bjeto só apresente arquivos de imagem quando for solicitado, deveremos colocar um filtro. Para isso utilize a propriedade “Filter”. Há um padrão para a utilização dessa propriedade. Abaixo veremos alguns exemplos.

Para que o objeto só exiba arquivos de imagem utilizamos: Arquivos de Imagem|*.jpg.

Onde o texto que está antes do pipe “|”, ou seja, “Arquivos de Imagem” é o texto que é apresentado para o usuário. Após o pipe vem o filtro propriamente dito. Para o caso de arquivos de imagem utilizei “*.jpg”, ou seja, quaquer arquivo “*” com a extenção “.jpg”.

Para que a imagem escolhida pelo usuário seja exibida, é necessário escrever algumas linhas de código. Para simplificar todo o código, será colocado no objeto “btnAbrir”. Dê um duplo clique sobre ele para abrir a “Private Sub BbtnAbrir_Click”.

Abaixo veremos o código para abrir a imagem.

   Private Sub BbtnAbrir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAbrir.Click
        ' Abre a janela onde o usuário escoherá a imagem (Ver Imagem)
        AbrirArquivo.ShowDialog()
        ' Atribui o caminho da imagem que foi escolhida ao objeto txtImagem
        txtImagem.Text = AbrirArquivo.FileName
        ' Faz verificação para se certificar que o usuário escolheu uma imagem
        If Not txtImagem.Text = "" Then
            ' Caso haja conteúdo no objeto txtImagem significa que o usuário escolheu uma imagem
            ' Então atribui o caminho escolhido ao objeto pbImagem
            pbImagem.Image = System.Drawing.Bitmap.FromFile(txtImagem.Text)
        End If
    End Sub

E o resultado final é…

resultado

Você pode utilizar esse componente só para pegar o nome de um arquivo para fazer a configuração do seu sistema, abrir uma imagem como mostrado acima, um texto, ou qualquer outro tipo de arquivo que você precisar.

O artigo é isso divirtam-se e nos vemos numa próxima[bb].