PSI 11ºANO » MÓDULO 9 - INTRODUÇÃO Á PROGRAMAÇÃO ORIENTADA A OBJETOS

PROGRAMAÇÃO E SISTEMAS DE INFORMAÇÃO

1. MonthCalendar Control


O controle MonthCalendar  representa um controlo do Windows que permite ao utilizador selecionar uma data ou intervalo de datas usando uma exibição visual do calendário mensal. 


Exemplo 1:

1. Crie uma aplicação em VB

2. Adicione ao Form1 o controlo MonthCalendar

3. Defina a menor data e a maior data

4. Selecione algumas datas

5. Obter a data selecionada

6. Altere as configurações padrão do controle MonthCalendar
- Para desabilitar a marcação do dia atual defina as propriedades ShowToday e ShowTodayCircle como False
- Para exibir o número de semanas no ano no calendário defina a propriedadeShowWeekNumbers como True
- Para exibir múltiplos meses altere o valor padrão da propriedadeCalendarDimensions que é de 1;1 para outro valor; 2;1 por exemplo. 
- Para alterar o primeiro dia da semana padrão que é sunday defina a propriedadeFirstDayOfWeek para um valor diferente de default. 
- Para alterar a velocidade de rolagem do calendário (em meses) defina a propriedade ScrollChange para um valor diferente de 1. (A taxa de rolagem é o número de meses em que o controle move sua exibição quando o usuário clica em uma seta de rolagem. O valor máximo é de 20.000.)

7. Definir uma data inicial via código

8. Destacar/remover datas a negrito
Dim BoldDate As Date = New DateTime(2016, 1, 30)
MonthCalendar1.AddBoldedDate(BoldDate)
....

9. Alterar a aparência e o esquemas de cores do calendários com as propriedades : TitleBackColor, TitleForeColor and TrailingForeColor

No Windows 7 e Windows 8 para que essas alterações seja  efetivadas tem que desabilitar a propriedade Enable XP visual styles na janela de propriedades do seu projeto.

MonthCalendar1.RemoveBoldedDate(BoldDate)

EXERCÍCIO 1

  Implemente em VB.NET o exemplo 1.

2. Funções de data e hora

 http://www.devmedia.com.br/trabalhando-com-datas-no-vb-net/5737


Exemplo 2:
ADICIONAR DIAS A UMA DATA

1. Crie uma aplicação em VB

2. Adicione ao FORM os seguintes controlos:

3. Inclua as seguintes instruções no evento click do botão:

4. Teste a aplicação


Exemplo 3:
OBTER O DIA, O MÊS E O ANO DE UMA DATA

1. Crie uma aplicação em VB

2. Adicione ao FORM os seguintes controlos:

3. Introduza as seguintes instruções:

4.Teste a aplicação


EXERCÍCIO 2

  Implemente em VB.NET o exemplo 2.
Implemente em VB.NET o exemplo 3.

Exemplo 4:
OBTER MÚLTIPLAS DATAS SELECIONADAS

1. Crie uma aplicação em VB

2. Adicione ao FORM os seguintes controlos:

3. Introduza as seguintes instruções:

4. Teste a aplicação


EXERCÍCIO 3

  Modifique a aplicação do exemplo 4 de modo a não permitir a seleção de Sábados e de Domingos.

Exemplo 5:
SELECIONAR MÚLTIPLAS DATAS CONSECUTIVAS INDICADAS PELO UTILIZADOR

1. Crie uma aplicação em VB

2. Adicione ao FORM os seguintes controlos:

3. Introduza as seguintes instruções:

4. Teste a aplicação


3. ARRAY: Redim Preserve

Um array é um conjunto de posições de memória ou variáveis do mesmo tipo, às quais se acede por um índice, que começa na posição zero.

Os arrays podem ter tamanho(dimensão) fixo ou variável. 
Quando se declara o array é indicada a dimensão; a dimensão representa o número de elementos que o array vai armazenar.


EXEMPLO 5 - Declarar um array

'Declarar um array de dimensão fixa
Dim a(dimensão) as tipo_de_dados

'Declarar um array de dimensão variável
Dim a() as tipo_de_dados

Para se utilizar um array dinâmico é necessário recorrer a REDIM ou REDIM PRESERVE para indicar o número de elementos a adicionar ao array.

https://msdn.microsoft.com/pt-br/library/w8k3cys2.aspx


EXEMPLO 6 - Ler um array de dimensão variável


Crie um modulo com as variáveis public

Adicione as instruções ao form1

Adicione as instruções ao form2


Validação do email

O .NET Framework fornece um amplo conjunto de ferramentas de expressões regulares que permitem criar de forma eficiente, comparar e modificar e analisar rapidamente grandes quantidades de texto e de dados para localizar, remover e substituir padrões de texto.

O Método Regex.IsMatch (String, String) indica se a expressão regular especificada encontra uma correspondência na seqüência de entrada indicada. 

O código a seguir mostra como validar um endereço de e-mail com a ajuda de expressões regulares.

Dim pattern As String
pattern = "^([0-9a-zA-Z]([-\.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})$"
Dim email As String
email = InputBox("Email:")

If Regex.IsMatch(email, pattern) Then
MsgBox("Endereço de Email Válido")
Else
MsgBox("Endereço de Email Inválido")
End If

EXERCÍCIO 4

  Implemente o exemplo 6.
Acrescente as instruções necessárias para garantir apenas o registo de emails válidos.

4. Operações com Array's

'somar todos os valores do array

soma=0

for i=0 to indice-1

soma=soma+a(i)

next

Messagebox.show(soma)

 

'média dos valores do array

media=soma/indice

Messagebox.show(media)

 

'determinar o maior elemento do array

maior=a(0)

for i=1 to indice-1

If a(i) > maior then

maior=a(i)

endif

next

Messagebox.show(maior)


EXEMPLO 7 

 Ver Demo1

EXERCÍCIO 5

  Implemente o Demo1.
Acrescente os botões e os formulários para obter uma listagem dos valores registados em cada ano.

EXERCÍCIO 6

 

Acrescente à aplicação demo1 um botão para obter as seguintes estatísticas:

Na linha Maior nº de Utilizadores deve surgir o nome da REDE SOCIAL que registou em cada ano o maior número de utilizadores. 
Na linha Menor nº de Utilizadores deve surgir o nome da REDE SOCIAL que registou em cada ano o menor número de utilizadores.