terça-feira, 19 de julho de 2016

VB.net - Habilitando e desabilitando controles automaticamente

Olá PessoALL,

acabei de desenvolver esta rotina e acho que pode ser bem útil para muitos desenvolvedores, ela consiste em habilitar e desabilitar os controles de um formulário automaticamente, está rotina deve ser colocada dentro de um módulo, verifiquem e deixem seus comentários.

Boa sorte.


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
Module Bloquear    
    Public Sub BloquearCamposTela(pForm As Form, pTipoCampo() As String, pStatus As Boolean, pExcecoes() As String)
        'Utilização
        '----------
        'Bloqueia ou libera os campos da de um formulário passado como parâmentro (pForm)
        'Os campos que não podem ser bloqueados devem ser inseridos como array no parâmetro pExcecoes utilizando o seu nome
        'Deve ser informado se os campos serão bloqueados ou liberados no parâmetro pStatus

        'Parâmetros
        '----------
        'pForm: Form - Formulário que possui os controles 
        'pTipoCampo: Array - Contém os nomes dos controles [windows.forms] ex: {"TextBox","ListBox"}
        'pStatus: Booleano - Status da propriedade enabled dos controles, "True" Bloqueia e "False" não faz nada
        'pExcecoes: Array - Contém os nomes do controles [propriedade name] ex: {"Txt_Nome_Usuario","Btn_Salvar"}

        'Exemplo
        '-------
        'BloquearCamposTela(Me, {"TextBox", "ListBox", "Button"}, True, {"Txt_Nome_Usuario","Btn_Salvar"})
        'No exemplo acima serão bloqueados todos os objetos TextBox, ListBox e Button
        'e não bloquear os controles cujo nome sejam Txt_Nome_Usuario e Btn_Salvar
        '------------------------------------------------------------------------------
        Dim NaoBloqueia As Boolean

        For Each Ctl As Control In pForm.Controls
            NaoBloqueia = False
            For x = 0 To pExcecoes.Count - 1
                If UCase(Ctl.Name) = UCase(pExcecoes(x)) Then
                    NaoBloqueia = True
                End If
            Next
            If Not NaoBloqueia Then
                vCtlName = UCase(Ctl.GetType.Name)
                'Pesquiso se no array pTipoCampo a existência do controle encontrado
                '-------------------------------------------------------------------
                Dim Encontrou As String = Array.Find(pTipoCampo, AddressOf EncontrarNoArray)

                If Encontrou <> Nothing Then
                    Ctl.Enabled = Not pStatus
                End If
                '-------------------------------------------------------------------
            End If
        Next
    End Sub

    Public Function EncontrarNoArray(ByVal pStr As String) As Boolean
        'Exemplo:
        'Dim Encontrou As String = Array.Find(pTipoCampo, AddressOf EncontrarNoArray)
        'If Encontrou <> Nothing Then
        '    <code...>
        'End If
        'Onde pTipoCampo é um array
        '----------------------------------------------------------------------------
        Return IIf(UCase(pStr).EndsWith(vCtlName), True, False)
    End Function

End Module

VB.net - Habilitando e desabilitando controles automaticamente

Olá PessoALL,

acabei de desenvolver esta rotina e acho que pode ser bem útil para muitos desenvolvedores, ela consiste em habilitar e desabilitar os controles de um formulário automaticamente, está rotina deve ser colocada dentro de um módulo, verifiquem e deixem seus comentários.

Boa sorte.


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
Module Bloquear    
    Public Sub BloquearCamposTela(pForm As Form, pTipoCampo() As String, pStatus As Boolean, pExcecoes() As String)
        'Utilização
        '----------
        'Bloqueia ou libera os campos da de um formulário passado como parâmentro (pForm)
        'Os campos que não podem ser bloqueados devem ser inseridos como array no parâmetro pExcecoes utilizando o seu nome
        'Deve ser informado se os campos serão bloqueados ou liberados no parâmetro pStatus

        'Parâmetros
        '----------
        'pForm: Form - Formulário que possui os controles 
        'pTipoCampo: Array - Contém os nomes dos controles [windows.forms] ex: {"TextBox","ListBox"}
        'pStatus: Booleano - Status da propriedade enabled dos controles, "True" Bloqueia e "False" não faz nada
        'pExcecoes: Array - Contém os nomes do controles [propriedade name] ex: {"Txt_Nome_Usuario","Btn_Salvar"}

        'Exemplo
        '-------
        'BloquearCamposTela(Me, {"TextBox", "ListBox", "Button"}, True, {"Txt_Nome_Usuario","Btn_Salvar"})
        'No exemplo acima serão bloqueados todos os objetos TextBox, ListBox e Button
        'e não bloquear os controles cujo nome sejam Txt_Nome_Usuario e Btn_Salvar
        '------------------------------------------------------------------------------
        Dim NaoBloqueia As Boolean

        For Each Ctl As Control In pForm.Controls
            NaoBloqueia = False
            For x = 0 To pExcecoes.Count - 1
                If UCase(Ctl.Name) = UCase(pExcecoes(x)) Then
                    NaoBloqueia = True
                End If
            Next
            If Not NaoBloqueia Then
                vCtlName = UCase(Ctl.GetType.Name)
                'Pesquiso se no array pTipoCampo a existência do controle encontrado
                '-------------------------------------------------------------------
                Dim Encontrou As String = Array.Find(pTipoCampo, AddressOf EncontrarNoArray)

                If Encontrou <> Nothing Then
                    Ctl.Enabled = Not pStatus
                End If
                '-------------------------------------------------------------------
            End If
        Next
    End Sub

    Public Function EncontrarNoArray(ByVal pStr As String) As Boolean
        'Exemplo:
        'Dim Encontrou As String = Array.Find(pTipoCampo, AddressOf EncontrarNoArray)
        'If Encontrou <> Nothing Then
        '    <code...>
        'End If
        'Onde pTipoCampo é um array
        '----------------------------------------------------------------------------
        Return IIf(UCase(pStr).EndsWith(vCtlName), True, False)
    End Function

End Module

domingo, 17 de julho de 2016

VB.Net Criando um novo arquivo

Este exemplo cria um arquivo de texto vazio no caminho especificado usando o método Create na classe File.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
Imports System
Imports System.IO
Imports System.Text

Module Module1

    Sub Main()
        Dim path As String = "c:\temp\MyTest.txt"

        ' Create or overwrite the file.
        Dim fs As FileStream = File.Create(path)

        ' Add text to the file.
        Dim info As Byte() = New UTF8Encoding(True).GetBytes("This is some text in the file.")
        fs.Write(info, 0, info.Length)
        fs.Close()
    End Sub

End Module
Related Posts Plugin for WordPress, Blogger...