Exemplo Aplicação 4 – Varios Forms em um único Projeto

 

Boa tarde Pessoal!!!

O Exemplo de Aplicação de hoje, consiste em mostrar o uso de mais de um Form(Formulario) em um único Projeto.  Veja abaixo em que consiste a Aplicação:

ex4img7

Aplicação em Execução - Clique para ampliar

A aplicação consiste em 1 Menu Principal, 1 Formulario que faz o calculo da Area de um retangulo, e 1 Formulário que faz a concatenação de um Nome.

OBSERVAÇÃO 1:

Para criar mais forms(Formulários) dentro do mesmo projeto além do Form que já vem criado por default no VB, basta clicar no menu principal do VB.NET 2005 em Project> Add Windows Form, selecionar Windows Form, dar um nome, e clicar em Add.

Layout  (FrmArea)

ex4img2

Layout Form que calcula área do retangulo - Clique p/ Ampliar

Código (FrmArea):


ex4img5

Código do frmArea - Clique para Ampliar

O código do Formulario “frmArea”, é feito em dois botões:

  • No botão “btnCalcular” (Evento Click) é feito o Código para Calcular;
  • No botão “btnLimpar” (Evento Click) é feito o código para limpar as Caixas de Texto

“btnCalcular“:

1º Linha: É declarada a variável “Base”, do tipo Inteiro pois ira armazenar um numero inteiro, que no caso será a Base do retangulo;

2º Linha: É declarada a variável “Altura”, do tipo Inteiro pois ira armazenar um numero inteiro, que no caso será a Altura do retangulo;

3ºLinha: É declarada a variável “Área”, tmbém do tipo inteiro, que irá armazenar o resultado do calculo da Base x Altura.

4ºLinha: É especificado que dado será armazenado na variável “Base”, que no caso é o conteudo que for digitado na “txtBase”.

Repare que é feito uma conversão para inteiro do conteudo de “txtBase”. Porque é feito isso???

Resposta: Essa conversão é necessária porque o componente TextBox manipula apenas strings(Texto), e como desejamos fazer um calculo precisamos converter o texto para um numero, no caso um numero inteiro, pois a variavel “Base” foi definida como tipo Inteiro, e como queremos armazenar nela o conteudo do txtBase, precisamos converter o conteudo do txtBase  para o mesmo tipo da variavel.

Assim temos:      Base = Cint(txtBase.text)

Obs.: O “.Text”, é a propriedade que estamos manipulando, que é a propriedade Texto, ou seja, estamos convertendo o Texto, para Inteiro, para isso usa-se “Cint”.

Veja mais sobre variáveis e conversões clicando aqui!

5º Linha: É o mesmo caso da 4ºlinha. É especificado que dado será armazenado na variável “Altura”, que no caso é o conteudo que for digitado na “txtAltura”.

Repare que também é feito uma conversão para inteiro do conteudo de “txtAltura”, pelo mesmo motivo da 4º Linha, como queremos fazer um calculo com o que for informado no mesmo, precisamos converter seu conteudo para Inteiro, que é o mesmo tipo da variavel em que queremos armazenar (Altura).

6ºLinha: Nesta linha é armazenado na variável “Area”, o resultado da Multiplicação da Base pela Altura, que seria o calculo da Área.

7ºLinha: Esta linha é composta por uma MsgBox, que serve para exibir o resultado. Em sua sintaxe é feita uma concatenação de strings: “A Area do retangulo é: ” +  o resultado convertido para string(pois a MsgBox só manipula strings) que esta armazenado na variavel “Area” que é do tipo inteiro.

Para ver mais sobre a sintaxe da MsgBox Clique Aqui!


“btnLimpar”:

Como queremos clicar no botão “Limpar”, e Limpar as caixas de texto, codificamos no Evento Click do btnLimpar as seguintes linhas.

1º Linha: Atribui vazio (“”), à txtBase.Text;

2ºLinha: Atribui vazio (“”), à txtAltura.Text;

Repare que quando queremos limpar o conteudo de algum componente que manipula Strings, basta atribuirmos vazio (“” – Abre e fecha aspas) ao mesmo.


Layout (frmNome):

ex4img3

Layout do frmNome - Clique para ampliar

Código (frmNome):

ex4img4

Código do frmNome - Clique para ampliar

O código do Formulario “frmNome”, é feito em dois botões:

  • No botão “btnConcatenar” (Evento Click) é feito o Código para Concatenar as partes do Nome;
  • No botão “btnLimpar” (Evento Click) é feito o código para limpar as Caixas de Texto, e a Label que exibe o Nome concatenado.

“btnConcatenar”:

1ºLinha: É definida a variável “Nome1” do tipo String, pois será armazenado nela o “1ºNome” que é um conteudo Texto;

2ºLinha: É definida a variável “NomeMeio” do tipo string, pois será armazenado nela o “Nome do meio” que é um conteudo Texto;

3ºLinha: É definida a variável “Sobrenome”, do tipo string, pois será armazenado nela o “Sobrenome” que é um conteudo Texto;

4º Linha: É especificado que dado será armazenado na variável “Nome1”, que no caso é o conteudo que for digitado na “txtNome1”. Nesse caso não precisa-se fazer nenhuma conversão, pois a variavel é String e o tipo do dado que vai ser armazenado na mesma, também já é String,isso  pelo fato de se usar a propriedade (.Text) do txtSobrenome, que serve para pegar o conteudo Texto do componente.

5ºLinha: É especificado que dado será armazenado na variável “NomeMeio”, que no caso é o conteudo que for digitado na “txtMeio”. Nesse caso não precisa-se fazer nenhuma conversão, pois a variavel é String e o tipo do dado que vai ser armazenado na mesma, também já é String, isso  pelo fato de se usar a propriedade (.Text) do txtSobrenome, que serve para pegar o conteudo Texto do componente.

6ºLinha: É especificado que dado será armazenado na variável “Sobrenome”, que no caso é o conteudo que for digitado na “txtSobrenome”. Nesse caso não precisa-se fazer nenhuma conversão, pois a variavel é String e o tipo do dado que vai ser armazenado na mesma, também já é String, isso  pelo fato de se usar a propriedade (.Text) do txtSobrenome, que serve para pegar o conteudo Texto do componente.

7ºLinha: Essa linha serve para exibir na “lblNome”, o nome ja concatenado, ou seja, as partes do nome que foi digitado concatenadas. Para isso basta atribuir para a propriedade “Text” da lblNome (lblNome.Text), a concatenação:

Nome1 + ” ” + NomeMeio + ” ” + Sobrenome

Como são variavies do tipo String, e estão armazenando os dados do Tipo String, então se concatenarmos e atribuirmos elas para a propriedade text do lblNome, sera exibido as partes do Nome juntas. Repare que foi utilizado entre cada parte do nome ”  “, (abre aspas – espaço – fecha aspas), que seria um espaço entre cada parte do Nome.


“btnLimpar”:

Como queremos clicar no botão “Limpar”, e Limpar as caixas de texto e a Label que exibe o nome concatenado, codificamos no Evento Click do btnLimpar as seguintes linhas.

1ºLinha: Atribui vazio (“”), à txtNome1.Text;

2ºLi nha: Atribui vazio (“”), à txtMeio.Text;

3º Linha: Atribui vazio (“”), à txtSobrenome.Text;

Repare que quando queremos limpar o conteudo de algum componente que manipula Strings, basta atribuirmos vazio (“” – Abre e fecha aspas) ao mesmo.

4ºLinha: A lblNome que armazena o Nome concatenado, não é para ser limpa, ou seja, não é para ser atribuída de vazio quando clicarmos em “Limpar”, e sim é para ser colocado nela novamente o texto que estava por padrão, (veja o Layout do frmNome), que no caso é o Texto:

O nome aparece aqui!

para isso basta atribuir para a prorpiedade Text do lblNome, esse texto, da seguinte maneira:

lblNome.text = “O nome aparece aqui!”

O texto é declarado entre aspas, pois é uma string.

Layout(frmPrincipal):

ex4img1

Layout frmPrincipal - Clique para ampliar

Repare que este formulário não tem o botão de Maximizar, Minimizar e Fechar na barra de titulos. Para remove-los, basta deixar como “False” as seguintes propriedades, do “Form”(frmPrincipal):

  • MinimizeBox
  • MaximizeBox
  • ControlBox

Código (frmPrincipal):

ex4img6

Código do frmPrincipal - Clique para ampliar

O código do Formulario “frmPrincipal”, é feito em três botões:

  • No botão “btnArea” (Evento Click) é feito o Código para chamar o Form “frmArea”
  • No botão “btnNome” (Evento Click) é feito o código para para chamar o Form “frmNome”
  • No botão “btnSair” (Evento Click) é feito o código para fechar a Aplicação.

 

“btnArea”:

Esse botão chama o formulário “frmArea” que calcula a áre ado retangulo, a partir do seguinte código:
frmArea.Show()
Repare que para chamar um form(Formulario), basta declarar o [nome do Form].Show()

“btnNome”:

Esse botão chama o formulário “frmNome” que faz a concatenação das partes de um Nome, a partir do código:
frmNome.Show()

“btnSair”:

Esse botão serve para fechar a Aplicação, a partir do código:
End

Repare que o código End, fecha toda a Aplicação, ou seja, todos os forms que estiverem abertos, mesmo ele sendo declarado apenas no frmPrincipal. Porém nesse caso é o que queremos, mas mais para frente veremos como fechar um unico form.

OBSERVAÇÃO 2:

Quando executarmos o projeto, queremos que o 1º form a ser carregado seja o Menu Principal(frmPrincipal), pois é a partir dele que chamaremos os outros formulários, por isso, verifique que form está para ser inicializado em 1º plano, pelos seguintes passos:
No menu principal do VB.NET 2005 , vá em Projects > [NomedoProjeto]Properties, e no ComboBox “Startup form“, selecione o form que quer que seja o 1º a ser inicializado quando executado a aplicação, que nesse caso é o frmPrincipal.
Isso será usado em várias situações, por isso é bom lembrar.


Mais pra frente veremos também como usar o componente “MenuStrip”, no form principal. Esse componente, é um Menu, igual a esses do windows, em quando clicado abre-se uma caixa de opções a serem escolhidas..
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Qualquer dúvida não deixem de postar um comentário. 🙂

Exemplo de Aplicação 3 – Função “Len”

Boa tarde pessoal!!!
Bom hoje eu vou deixar aqui mais um exemplo de aplicação. De inicio estou deixando apenas exemplos simples, com o intuito de pouco em pouco, você ir conhecendo as funcionalidade do VB.NET 2005, e as manhas da linguagem.

O Exemplo de Aplicação de hoje, consiste em ao usuário digitar uma palavra, a aplicação exibir em uma MsgBox o comprimento da palavra digitada, ou seja, a quantidade de caracteres que compõem a mesma.

Layout:

Ex3img1

Layout da aplicação - Clique para ampliar

Quando o usuário digitar uma mensagem no “txtEntrada” e clicar no botão “Comprimento?”, deve ser exibida uma MsgBox com o conetúdo:

O comprimento da palavra é: [Valor do comprimento]

Código:

Ex3img2

Código - Clique para ampliar

O código que é feito no evento “Click” do btnCompr,  é composto por apenas 3 linhas:

1º Linha: É declarada a variável “comprimento” do tipo Inteiro. Essa variável é do tipo inteiro porque deseja-se guardar na mesma um valor numérico e inteiro, que seria o valor do comprimento da palavra digitada, ou seja, a quantidade de caracteres que compõem a palavra digitada.

2º Linha: Nessa linha o que acontece é que é atribuído à variável “comprimento”, o valor que retorna da função “Len”, que seria a quantidade de caracteres que tem a palavra digitada.

Função “Len”

O nome dessa função provém da palavra estrangeira “Length” (Comprimento), que como o próprio nome sugere retorna o comprimento de uma string.

Sua sintaxe é muito simples:

Len([compenente que recebe a string].text)

Ou pode-se também usa-la para retornar o comprimento de uma palavra já definida, caso seja necessário. Exemplo:

Len(“João”)

Nesse caso a função Len retornaria o numero inteiro 4, que é quantidade de caracteres que compõem a palavra João.

Obs.: Mais para frente veremos outra maneira de obter o comprimento de uma string.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

3ºLinha: Essa linha apenas exibe uma MsgBox informando o resultado que a função len retornou, que no caso é o comprimento da palavra digitada. Nessa linha foi usado a concatenação de strings, que já vimos no exemplo anterior (Exemplo de Aplicação 2). A concatenação nesse caso consistiu em unir a string “O comprimento da palavra é: “ ,com o comprimento (que a função Len retornou) da palavra.

Pergunta:
Para que serve mesmo o “Cstr“ antes de uma variável???
Resposta:
O “Cstr” antes da variável serve para converter o conteúdo da mesma para String. (Cstr → C = convert, str = String).
Pergunta:
E porque a variável comprimento precisou ser convertida para string, na MsgBox???
Resposta:
Lembra que o MsgBox trabalha apenas com exibição de strings? Então, para poder exibir no MsgBox o conteúdo da variável comprimento que é do tipo Inteiro, necessita-se converte-la para String.
Obs.: Se você reparar, caso você digite uma palavra que tenha espaço, ele também é contado pela função “Len”, para resolver isso, mais para frente iremos ver a função replace, para remover “internamente” da string o espaços vazios.

Execução da Aplicação:

result

Aplicação Rodando - Clique para ampliar

Obs.: Caso haja alguma duvida sobre a MsgBox , acesse o Exemplo aplicação 2.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Qualquer duvida não deixem de comentar!! 🙂

Exemplo de Aplicação2: Concatenação de Strings

Boa tarde pessoal!!!

Esse exemplo de aplicação com “MsgBox” (Caixa de Mensagem), mostra como fazer concatenação de strings no MsgBox.

A aplicação consiste em um único “Form”, com 1 “TextBox” e 1 “Button”.

Layout:

Ex2img1

Layout da Aplicação - Clique para ampliar

Quando o usuário digitar uma mensagem no “txtEntrada” e clicar no botão “Exibir”, deve ser exibida uma MsgBox com o conetúdo:

Mensagem: [A mensagem que foi digitada]



Código:

Ex2img2

Código - Clique para ampliar

O código é composto por uma única linha de código, que são os parâmetros da MsgBox:

O conteúdo dessa MsgBox está composto por uma string “Mensagem: “, o Conteudo que foi digitado na txtEntrada (que é a mensagem a ser exibida), o Estilo da MsgBox, e o Titulo da msgBox. Cada parâmetro separado por ( , )  exceto a concatenação que é um parametro só.

A MsgBox deverá ser exibida da seguinte maneira:

Ex2img4

Exibição da MsgBox - Clique para ampliar

Pergunta:
Nossa! Como Apareceu  a string “Mensagem:” junto com o que eu digitei no txtEntrada, sem eu ter digitado ela???
Resposta:
Isso chama-se “Concatenação de strings”.

Concatenação de Strings

Quando eu passei como parametro para a MsgBox:   “Mensagem: ” + txtEntrada.Text ele entendeu que eu queria que fosse exibido a string “Mensagem: ” e logo após o conteudo que foi digitado no txtEntrada. A concatenação (junção) é feita través do atributo de concatenação ( + ), ou também pode ser feito através do atributo ( & ) que dá no mesmo.

Esse é o mecanismo de Concatenação de strings:

[“String1”] + [“String2”] ou [“String1”] & [“String2”]

Como são strings deve-se sempre informá-las entre aspas, isso serve tanto para VB quanto para varias outras linguagem como C, Pascal, e varias outras.

Pergunta:
Se toda string eu devo informar entre aspas, porque o txtEntrada.Text, não está entre aspas no Código???Ele também é uma string, não é????
Resposta:
Simples!!! Lembra que todo componente que de alguma maneira exibe texto, tem uma propriedade chamada “Text”. Então, como já dito no exemplo anterior, essa propriedade serve para manipular o conteudo de texto de um componente, por isso quando no MsgBox informamos txtEntrada.Text, já estamos dizendo para ele, pegar o conteúdo texto, ou seja o conteúdo String, do componente e exibir, por isso nesse caso não necessitamos colocar aspas.

Estilo da MsgBox (MsgBoxStyle) – Opcional

O estilo da MsgBox, é o “modelo” de MsgBox que você define no código. A MsgBox é composta por vários estilos:

MsgBoxStyle.Information
(Quando for exibir alguma Informação)
MsgBoxStyle.Exclamation
(Quando for exibir alguma Exclamação)
MsgBoxStyle.Critical
(Quando for exibir alguma Mensagem Critica, de Erro por exemplo)
MsgBoxStyle.Question
(Quando for exibir uma Mensagem que faz alguma pergunta)
MsgBoxStyle.YesNo
(É uma MsgBox que possui o botão Sim e Não)
MsgBoxStyle.YesNoCancel
(É uma MsgBox que possui o botão Sim, Não e Cancelar)
Entre outros…

O uso de Estilo da MsgBox é opcional, ou seja, o MsgBox funciona do mesmo jeito sem, porém se você usar,  sua aplicação ficará com uma “cara” melhor. Note que cada estilo exibe uma imagem diferente na MsgBox, no nosso exemplo foi usada a MsgBoxStyle.Information , que exibe um ( i ).

Mais pra frente falaremos mais sobre MsgBox.

Titulo da MsgBox – Opcional

O Titulo da MsgBox aparece no topo da “caixinha”, e também é opcional, porém se não for usado, aparecerá como titulo o nome do projeto. Lembre-se de que como o Titulo também é uma string, deve ser passado para a MsgBox entre aspas!

~~~~~~~~~~~~~~~~

Implemente esse código, e teste. Qualquer dúvida não deixe de postar um comentário!!! 🙂

Exemplo de Aplicação 1

Esse exemplo é bem simples, só pra ir entrando no clima.

O exercício consiste em copiar uma mensagem de uma TextBox para uma segunda TextBox, e exibir numa MsgBox a mensagem “Copiado”.

Layout:

EX1img1

Layout da Aplicação - Clique para ampliar

Composto de 2 “TextBox”, e 1 “Button”.

Pergunta:
Onde deve ser feita a codificação da aplicação???
Resposta:
Como queremos que seja copiado o que for digitado no 1º “TextBox” para o 2º “TextBox” quando clicarmos no botão copiar, então o código deve ser feito no evento Click do  “Button” Copiar, pois toda a ação irá acontecer no momento em que o usuário clicar no botão.

Código:

Obs.: Clique na imagem para ampliar

cod

Código

1ª Linha:

Essa linha simplesmente atribui ao “txtCopiado.text”, o conteúdo do “txtEntrada.text”. O (.text) acessa a propriedade “text” do componente TextBox, que é a propriedade que permite exibição de texto, como queremos pegar o que foi digitado no txtEntrada e atribuir ao txtCopiado, usamos a propriedade text para isso. Ou seja pegamos o texto que foi digitado no txtEntrada e jogamos na propriedade text do txtCopiado, que será exibido.

2ºLinha

Essa linha exibe uma MsgBox, com o texto: “Copiado”.  A sintaxe do MsgBox é bem simples:

MsgBox(“Mensagem que quer exbir”)

Como a mensagem é uma string deve ser informada entre aspas (“ ”). Isso faz parte da sintaxe do VB, não somente para a MsgBox mas também para tudo o que envolver strings.

msgBox

MsgBox exibindo a mensagem "Copiado".

Mais pra frente falaremos mais sobre a MsgBox, e outras partes de sua sintaxe.

Implemente esse código, e execute!!!

~~~~~~~~~~~~~~~~~~~~~~

Qualquer dúvida não deixem de postar um comentário ou mandar um e-mail.  Farei o possivel para responder.