Olá, visitante!
Venho trazer para vocês aqui algumas dicas para aumentar a produtividade durante o criação/alteração de alguma rotina, lá vai:
Procurar algum registro no TDataSet:
TDataSet.Locate('nome_campo', valor_a_ser_localizado, [loCaseSensitive, loPartialKey]);
Essa função irá retornar um dado primitivo (boolean) indicando se existe ou não registro por base nos parâmetros informados. Os últimos parâmetros são opcionais, podendo ser passado apenas [].
Não se esqueça de que o TDataSet deve estar ativo para funcionar.
A função também funciona com parâmetros passados como "array", mas com os fields e valores para serem localizados separados por ";", por exemplo: 'codcliente;nomecliente;cnpj'
Essa função normalmente funciona com componentes de terceiros, por exemplo: ZeosLib.
Percorrendo o TDataSet de forma otimizada:
Em algumas situações vemos a necessidade de percorrer um TDataSet para somar algum valor, verificar consistência, etc. Para que isso seja feito de forma rápida e prática, utilize o TBookMark:
Ao utilizar ele, a função guarda a atual posição em que você está em um grid por exemplo, e, no finally, ele retorna à posição.
Lembrando que o TDataSet também deve estar ativo.
Para evitar redundância de código, crie uma função das linhas antes do "try" e dentro do "finally".
Facilitando condições simples:
Para evitar utilizar 3 linhas para fazer uma condição (if) simples, utilize o "IfThen", que está disponível na StrUtils, a utilização é bem simples:
vTipoCGC = IfThen(Length(vCGC) = 11, 'F', 'J');
A condição acima retornará 'F' para true e 'J' para false, logo, o primeiro parâmetro é a condição, o segundo caso ela seja verdadeira e o terceiro caso falsa.
A mesma função também está disponível para retornar valores numéricos (integer, float, double, currency), basta declarar ao "uses" a unit "Math".
É isso, qualquer dúvida, por favor, poste abaixo.
Obrigado!
Lucas de Souza Cruz

0 Comentários
Deixe aqui suas dúvidas, opiniões e contribuições =}
Emoji