• Nenhum resultado encontrado

OPERAÇÕES COM REGISTROS E CAMPOS OPERAÇÕES COM CAMPOS

No documento ELMO BATISTA FARIA, Dr. (páginas 94-97)

O Editor de Campos

Você manipula componentes TFields durante o projeto através do Fields Editor (Editor de Campos). Este editor permite que você defina quais campos de determinada tabela você quer mostrar no formulário. Para acessar o Fields Editor: Edtor Fields

• dê um duplo clique sobre o componente TTable inserido no formulário. Aparece o Fields Edditor:

Use Add para abrir uma caixa de diálogo listando os campos da tabela associada a TTable, para isto posicione o mouse sobre o navigator desta janela e clique o mouse do lado direito (Speed Menu) e a opção Add aparecerá.

• selecione os campos que você quer mostrar no formulário, dando um clique sobre eles, e clique OK;

• caso queira, mude a ordem de disposição dos campos, bastando para isto arrastar o campo para a posição

desejada;

clique em Close, no menu de controle, para fechar o Fields Editor.

Mudando Propriedades de Componentes TFields

Para modificar determinada propriedade de um componente TField, relacionado a um campo da tabela:

• entre no Fields Editor;

• clique sobre o campo para o qual você quer mudar a propriedade;

• acesse o Object Inspector, e mude o valor da propriedade desejada.

Obs.: A propriedade Name do componente

TField é estabelecida automaticamente pelo Delphi, através da associação do nome do componente TTable com o nome do campo na tabela.

Lendo Valores de Campos

Você lê valores de um campo através da propriedade Value do componente TField.

Por exemplo, para ler o valor de um campo NomedoCliente (representado pelo componente TField chamado Table1NomedoCliente), do tipo texto, na caixa de edição Edit1, faríamos:

Edit1.Text:= Table1NomedoCliente.Value; onde Table1 é o nome do componente TTable associado a tabela de onde veio o NomedoCliente.

Cada campo escolhido no Fields Editor representa um componente TField criado pelo Delphi. Cada tipo de um campo cria um componente TField diferente. Por exemplo, se o campo for do tipo texto, o componente TField criado é do tipo TStringField.

Para associar outros tipos de campos que não texto a uma caixa de edição (que só aceita valores do tipo string), devemos utilizar as propriedades de conversão do componente TField: AsBoolean, AsDateTime, AsFloat, AsInteger, AsString.

Por exemplo, para ler o valor de um campo CodigodoCliente (representado pelo componente TField chamado Table1CodigodoCliente), do tipo numérico, na caixa de edição Edit1, faríamos:

Edit1.Text:= Table1CodigodoCliente.AsString; Estabelecendo Valores de Campos

Quando você modifica valores de componentes TField baseado em dados entrados em

Opção adicione campo para o editor, acessada clicando o botão direito do mouse Componente field Navigator

Por exemplo, para atribuir ao campo NomedoCliente (representado pelo componente TField chamado Table1NomedoCliente) o valor digitado na caixa de edição Edit1, Faríamos:

Table1.Edit;

Table1NomedoCliente.Value:= Edit1.Text; Table1.Post;

Inicialmente, chamaríamos o método Edit para permitir a edição dos dados associados ao componente Table1. Depois, faríamos a atribuição. Finalmente, chamaríamos o método Post para gravar no campo o dado inserido em Edit1.

O componente TField e o valor que você lhe atribuie precisam ser compatíveis. Para isto, devemos utilizar as propriedades de conversão do componente TField: AsBoolean, AsDateTime, AsFloat, AsInteger, AsString.

Por exemplo, para atribuir ao campo CodigodoCliente (representado pelo componente TField chamado Table1CodigodoCliente), do tipo numérico, o valor digitado na caixa de edição Edit1, faríamos:

Table1.Edit;

Table1CodigodoCliente.AsString:= Edit1.Text; Table1.Post;

Definindo um Campo Calculado

Um campo calculado é aquele que é resultado da interação entre dois ou mais campos de uma tabela.

Para criar um campo calculado:

• Entre no Fields Editor, dando um duplo clique sobre o componente Table ou Query:

Clique no botão direito do mouse e escolha New Field Aparece o quadro abaixo:

o quadro Field Properties, entre com o nome do campo calculado. Ex: Result;

no quadro Component Name, o Delphi automaticamente coloca o nome do componente TField criado, ao associar o nome do componente TTable com o nome do campo calculado, estabelecido acima;

no quadro Type, escolha o tipo do campo calculado (datetime, float, currency, etc);

Janela New Field que cria um campo calculado na tabela . Neste exemplo o campo result será adicionado a tabela Table1

no Object Inspector, vá para a página Events dê um duplo clique sobre o evento OnCalcFields, entrando no Editor de Código;

• escreva as linhas de código necessárias, dentro da procedure relacionada ao evento acima. Obs.: No evento OnCalcFields, você só pode atribuir valores a campos calculados. Formatando Campos

Você pode formatar o valor de um campo durante o projeto através das seguintes propriedades, presente no Object Inspector:

DisplayFormat: especifica o formato do dado no componente que o visualiza. DisplayWidth: especifica o número de caracteres que a coluna da grade mostrará.

EditMask: especifica a forma como o valor deve ser entrado, oferecendo uma “máscara”

para o valor.

Alignment: especifica o alinhamento do valor do campo, dentro do componente de

visualização.

Durante a programação você poderá utilizar o evento OnGetText para formatar valores de campos. Este evento ocorre sempre que o Delphi vai mostrar o conteúdo do campo, e ignora as definições impostas pelas propriedades DisplayFormat e EditMask.

Procurando Dados

Para procurar por um determinado valor de um campo de uma tabela, use o método FindKey. O campo precisa estar indexado, para utilizarmos este método.

Por exemplo, para encontrarmos o nome Joelma armazenado no campo NomedoCliente, que indexa a tabela, faríamos:

Table1.FindKey([‘Joelma’])

Se o índice for composto de mais de um campo, você poderá utilizar o método FindKey da seguinte forma:

Table1.FindKey([‘valor1’, ‘valor2’, ‘valor3’]) A Propriedade Fields

Você pode acessar o valor de um campo com a propriedade Fields de um componente de acesso a dados. Para isto, use como parâmetro o número de ordem do campo na tabela, começando por 0.

Por exemplo, para atribuir a caixa de edição Edit1 o valor do campo Nome, que é o seguinte campo da tabela Clientes.db associada ao componente Table1, faça:

Edit1.Text:= Table1.Fields[1];

Se o campo não for do tipo string, utilize a função de conversão AsString: Edit1.Text:= Table1.Fields[1].AsString;

O Método FieldByName

Outra forma de se acessar o valor de um campo é através do método FieldByName de um componente de acesso a dados. Você deve passar como parâmetro para este método o nome do campo a ser acessado.

Por exemplo, para atribuir a caixa de edição Edit1 o valor do campo Nome, da tabela Cliente.db, associada ao componente Table1, faça:

Edit1.Text:= Table1.FieldsByName(‘Nome’);

Se o campo não for do tipo string, utilize a função de conversão AsString: Edit1.Text:= Table1.FieldsByName(‘Nome’).AsString;

No documento ELMO BATISTA FARIA, Dr. (páginas 94-97)