NUNCA MAIS PASSE RAIVA POR NÃO CONSEGUIR RESOLVER UM PROBLEMA COM O EXCEL - GARANTIDO!

UNIVERSIDADE DO VBA - Domine o VBA no Excel Criando Sistemas Completos - Passo a Passo - CLIQUE AQUI

Você está em: PrincipalTutoriaisAlmirrivas : Dotnetframework002
Quer receber novidades e e-books gratuitos?

FILTRO DE TUTORIAIS:


Introdução ao .NET Framework

 

Objetivos:

 

Este parte do tutorial discute o .NET Framework e o Common Language Runtime. Também fornece introdução a sintaxe de classes, estruturas e declarações de métodos.

 

Pré-requisitos:

 

Nenhum.

 

Usando os tipos do .NET Framework na sua aplicação

 

Quando você começa a escrever uma aplicação, automaticamente você começa a fazer referência a .NET Framework Base Class Library. Você referencia ela para que a sua aplicação esteja apta para instanciar os tipos da .NET Framework Base Class Library.

 

Visual Basic .NET

 

Dim myInteger As Integer

 

Visual C#

 

int myInteger;

 

Estas linhas dizem ao Common Language Runtime para alocar a quantidade de memória apropriada para uma variável do tipo inteiro. Embora estas linhas criem a variável elas não definem um valor para ela. Você pode definir um valor usando o operador de atribuição como mostrado a seguir:

 

Visual Basic .NET

 

myInteger = 42

 

Visual C#

 

myInteger = 42;

 

Você também pode optar por definir um valor para a variável no momento de sua criação como mostrado abaixo:

 

Visual Basic .NET

 

Dim myInteger As Integer = 42

 

Visual C#

 

Int myInteger = 42;

 

Nota

 

Embora a declaração e a inicialização em uma única linha seja desencorajada no Visual Basic 6 devido a perda de performance a declaração e atribuição em uma única linha no Visual Basic .NET não gera problema de perda de performance.

 

Tipos por referência

 

Criar a instância de um tipo é um processo de dois passos. O primeiro passo é declarar a o tipo da variável, isto reservará a quantidade de memória necessária para a criação do objeto. A seguir mostramos como declarar um objeto:

 

Visual Basic .NET

 

Dim myForm As System.Windows.Forms.Form

 

Visual C#

 

System.Windows.Forms.Form myForm;

 

As linhas dizem ao runtime para reservar memória suficiente para armazenar uma variável do tipo Form e chama esta variável de myForm. Neste momento o objeto Form ainda não foi criado na memória. O segundo passo é instanciar o objeto e é mostrado nas linhas a seguir:

 

Visual Basic .NET

 

myForm = New System.Windows.Forms.Form()

 

Visual C#

 

myForm = new System.Windows.Forms.Form();

 

As linhas acima chamam o método construtor do tipo System.Windows.Forms.Form definido com a palavra chave New (new). Este construtor é um método especial que é chamado somente no início da vida do objeto. Ele contém qualquer código que seja  necessário para definir o ambiente ou os valores para que o objeto possa trabalhar. Se algum parâmetro por requisitado pelo construtor ele deve vir no final da linha entre parentêses. O exemplo a seguir mostra a declaração e a instanciação de uma classe hipotética chamada Widget que requer um parâmetro do tipo String.

 

Visual Basic .NET

 

Dim myWidget As Widget

myWidget = New Widget(“Esta string é requerida pelo construtor”)

 

Visual C#

 

Widget myWidget;

myWidget = new Widget(“Esta string é requerida pelo construtor”);

 

Se desejar pode combinar a declaração e a instanciação em um única linha de comando. Ao declarar e instanciar um objeto na mesma linha você reserva a memória para ser utilizada pelo objeto e imediatamente cria o objeto. Embora isto significasse um custo alto de performance em versões anteriores do Visual Basic para o Visual Basic .NET e para o Visual C# isto não implica em perda de performance. Os textos a seguir exemplificam o que falamos:

 

Visual Basic .NET

 

Dim myForm As New System.Windows.Forms.Form()

 

Visual C#

 

System.Windows.Forms.Form myForm = new System.Windows.Forms.Form();

 

Não importa se a variável vai armazenar valores de tipos de valor ou de tipos por referência. Ela deve ser inicializada sempre. Para campos de classes e estruturas no Visual Basic .NET os tipos são inicializados com valores padrão na declaração. Tipos numéricos (como Inteiros) e pontos flutuantes recebem zero como valor padrão. Variáveis boleanas recebem o valor False como padrão e tipos por referência recem nulo como padrão.

 

No C# as variáveis por referência recebem nulo como padrão. È recomendado que você não trabalhe com estes valores padrão. Estas variáveis não devem ser utilizadas antes de se definir um valor pra ela.

 

Usando tipos por valor e tipos por referência

 

Uma variável que armazena um tipo por valor contém todos os dados que ela representa. Uma variável que armazena um tipo por referência contém apenas o endereço do objeto que ela representa.  Diferenciar isto é muito importante. Considere o exemplo abaixo:

 

Visual Basic .NET

 

Dim x,y As Integer

x = 15

y = x

x = 30

‘ Qual é o valor de y ?

 

Visual C#

 

int x,y;

x = 15;

y = x;

x = 30;

// Qual é o valor de y ?

 

Neste exemplo duas variáveis inteiras chamadas x e y são criadas. A x é atribuído o valor 15 a y é atribuído o valor de x. Em seguida x recebe o valor 30 e uma questão é colocada: Qual é o valor de y ? A resposta para esta pergunta parece óbvia  y = 15 pois x e y são variáveis distintas e mudar o valor de uma não altera o valor da outra. Quando a linha y = x é encontrada o valor de x é copiado para y e não é criada nenhuma conexão entre x e y.

 

Esta situação muda quando a variável é do tipo por referência. Vamos reconsiderar  o exemplo acima usando um tipo por referência (Form).

 

Visual Basic .NET

 

Dim x,y As System.Windows.Forms.Form

x = New System.Windows.Forms.Form()

x.Text = “Este é o formulário 1”

y = x

x.Text = “Este é o formulário 2”

‘ Qual o valor retornado pela propriedade y.Text ?

 

Visual C#

 

System.Windows.Forms.Form x,y;

x = new System.Windows.Forms.Form();

x.Text = “Este é o formulário 1”;

y = x;

y.Text = “Este é o formulário 2.”;

// Qual o valor retornado pela propriedade y.Text ?

 

Qual o valor da propriedade y.Text ? Neste momento a resposta não parece óbvia. Como System.Windows.Forms.Form é um tipo por referência a variável x não contém um Form  e sim um ponteiro para o Form. Quando a linha y = x  é encontrada o runtime copia a referência da variável x para a variável y. Então neste momento a variável x e a y apontam para a mesma instância do Form.  Como as duas variáveis referenciama mesma instância de um objeto elas retornam o mesmo valor para a propriedade do objeto. Então  x e y retornam “Este é o formulário 2.”.

 

Os comandos Imports e Using

 

Até este momento sempre que você precisou acessar uma classe da .NET Framework Class Library  foi necessário você especificar o nome todo da classe. Por exemplo:

 

System.Windows.Forms.Form

 

Isto é chamado de nome completamente qualificado (fully-qualified name) isto significa se referenciar a classe através de todo o seu namespace. Você pode fazer seu ambiente de desenvolvimento suportar vários namespaces usando os comandos Imports (Visual Basic .NET) ou using (Visual C#). Esta técnica permite que você  se refira a classe usando apenas o nome dela e não o namespace completo. Então você pode se referir a classe System.Windows.Forms.Form  como Form. No Visual Basic .NET  o comando Imports deve ser colocado no topo do código precedendo todo e qualquer comando, exceto o Option. No Visual C# o comando using precisa ocorrer  antes de qualquer outro elemento  como class ou struct.  O exemplo abaixo demostra o uso destes comandos:

 

Visual Basic .NET

 

Imports System.Windows.Forms.Form

 

Visual C#

 

Using System.Windows.Forms.Form;

 

Se dois tipos tem um mesmo nome você deve usar o nome completo dele para evitar o conflito de nomes. Então se você vai usar o MyNameSpaceOne e o MyNameSpaceTwo ecada um contém um classe Widget você deve referenciar a classe utilizando o nome completo dela: MyNameSpaceOne.Widget ou MyNameSpaceTwo.Widget para ter certeza do resultado.

 

No C# você pode resolver este conflito criando aliases. Um alias permite que você escolha um nome para se referenciar a classe. Você pode utilizar um  alias usando o comando using. Conforme exemplo abaixo:

 

Visual C#

 

using myAlias = MyNameSpaceTwo.Widget;

 

Depois de implementar um alias você pode usá-lo representando a classe que ele referencia. Conforme exemplo abaixo:

 

Visual C#

 

//  A partir de agora você vai se referir a MyNameSpaceTwo como myAlias.

//  As linhas abaixo produzem o mesmo resulytado

MyNameSpaceTwo.Widget anotherWidget = new MyNameSpaceTwo.Widget();

myAlias anotherWidget = new myAlias();

 

Você não pode executar esta técnica no Visual Basic .NET.

 

Referenciando a bliblotecas externas

 

Você pode usar bibliotecas de classes que não fazem parte do .NET Framework Base Class Library como classes desenvolvidas por terceiros. Para acessar estas classes você precisa referenciá-las.

 

Para criar uma referência a uma biblioteca externa

 

1. No Solution Explorer clique aponte para o nó References do seu projeto

 

2. No pop-up menu selecione Add References. A caixa de diálogo Add Reference será exibida

 

3. Selecione a aba apropriada para a biblioteca que deseja referenciar. Bibliotecas .NET estão disponíveis na aba .NET. Bibliotecas COM  estão disponíveis na aba COM e projetos locais do Visual Studio .NET estão disponíveis na aba Projects.

 

4. Localize a biblioteca que deseja referenciar , aponte o ponteiro do mouse para ela e dê um duplo clique para adicioná-la a caixa de componentes selecionados. Clique no botão OK para confirmar sua escolha.

 

Quer receber novidades e e-books gratuitos?

 
 

Contato: Telefone: (51) 3717-3796 | E-mail: webmaster@juliobattisti.com.br | Whatsapp: (51) 99627-3434

Júlio Battisti Livros e Cursos Ltda | CNPJ: 08.916.484/0001-25 | Rua Vereador Ivo Cláudio Weigel, 537 - Universitário, Santa Cruz do Sul/RS, CEP: 96816-208

Todos os direitos reservados, Júlio Battisti 2001-2025 ®

LIVRO: MACROS E PROGRAMAÇÃO VBA NO EXCEL 2016 - CURSO COMPLETO E PRÁTICO

DOMINE A PROGRAMAÇÃO VBA NO EXCEL - 878 PÁGINAS - CLIQUE AQUI