Olá,

Assim como toda rotina é criada, há uma hora que ela deverá ser alterada. Aí bate o pânico, principalmente quando não somos nós quem alteramos.

Entender o “jeito”, o raciocínio e ideia que outro programador teve para resolver o problema é complicado, principalmente quando o código está poluído ou é muito avançado.

Para isso existem os comentários, para facilitar o entendimento. Mas nem sempre os comentários são suficientes.

Existem uma declaração especial para comentários, que se integra com o Delphi, chamado de :  XML Documentation.

Aparecendo como a imagem:

Clique na imagem para ampliá-la

Este recurso não é exclusivo do Delphi, na verdade surgiu em outras IDE’s e pela grande utilidade foi introduzida no RAD Studio também!

Mas como fazer elas?

Leia o resto deste post »

Alguns autores dizem que a solução para o desempenho é implementar Threads no código.

É fato que se você tem um computador multiprocessado tem grandes vantagens sim… Mas você sabe usá-las corretamente?
Essa técnica pode trazer benefícios ou pode estragar de vez seu aplicativo.

Primeira questão: É realmente necessário aumentar o desempenho e prejudicar a leitura do código?
Segunda questão: Vale a pena gastar dias estudando para colocar seu aplicativo usando Threads e correr o risco de dar problemas?

O problema não é a Thread em si, mas sim o que você coloca para ser executado nela!

Leia o resto deste post »

Olá queridos leitores. Com muito prazer que volto a tocar neste assunto pelo sucesso que obteve meu outro Post sobre o Ribbon.

Neste post ensinarei a fazer um SIMPLES editor de texto com estilo Ribbon do office 2007.

Objetivo não é fazer um editor completo. Mas sim aprender como adicionar itens no Ribbon.

Primeiramente peço que façam os primeiros passos do meu outro post clicando aqui.

Farei isto usando o Delphi XE. Mas vou me assegurar que funcione no Delphi 2010…

Feito os outros 3 passos do outro post.

Vamos para o próximo:

Leia o resto deste post »

Boa Tarde pessoal!

Eu fiz uma rotina que visa identificar qual eram as chaves primárias que estavam naquele DataSet, mas o SQL dele varia de Form para Form…

Primeiro passo era identificar a Tabela que eu estava querendo pegar as chaves primárias.

Então, na internet e outros Blogs eu encontrei apenas como pegar a tabela pelo Field.Origin.

    Showmessage(DataSet1.Fields.Fields[0].Origin);

Neste caso, o Origin retorna a Tabela que pertence cada Field.

Se você usa BDE você consegue usá-lo. Mas essa propriedade não tem efeito no DBExpress. Onde ela retorna vazio (‘ ‘).

Neste caso temos uma última chance de conseguir encontrar a tabela do DataSet (no me caso ClientDataSet)

Na unit DBCommon temos 3 funções que tem praticamente a mesma funcionalidade.

Que são:

GetTableNameFromSQL(const SQL: WideString): WideString;

GetTableNameFromQuery(const SQL: WideString): WideString;

GetTableNameFromSQLEx(const SQL: WideString; IdOption: IDENTIFIEROption): WideString;

Essas três funções tem como Objetivo Ler um SQL e retornar a tabela dele…

Mas atenção! Ele retorna a primeira tabela que ele encontrar… Então se seu SQL tiver subSelects sugiro que faça uma varredura retirando eles para a função funcionar satisfatoriamente. E coloque seu comentário em caso de não funcionar, estamos aí para ajudar!

 

Um grande abraço!

Conclusões sobre experiência com IntraWeb (Delphi)

Publicado: 31/08/2011 por Alexandre De Carli em Dicas para Delphi
Tags:,

Olá caros amigos, quem está procurando como desenvolver uma aplicação IntraWeb deve entrar no link https://extremeprogramming.wordpress.com/2011/08/22/minicurso-intraweb-no-delphi-delphi/… Ok?

Nosso objetivo neste post é mostrar as conclusões chegadas após o desenvolvimento de um controle de mudanças em software para a empresa que trabalho.

Encontrei o IntraWeb como uma alternativa “fácil” e “rápida” de desenvolvimento de um controle simples de changelog (Log de mudanças) para a empresa em que eu trabalho. E o melhor: Sem precisar instalar nada.

O que foi usado:

Delphi XE
IntraWeb XI

Leia o resto deste post »