Usuário com melhor resposta
Como globalizar e manipular os valores de uma variável global

Pergunta
-
Eu tenho uma aplicação no qual eu gostaria de pegar o valor de duas variáveis locais e aplica-las em variáveis globais, permitindo assim que a partir da pesquisa que o usuário realizar no sistema ele possa gerar um relatório. E pra isso gostaria de saber como faço pra criar e manipular variáveis globais.
Respostas
-
Vamos entrar no conceito OOP.
Encapsulamento:
Encapsular um valor (variavel) ajuda na segurança do seu sistema,nas transições dos dados,com o uso de propriedades,isso evita que as variavies sejam acessadas diretamente,passando por propriedades de leitura e escrita,ou propriedades ReadOnly.
Geralmente trabalhamos com Camadas onde existe todo um arranjo:
Camada de acesso:
Camada de Negocio:
Camade de Transições de dados:
Camada de acesso à dados:
Camada de Visualizção:Vamos ver Camada de Transição de dados,ou DTO (Data Transaction Object).
Exemplo:
Classe Rotwailler:
'Pacote "chachorro" onde existe varias classes diferentes porem do mesmo genero,isso ajuda na organização do projeto. Namespace Cachorro Public Class Rotwailler 'Atributos da raça Rotwailler Dim nome As String Dim idade As Integer Dim sexo As Char 'propriedades 'Leitura e escrita: Public Property pr_nome() As String Get 'Protegendo a variavel,caso ela seja requisitada,é retornado apenas o valor dela Return nome End Get Set(ByVal value As String) 'recebe o valor e guarda na variavel nome nome = value End Set End Property 'apenas leitura,nao tera como inserir os dados nessa propriedade. Public ReadOnly Property pr_idade() As Integer Get 'recebe o valor da variavel idade Return idade End Get End Property 'apenas escrita,nao tem como recuperar dados da variavel Public WriteOnly Property pr_sexo() As Char Set(ByVal value As Char) sexo = value End Set End Property End Class End Namespace
Para acessar este pacote,contendo varias classes no projeto,é preciso fazer um IMPORT:
Imports WindowsApplication1.Cachorro
Depois só acessar as propriedades.
Tentando gravar os dados em uma propriedade somente leitura é gerado um erro:Quando voce for passar as informaçoes para outro form,ou outra classe,voce precisa passar o OBJETO detentora desta variavel,e nao somente a variavel,veja:
'Instancio a classe Dim _rot As New Rotwailler 'Seto o valor na propriedade pr_nome,e pr_nome se encarrega de setar na variavel _rot.pr_nome = "Lara" 'Instancio o form2 onde existe um construtor,percebe-se que eu nao passo o valor direto,e sim o objeto contendo este valor Dim frm_2 As New Form2(_rot) 'chamo o form2 frm_2.Show()
Form2:
Imports WindowsApplication1.Cachorro Public Class Form2 Sub New(ByVal _dog As Rotwailler) InitializeComponent() Me.Text = _dog.pr_nome End Sub End Class
Resultado:
Microsoft Technology Associate (MTA)
- Marcado como Resposta Harley AraujoModerator segunda-feira, 23 de julho de 2012 11:12
Todas as Respostas
-
-
Vamos entrar no conceito OOP.
Encapsulamento:
Encapsular um valor (variavel) ajuda na segurança do seu sistema,nas transições dos dados,com o uso de propriedades,isso evita que as variavies sejam acessadas diretamente,passando por propriedades de leitura e escrita,ou propriedades ReadOnly.
Geralmente trabalhamos com Camadas onde existe todo um arranjo:
Camada de acesso:
Camada de Negocio:
Camade de Transições de dados:
Camada de acesso à dados:
Camada de Visualizção:Vamos ver Camada de Transição de dados,ou DTO (Data Transaction Object).
Exemplo:
Classe Rotwailler:
'Pacote "chachorro" onde existe varias classes diferentes porem do mesmo genero,isso ajuda na organização do projeto. Namespace Cachorro Public Class Rotwailler 'Atributos da raça Rotwailler Dim nome As String Dim idade As Integer Dim sexo As Char 'propriedades 'Leitura e escrita: Public Property pr_nome() As String Get 'Protegendo a variavel,caso ela seja requisitada,é retornado apenas o valor dela Return nome End Get Set(ByVal value As String) 'recebe o valor e guarda na variavel nome nome = value End Set End Property 'apenas leitura,nao tera como inserir os dados nessa propriedade. Public ReadOnly Property pr_idade() As Integer Get 'recebe o valor da variavel idade Return idade End Get End Property 'apenas escrita,nao tem como recuperar dados da variavel Public WriteOnly Property pr_sexo() As Char Set(ByVal value As Char) sexo = value End Set End Property End Class End Namespace
Para acessar este pacote,contendo varias classes no projeto,é preciso fazer um IMPORT:
Imports WindowsApplication1.Cachorro
Depois só acessar as propriedades.
Tentando gravar os dados em uma propriedade somente leitura é gerado um erro:Quando voce for passar as informaçoes para outro form,ou outra classe,voce precisa passar o OBJETO detentora desta variavel,e nao somente a variavel,veja:
'Instancio a classe Dim _rot As New Rotwailler 'Seto o valor na propriedade pr_nome,e pr_nome se encarrega de setar na variavel _rot.pr_nome = "Lara" 'Instancio o form2 onde existe um construtor,percebe-se que eu nao passo o valor direto,e sim o objeto contendo este valor Dim frm_2 As New Form2(_rot) 'chamo o form2 frm_2.Show()
Form2:
Imports WindowsApplication1.Cachorro Public Class Form2 Sub New(ByVal _dog As Rotwailler) InitializeComponent() Me.Text = _dog.pr_nome End Sub End Class
Resultado:
Microsoft Technology Associate (MTA)
- Marcado como Resposta Harley AraujoModerator segunda-feira, 23 de julho de 2012 11:12