Vimos antes, que o componente TEdit permite a entrada de uma única linha de texto. Para possibilitar a entrada de mais de uma linha de texto usaremos o componente memorando (TMemo). Selecione o componente Memo da paleta Standard e o insira no form dentro de um GroupBox, como mostrado na figura abaixo.
Usaremos este componente para mostrar todos os dados pessoais cadastrados quando for pressionado o botão correspondente. Assim, precisamos modificar algumas propriedades de Memo.
- Align - alClient. Para o Memo preencher todo o GroupBox, onde ele está contido.
- Lines - clique no botão elipse e apague o conteúdo.
- Name - mmDadosPessoais.
- ReadOnly - True. Define que o usuário não pode editar o conteúdo do controle.
Juntando tudo
Insira um novo botão no form. Esse botão, quando pressionado, mostrará os dados pessoais no campo Memo. Defina a propriedade Caption como Mostrar, Default como True e Name como btnMostrar.
A definição da propriedade Default como True indica que, se o usuário pressionar a tecla Enter, o evento OnClick será executado.
Agora iremos escrever o código que fará todo o trabalho para nós.
Como vimos no nosso primeiro programa, se queremos que a ação aconteça quando pressionarmos o botão, então deveremos programar o evento OnClick do botão. Dê um duplo clique no botão e o editor de código será aberto para inserirmos o código.
Vamos analisar cada linha do código mostrado na figura acima. A linha 52 é responsável por deletar as linhas do memorando. Dessa forma toda vez que inserirmos os dados de uma nova pessoa e pressionarmos o botão btnMostrar, os dados anteriores são apagados. Observe que, para chamar um método de um componente, informamos o nome do componente seguido do nome do método separados por ponto.
A propriedade Lines do componente Memo é um objeto do tipo TStrings, portanto possui propriedades e métodos. Dos métodos disponíveis de Lines usaremos Add, para adicionar novas linhas ao texto do controle.
Na linha 53 do código o nome da pessoa é adicionada ao texto. Observe a forma de invocarmos o método Add. Add é um método de Lines, e Lines é uma propriedade de mmDados. O argumento do método deve ser uma string. Como argumento usamos um literal, que identifica o dado da linha de texto, concatenado ao
nome da pessoa, que é dado pela propriedade Text do componente edNome. A linha 54 é semelhante à 53, não merece maiores comentários.
A profissão da pessoa é adicionada na linha 55. As profissões estão na propriedade Items de lbxProfissao. O índice do elemento selecionado no ListBox é dado pela propriedade ItemIndex. Items pode ser tratado como um vetor indexado por ItemIndex. Por isso a linha 55 é escrita dessa forma.
Na linha 56 adicionamos a idade da pessoa, definida pela propriedade Position de ScrollBar. Position é uma propriedade numérica do tipo integer. Antes de concatenar seu valor é necessário convertê-lo para string. Por isso usamos a função IntToStr(), para converter um número inteiro para string.
A linha 57 pode ser analisada de forma semelhante à linha 55. Portanto não será necessário acrescentar nenhum comentário a respeito.
No caso da linha 58 e seguintes, é o que se faz necessário para mostrar o sexo da pessoa. Como a propriedade Checked do componente CheckBox é boolean, usamos isso para implementar uma estrutura de decisão. Se Checked estiver marcado (True) então será mostrada situação ativo, caso contrário será mostrada situação inativa.
Bem, esse é um programa didático. Foi usado apenas para apresentar alguns componentes. Logo iniciaremos uma nova série de posts para apresentar mais recursos dessa poderosa ferramenta.
8 Comentários
Alguma dica de como fazer para que um edit me retorne a data e hora do sistema.. e que depois eu consiga obter o tempo de permanencia entre a entrada e saida?
obrigado pelo Blog... mt util mesmo!!!!
Estou começando agora, poderia me ajudar.
Obrigado, Robson.(vrobson@ig.com.br)
Se nao for encomo pesso que me mande alguas dicas ou algo que possa me ajudar(kenyd_manga@hotmail.com), para que eu me sobresaia nessa matéria!
E tambem pretendo seguir carreira.
Atentamente de seu novo fã:kenyd da silva fernandes
mmDadosPessoais.Lines.Add('Profissão:' + lbxProfissao.items[lbxProfissao.ItemIndex]);
Esta dando esse erro, pq sera?
unit1.pas(58,3) Fatal: Syntax error, ";" expected but "identifier MMDADOSPESSOAIS" found