Escolar Documentos
Profissional Documentos
Cultura Documentos
2
10/10/2020
Armazenamento em Lista
• Uma lista é uma estrutura de dados que faz referência a um objeto que
armazena dados que são referenciados por meio de índices.
• Em cada índice podem ser armazenados valores de diferentes tipos e inclusive
outras listas.
• Os índices começam pelo valor 0.
4
10/10/2020
Armazenamento em Lista
L1 = [1,2,3]
L1[0] retorna o valor 1
L1[1] retorna o valor 2
L1[2] retorna o valor 3
ALUNO = [23456,"George","M"]
ALUNO[1] retorna o valor "George“
ALUNO[0] <- 23412 //atribuindo o conteudo 23412 para o indice 0 da lista aluno.
ALUNO passa a ser [23412,"George","M"]
Armazenamento em Lista
ALUNOS = [ [23456,"GEORGE","M"],[21256,"MARIA","F"],[45456,"PAULA","F"]
]
ALUNOS[0] retorna uma lista [23456,"GEORGE","M"]
ALUNOS[0][2] retorna o valor "M“
6
10/10/2020
Armazenamento em Lista
• Cada dado de um aluno também pode ser uma lista representando o nome do dado e o conteúdo
ALUNOS = [
[ ["MATRICULA",23456] , ["NOME","GEORGE"] , ["SEXO","M"] ],
[ ["MATRICULA",21256] , ["NOME","MARIA"] , ["SEXO","F"] ],
[ ["MATRICULA",45456] , ["NOME","PAULA"] , ["SEXO","F"] ]
]
ALUNOS[2] retorna [ ["MATRICULA",45456] , ["NOME","PAULA"] , ["SEXO","F"] ]
ALUNOS[2][2] retorna ["SEXO","F"]
ALUNOS[2][2][1] retorna o valor "F"
Armazenamento em Lista
ALUNOS = [
[ ["MATRICULA",23456] , ["NOME","GEORGE"] , ["SEXO","M"] ],
[ ["MATRICULA",21256] , ["NOME","MARIA"] , ["SEXO","F"] ],
[ ["MATRICULA",45456] , ["NOME","PAULA"] , ["SEXO","F"] ]
]
ALUNOS[0][0][1] retorna o valor 23456
ALUNOS[0][1][0] retorna o valor "NOME"
ALUNOS[0][1][1] retorna o valor "GEORGE"
8
10/10/2020
Exercício
Criar uma estrutura de dados de armazenamento em Listas, para armazenar 2
registros e apresentar o comando para retornar o TELEFONE_CELULAR do segundo
registro.
AGENDA
NOME
TELEFONE_FIXO
TELEFONE_CELULAR
ENDERECO
10
10/10/2020
NAMESPACE ALUNOS
23456:[["MATRICULA",23456],["NOME","GEORGE"],["SEXO","M"],["SALA",1]]
21256:[["MATRICULA",21256],["NOME","MARIA"],["SEXO","F"],["SALA",2]]
45456:[["MATRICULA",45456],["NOME","PAULA"],["SEXO","F"],,["SALA",2]]
11
Exercício
12
10/10/2020
Tela Inserir
Tela Listagem
Tela Detalhe
13
• Screen1:
Tela Principal (Screen1) • Desativar Title Visible
• Horizontal_Arrangment
• Height: Automatic
• Width:Full Parent
• Align Horizontal: Center
• Label1:
• Text: Cadastro Aluno
• Font Size: 25
• Ativar Font Bold
• Vertical Arrangment
• Height: Full Parent
• Width: Full Parent
• Align Horizontal: Center
• Space1 e 2
• Height: Automatic
• Width: Full Parent
• Btn_inserir
• Background Color: #3F51B5FF
• Font Size: 25
• Width: 90%
• Text: Inserir
• Btn_listagem
• Background Color: #3F51B5FF
• Font Size: 25
• Width: 90%
• Text: Listagem
14
10/10/2020
• Inserir: • txt_sexo
Tela Inserir • Desativar Title Visible
• Font Size: 18
• Horizontal_Arrangment • Width: 90%
• Height: Automatic
• Hint: sexo
• Width:Full Parent
• Align Horizontal: Center • Hint color: #D9D2D2FE
• Align Vertical: Center • txt_sala
• Label1: • Font Size: 18
• Text: Inserir • Width: 90%
• Font Size: 25
• Ativar Font Bold • Hint: numero da sala
• Hint color: #D9D2D2FE
• Vertical Arrangment
• Height: Full Parent • Btn_voltar
• Width: Full Parent • Background Color: #444444FF
• Align Horizontal: Center
• Height: 70%
• Spaces 1 a 5 • Font Size: 18
• Height: Automatic
• Text: Inserir
• Width: Full Parent
• txt_matricula • Btn_inserir
• Font Size: 18 • Background Color: #444444FF
• Width: 90% • Height: 70%
• Hint: Matricula
• Font Size: 18
• Hint color: #D9D2D2FE
• Text: Voltar
• txt_nome
• Font Size: 18 • Notifier1
• Width: 90%
• Hint: Nome • Db_escola (tinyDB)
• Hint color: #D9D2D2FE • Namespace: aluno
15
16
10/10/2020
• Listagem: • txt_sexo
Tela Detalhe • Desativar Title Visible • Font Size: 18
• Horizontal_Arrangment • Width: 90%
• Height: Automatic • Hint: Nome
• Width:Full Parent
• Align Horizontal: Center • txt_sala
• Align Vertical: Center • Font Size: 18
• Label1: • Width: 90%
• Text: Listagem de Alunos • Hint: Nome
• Font Size: 25 • Btn_voltar
• Ativar Font Bold
• Background Color: #444444FF
• Vertical Arrangment • Height: 70%
• Height: Full Parent
• Font Size: 18
• Width: Full Parent
• Align Horizontal: Center • Text: Inserir
• Spaces • Btn_alterar
• Height: Automatic • Background Color: #444444FF
• Width: Full Parent • Height: 70%
• lb_matricula • Font Size: 18
• Font Size: 25 • Text: Alterar
• Width: 90%
• Hint: Matricula
• Btn_excluir
• Background Color: #444444FF
• txt_nome • Height: 70%
• Font Size: 18
• Width: 90% • Font Size: 18
• Hint: Nome • Text: Excluir
17
Implementação
18
10/10/2020
19
20
10/10/2020
Tela Inserir
• Criar um procedimento de validação de dados para verificar de há algum campo vazio e se houve algum campo deverá concatenar
uma mensagem de erro. Caso a mensagem esteja vazia, os campos estão preenchidos
• Ao clicar no botão inserir
• Validar se os campos foram preenchidos e armazenar a mensagem de erro numa variável local. Se houver erro emitir o erro e
senão seguir a inserção dos dados.
• Setar a Namespace do banco para aluno
• Numa variável global cadastro, verificar se no banco de dados tem alguma chave com a matricula informada no campo
matricula. Se estiver vazia a lista resultado, seguir o cadastro, senão emitir uma mensagem que para a determinada matrícula já
há cadsatro.
• Adicionar a lista cadastro uma lista, onde para cada item deverá ser uma lista com o nome do campo e o conteúdo como
indices.
• Armazenar a lista cadastro na base de dados associada à chave matricula.
• Ao clicar no botão voltar
• Fechar a tela de inserir
21
22
10/10/2020
Tela Listagem
23
24
10/10/2020
• Ao inicializar será recebida a matrícula enviada pela tela de listagem e guardada e um uma variável global matrícula.
• Com base na matricula serão buscados os dados do aluno e armazenado numa Lista: listaAluno.
• Os dados do aluno serão carregados na tela, sendo a matrícula colocada num label (pois não permitirá alteração).
• O usuário após alterar os valores possíveis, escolhe a opção voltar, alterar ou excluir.
• Ao clicar no botão voltar
• Fechar a tela
• Ao clicar no botão alterar
• Serão validados dos dados para não permtir que estejam em branco. Se a mensagem de retorno da validação não estiver vazia, será
emitida uma mensagem na tela com a mensagem. CAso contrário seguem o processo de alteração.
• Será armazenado numa variável global a operação a ser realizada, no caso alt de alteração.
• Os dados nome, sexo e sala serão armazenados numa variável global listaAlunoAlterado.
• Será chamada uma notificação para confirmação de alteração.
• Será fechada a tela de detalhe.
25
26
10/10/2020
27
28
10/10/2020
29