Arquivo mensais:dezembro 2012

Desenvolvimento “Ágil” com delphi

As pessoas me perguntam porque que eu programo em delphi, a resposta esta no vídeo abaixo.
É claro que existem muitas outras ferramentas que auxiliam no desenvolvimento rápido de soluções diversas em TI, mas esta ainda é a única que conseguiu mesclar agilidade e flexibilidade para qualquer que seja o tipo de alteração.
OBS: Devido as novas políticas da atual responsável pelo desenvolvimento e manutenção do delphi a embarcadero, estou migrando todas as minhas aplicações para o lazarus com o freepascal.

Depurando seu código no delphi

Delphi borland Depuração debugar encontrar falhas erros no código

Uma das maiores dificuldades para quem esta começando é encontrar erros de tempo de execução, erros que passam pelo compilador. Neste vídeo eu vou mostrar como depurar o seu código. Trata-se de executar o programa linha apos linhas, podendo ainda examinar e se for o caso, ate alterar valores das variáveis utilizada para que fique fácil descobrir em que ponto exatamente o seu programa se comportou de forma inesperada.



Localizar um objeto em todos os bancos de dados

SQL Server localizar objeto tabela view procedure trigger em todos os bancos de dados do servidor

Algumas ferramentas para banco de dados possuem uma busca para objetos(tabelas, triggers, views, etc) no banco de dados, para o caso de não ter disponível ou como no meu caso, de precisar fazer de forma dinâmica dentro de uma aplicação, pode-se utilizar o código abaixo:

Gerar autoincremento para todas as tabelas automaticamente

Logo do firebird sistema de gerenciamento de banco de dados

Uma das reclamações das pessoas que começam a utilizar o FireBird é a falta do auto-incremento como é contrados em sistemas como SQL Server e MySQL. Ainda não vamos discutir os prós e contras de se utilizar generators(Sequences), mas criei um código para me auxiliar na tarefa de preparar o banco de dados para rotinas de replicação e que serve para solucionar este problema.

A rotina abaixo busca por tabelas no banco de dados que contenha chaves primárias de apenas um campo, caso encontre, cria o GENERATOR (SEQUENCE), e a TRIGGER correspondente para gerar o auto-incremento destas tabelas.

Recursos utilizados nestes scripts:
TRIM: retorna o texto informado no parâmetro sem os espaços a esquerda e direita.
EXECUTE STATEMENT: Execute um comando contido na string, muito útil para criação de consultas  
            dinamicamente.
RDB$RELATIONS: Tabela do sistema que contem todas as tabelas e views do banco de dados.
UPPER: Retorna o parâmetro informado em caixa alta (todas as letras maiúsculas )
CAST: Converte um valor para um determinado tipo de dados. No nosso exemplo foi convertido um valor inteiro para texto ( varchar(5) ).

Dados aleatórios e busca inteligente

Por melhor que seja sua rotina de busca, ainda assim vai existir um usuário que não consiga encontrar o que esta procurando, por isso criei a rotina abaixo para fazer algo parecido com a busca do google.
Para testar utilizei também uma rotina para gerar dados aleatórios que pode ser muito boa para testar procedimentos.

ATENÇÃO!! Veja a função SPLIT aqui

Função split no SQL Server para dividir um texto em um array

função split para dividir um texto em um array

  Existem situações do cotidiano em que precisamos de um recurso sisponível para a grande maioria das linguagens de programação que é o SPLIT, que consistem em dividir um texto em várias partes tendo como base um caractere delimitador.

EX.: “Maria Jose João Paulo Joaquina”
Imagine que você precise destes nomes separados em uma lista. É isto que o split faria.
Vi alguns exemplos na internet, mas não gostei da forma que foi implementado, por isso criei esta que vou apresentar.

Para este código foram utilizadas as seguintes funções: