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;