1.1.1 OBJECT As variáveis do tipo Object representam referências a objectos alojados na memória, em endereços reservados. A partir do momento em que atribuímos um objecto a uma variável deste tipo, podemos aceder a todas as propriedades e métodos do objecto instanciado. O exemplo seguinte declara uma variável objecto, à qual é atribuída uma instância do formulário actual (apontador Me). A propriedade Text define o texto da sua barra de título. EXEMPLO Dim formulário As Object formulário = Me Me.Text = "Título" 1.1.2 VARIANTTYPE Corresponde ao tipo de dados de variáveis que não se encontram explicitamente declaradas como pertencendo a um tipo de dados exclusivo, apresentando comportamentos diferentes, mediante as expressões em que estão envolvidas. Por exemplo, se atribuir um Integer a uma VariantType, o compilador trata essa variável como um Integer; no entanto, no caso de operações aritméticas, cujos resultados excedam o intervalo suportado pelo tipo de dados original, as variáveis envolvidas são autopromovidas para o tipo de dados imediatamente a seguir, suportando um intervalo maior. 108 EXEMPLO DECLARAÇÃO DE CINCO VARIÁVEIS DO TIPO VARIANT Dim a Dim b Dim c a = 10 ASSUME O TIPO INTEGER b = "Rui" ASSUME O TIPO STRING c = True ASSUME O TIPO BOOLEAN Para declarar variáveis deste tipo, prescinde se do modificador As e da identificação do tipo de dados.
1.1.3 FUNÇÕES LTRIM, RTRIM E TRIM Removem todos os espaços que se encontram no início, no final ou na totalidade da cadeia de caracteres especificada. ARGUMENTO ÚNICO OBRIGATÓRIO (STRING) É a cadeia de caracteres a modificar. RETORNO DA FUNÇÃO Uma cadeia alfanumérica de caracteres. EXEMPLO esp_esq = LTrim(" VB ") RETORNA VB esp_dir = RTrim(" VB ") RETORNA VB todos_esp = Trim (" VB ") RETORNA VB 1.1.4 FUNÇÕES ASC E CHR Devolvem o código ASCII 1 do primeiro carácter de uma cadeia de caracteres e o carácter correspondente ao código ASCII especificado. A tabela de códigos ASCII encontra se em Anexo. 147 Os argumentos utilizados nas funções Asc e Chr são: ARGUMENTOS NOME DESCRIÇÃO OBRIGATÓRIO? TIPO STRING (SÓ EM ASC) CHARCODE (SÓ EM CHR) Carácter do qual se pretende obter o código ASCII. Código ASCII utilizado para retornar o carácter correspondente. Sim. Sim. String. Integer. TABELA 4.8 Argumentos das funções Asc e Chr 1 Do inglês American Standard Code for Information Interchange; é um conjunto de códigos para o computador representar números, letras, pontuação e outros caracteres. Surgiu em 1961, pela mão do inventor Robert W. Bemer cujo objectivo era obter um padrão onde cada carácter fosse manipulado sob a forma de código binário, tendo como base inicial todas as combinações possíveis de 8 bits.
1.1.5 PICTUREBOX (IMAGEM) Tal como o próprio nome indica, é um controlo que permite incorporar imagens através de ficheiros gráficos. É possível definirem se transparências, magnificações, redimensionamentos automáticos, etc. O formulário da figura 5.15 contém diversas imagens nele embebidas. FIGURA 5.15 Apresentação de imagens 1.1.6 PROGRESSBAR (BARRA DE PROGRESSÃO) É um controlo ideal para ir dando informação ao utilizador acerca da evolução de um determinado processo, enquanto o mesmo está a ser executado (ver exemplo na figura 5.16). 250 FIGURA 5.16 Apresentação de barras de progressão 1.1.7 RADIOBUTTON (BOTÃO DE OPÇÃO) Este tipo de controlos é especialmente utilizado quando estamos perante um número reduzido de opções, dependendo do que se pretenda obter quanto à apresentação visual do formulário. O botão está seleccionado quando o círculo contém um ponto no seu interior. A característica mais importante dos RadioButton é a possibilidade de se agruparem segundo um propósito lógico e implícito. No exemplo seguinte, os valores dos dois botões estão dependentes um do outro. Sempre que seleccionamos o botão Feminino, o botão Masculino perde de imediato a selecção e vice versa. O mesmo aconteceria se estivéssemos perante mais controlos desta categoria, já que, num grupo de botões de opção, apenas um pode estar seleccionado (ver figura 5.17).
ANÁLISE (1.º SEPARADOR) Como o número de colunas da ListView é directamente proporcional ao número de campos passados para o DataReader, foi declarada uma variável numérica ( num_campos ) cujo valor representa o número de campos existentes na tabela seleccionada (obtido à custa da propriedade FieldsCount do DataReader). O método GetName permite obter o nome de cada coluna (variável campo ) da tabela RH, nome esse transportado para a ListView, aquando da criação da coluna correspondente. Cada item de lista numa ListView é um objecto do tipo ListViewItem e representa sempre a primeira coluna de cada linha. As colunas à direita da principal são consideradas subitens da coluna principal. A escolha do ícone a ser apresentado é feita à custa da aplicação do índice correspondente na ImageList como valor da propriedade ImageIndex do item principal. TESTE (1.º SEPARADOR) Ao executar o projecto deverá obter a lista completa de todos os funcionários à semelhança da apresentada na figura 6.33. 290 FIGURA 6.33 Resultado da programação do 1.º separador RESOLUÇÃO (2.º SEPARADOR) 1) Da categoria Common Controls da ToolBox arraste um controlo do tipo Treeview para o interior da segunda página do controlo separador (ver figura 6.34).
2) Deixe a opção Yes, save the connection as assinalada para guardar a respectiva connection string (veja se a figura 7.21) e avance para o próximo passo. FIGURA 7.21 Gravação da connection string no ficheiro de configuração do projecto 3) Surge o ecrã apresentado na figura 7.22. Aqui, assinale todas as tabelas a incluir no DataSet. 313 FIGURA 7.22 Escolha das tabelas a incluir no DataSet 4) Aceite o nome sugerido na caixa DataSet name e clique em Finish para terminar o processo de criação do DataSet. O Visual Basic Express grava algumas configurações do projecto num ficheiro XML o app.config, tais como o nome do projecto e dados relativos às origens de dados usadas. 5) Para visualizar o DataSet, escolha a opção Show Data Sources do menu Data, como indicado na figura 7.23. FIGURA 7.23 Pedido de visualização do DataSet