Usuários |
52 Usuários Online
|
Produtos |
|
Redes Sociais |
|
|
|
Diego Garcia
Analista/Desenvolvedor Delphi desde 2008, bacharel em Ciência da Computação e entusiasta de metodologias ágeis e engenharia de software. Atualmente exerce a função de Product Analyst na empresa G4 Solutions de São Paulo |
|
20/03/2014
Diego Garcia
Comentários: 3 |
[Artigos]
[Intermediário] -Recuperando o XML de uma requisição SOAP em Delphi
Talvez a maneira mais popular de se fazer uma integração entre diferentes aplicações é através de Webservices SOAP. Inúmeras aplicações governamentais trabalham com webservices, como é o caso do projeto Farmácia Popular, Nota Fiscal Eletrônica (NFe),Conhecimento de Transporte Eletrônico (CTe), etc.
Para ajudar nesse processo, existem... |
1126 |
|
22/09/2013
Diego Garcia
Comentários: 0 |
[Artigos]
[Intermediário] -Use Class/Record Helpers no Delphi
Você sabe o que vem a ser um Class Helper?
Class Helper é uma técnica da programação orientada a objetos que tem o intuito de estender as funcionalidades de uma classe, sem que seja necessário utilizar herança e sem que seja necessário alterar a classe original. Imagine o seguinte cenário. Em sua aplicação existe a classe TPessoa, que por al... |
283 |
|
13/08/2013
Diego Garcia
Comentários: 3 |
[Artigos]
[Intermediário] - Tornando recursos Thread-Safe no Delphi
Já falamos aqui da necessidade de utilizar threads para criar processos paralelos, fazendo com que esses processos sejam mais ágeis e torne possível para o usuário continuar suas tarefas mesmo que, internamente o aplicativo esteja executando diversas tarefas pesadas. Porém, um problema do ambiente multi-thread é a concorrência. Imagine que duas ou ... |
572 |
|
21/06/2013
Diego Garcia
Comentários: 2 |
[Artigos]
[Avançado] - Utilizando as mensagens do Windows no Delphi
Existem diversas maneiras de trocar informações entre aplicativos, como por exemplo, Sockets, TCP/IP, arquivo de texto (com uma rotina de monitoramento de diretório), etc. Uma maneira que achei interessante usar quando essa comunicação é somente local, é o uso de mensagens do Windows.
O Windows possui um número vasto de tipos de mensagens, c... |
651 |
|
02/05/2013
Diego Garcia
Comentários: 3 |
[Artigos]
[Intermediário] - Criando um serviço do windows no Delphi
Uma boa opção para criação de uma aplicação que precisa estar no ar o tempo todo e não deve ou não precisa ter intervenção humana, é a criação de um serviço do windows. Criando um serviço do windows podemos passar a responsabilidade de iniciar a aplicação para o próprio windows, entre outras vantagens. Então mão na massa. O Delphi já possui um esq... |
728 |
|
18/04/2013
Diego Garcia
Comentários: 0 |
[Artigos]
[Intermediário] - Como utilizar barra de progressão nos componentes Indy
Venho ultimamente trabalhando bastante com os protocolos TCP/IP e HTTP e pra isso os componentes Indy estão me atendendo perfeitamente.
Uma necessidade que apareceu recentemente foi realizar downloads pesados. Até ai sem problemas, porém, como todo processamento mais pesado, é preciso de alguma forma prover feedbacks para o usuário, para que... |
276 |
|
19/03/2013
Diego Garcia
Comentários: 9 |
[Artigos]
[Básico] - Documentando seus códigos no Delphi
Definitivamente eu não gosto de comentários em código. Pode parecer não fazer sentido o que estou dizendo, mas comentários são venenos que colaboram para a deterioração de um código fonte. Qual é a unica razão para criar um comentário? Seja realista com você mesmo e responda com sinceridade. Tenho certeza que algo la no fundo está dizendo, “colocam... |
672 |
|
15/03/2013
Diego Garcia
Comentários: 5 |
[Artigos]
Armazenando objetos em componentes visuais
Recentemente descobri que é possível armazenar objetos dentro de itens de componentes visuais, como por exemplo o TListView, TComboBox, TStringList, etc. Vamos ver isso na prática, começando com a criação da nossa classe de teste que terá seus objetos armazenados nos componentes.
... |
394 |
|
26/02/2013
Diego Garcia
Comentários: 9 |
[Artigos]
Threads no Delphi, por onde começar ? – Parte V
Chegamos ao final desse estudo introdutório sobre o fantástico mundo do processamento concorrente, proporcionado pelo uso das threads. Nessa quinta e última parte, veremos algumas dicas sobre como não enlouquecer ao realizar debugging em um ambiente multi thread. Você pode até perguntar “mas qual é o real problema do debbuing em um ambiente multi t... |
337 |
|
25/02/2013
Diego Garcia
Comentários: 2 |
[Artigos]
Threads no Delphi, por onde começar ? – Parte IV
Quem leu a terceira parte deste estudo deve se lembrar quando mencionei:
“O método avançarProgressBar() foi feito mais por uma questão de conveniência, porém, entrarei em maiores detalhes em um próximo post”.
Esse método, avançarProgressBar() foi utilizado no synchronize da thread, fazendo com que sua execução fosse direcionada para a... |
299 |
|
21/02/2013
Diego Garcia
Comentários: 0 |
[Artigos]
Threads no Delphi, por onde começar ? – Parte III
Então vamos lá, ver um pouco mais sobre as Threads no Delphi. Nessa terceira parte, veremos como criar blocos protegidos em uma thread para, entre outras coisas, interagir com a GUI (Graphical User Interface) com uma maior segurança. Com o intuito de simplificar o estudo, faremos o já clássico exemplo das barras de progressão sendo manipuladas para... |
308 |
|
20/02/2013
Diego Garcia
Comentários: 0 |
[Artigos]
Threads no Delphi, por onde começar ? – Parte II
Dando continuidade à esse estudo introdutório, veremos mais sobre como manipular uma thread. Na primeira parte vimos como criar uma thread e a importância do método Execute(). Vejamos agora outros métodos e propriedades da classe TThread:
- Start(): Basicamente inicia a execução de uma thread, este método é necessário quando criamos ... |
351 |
|
18/02/2013
Diego Garcia
Comentários: 6 |
[Artigos]
Threads no Delphi, por onde começar? – Parte I
Thread é um termo conhecido por qualquer “informata” que se preze, mas para quem não se recorda, qualquer aplicação utiliza no minimo uma thread (a thread principal ou main thread) onde o fluxo do processamento é executado, nessas aplicações os comandos são executados um por vez de forma sequencial. Até ai nada demais, mas a coisa passa a ficar int... |
693 |
|
22/01/2013
Diego Garcia
Comentários: 4 |
[Artigos]
Definindo conjuntos de dados em Delphi
Vamos ver agora os conjuntos de tipos de dados usando Set Of. O set of permite você definir uma especie de range de algum tipo de dado (caracter, inteiro ou enumeration), por exemplo, um conjunto de 1 até 50 poderia ser declarado da seguinte maneira:
var
MeuConjunto : Set of 1..50;
Com esta declaração estamos criando uma vari... |
160 |
|
21/01/2013
Diego Garcia
Comentários: 3 |
[Artigos]
Tipos Enumerados em Delphi
Basicamente os Enumerations são tipos enumerados que pode ser utilizado como uma lista organizada de itens onde é definido um range e os valores destes range serão acessados por um nome de valor e não por um numero. Um exemplo bem comum em nosso dia a dia é o Boolean, um tipo enumerado com duas possibilidades (True ou False). Para facilitar a compr... |
307 |
|
18/01/2013
Diego Garcia
Comentários: 12 |
[Artigos]
Dicas sobre o componente DBGrid do Delphi
O Dbgrid talvez seja um dos componentes mais utilizados no dia a dia de um desenvolvedor delphi, principalmente em soluções comerciais, isso graças ao fato de que o uso deste componente seja definitivamente a maneira mais simples e mais rápida de apresentar dados de um dataSet para o usuário, seja esse dataSet o resultado de uma pesquisa em um banc... |
779 |
|
11/01/2013
Diego Garcia
Comentários: 0 |
[Artigos]
Conhecendo um pouco da RTTI – Parte V - Final
Vamos chegando finalmente ao final deste estudo introdutório sobre a magnifica RTTI do todo poderoso Delphi. Neste post quero solucionar uma pequena pendencia que está presente em nosso estudo desde a primeira parte, quem está acompanhando desde o começo deve se lembrar do nosso método pegarValoresRTTIObj(), pra quem não se lembra, esse método basi... |
168 |
|
09/01/2013
Diego Garcia
Comentários: 0 |
[Artigos]
Conhecendo um pouco da RTTI – Parte IV
Continuando o estudo sobre a RTTI, vamos ver um pouco sobre o que consiste o TValue, que estamos utilizando desde a primeira parte do nosso estudo.
O TValue consiste em um estrutura de dados para diferentes tipos de dados e é largamente utilizada nas rotinas que envolvem a RTTI (como por exemplo armazenar informações sobre um campo de um obj... |
137 |
|
22/12/2012
Diego Garcia
Comentários: 0 |
[Artigos]
Conhecendo um pouco da RTTI – Parte III
Chegou a hora da “invocação” rs. Nessa parte do nosso estudo sobre RTTI vamos ver como podemos invocar métodos de objetos através da RTTI e como é feita a passagem de parâmetros para estes.
Para começar, vamos fazer uma rotina básica para listar os métodos de um objeto, seguindo a mesma ideia dos outros exemplos que fizemos anteriormente. P... |
131 |
|
19/12/2012
Diego Garcia
Comentários: 0 |
[Artigos]
Conhecendo um pouco da RTTI. Parte II
Dando continuidade aos estudos sobre a poderosa RTTI do Delphi, como eu havia prometido na primeira parte do artigo, vamos nos aprofundar um pouco mais no TRttiContext no TRttiType e no TRttiField.
- TRttiContext: O TRttiContext é praticamente a parte principal da RTTI, é através dele que se torna possível ter acesso aos métodos e atributos... |
144 |
|
17/12/2012
Diego Garcia
Comentários: 0 |
[Artigos]
Conhecendo um pouco da RTTI. Parte I
Como vão amigos? sei que faz tempo que não atualizo aqui mas os estudos continuam, desta vez vamos brincar um pouco com o RTTI (Run-Time Type Information) do Delphi.
Falando um pouco sobre o que se trata, a RTTI consiste na estrutura de informações (disponibilizada pelo compilador) de objetos em tempo de execução. Com este recurso é possível... |
296 |
|
01/02/2012
Diego Garcia
Comentários: 5 |
[Dicas]
Drag and Drop com ListView
Primeiro inclua em seu formulário dois TListView e preencha a propriedades DragMode com o valor dmAutomatic nos dois. Para facilitar nossas vidas, vamos criar um método genérico para realizar o drag and drop, com o seguinte código... |
519 |
|
23/01/2012
Diego Garcia
Comentários: 4 |
[Dicas]
Função para Validar a Chave da Nota Fiscal Eletrônica
function ValidarChaveNFe(const ChaveNFe: string):boolean;
const
PESO : Array[0..43] of Integer = (4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2,0); /// Aqui corrigido para o Delphi XE
var
Retorno : boolean;
aChave : Array[0..43]... |
1031 |
|
|
|
|
Renove Já! |
|
Edição 112 |
|
Edição 111 |
|
50 Programas Fontes |
|
|