|
|
26/09/2013
Marcos Salles
Comentários: 0 |
[Artigos]
[Intermediário] - Chain od Reponsability -Padrões de Projeto no Delphi Parte III
Nosso objetivo inicial foi desenvolver um Algorítmo genérico que implementasse o Padrão Chain of Responsability . Por ser genérico , as classes envolvidas tem acoplamento fraco entre si e podem ser trocadas sem prejuízo à sua funcionalidade . Para isto no artigo anterior dêmos inicio a criação das classes
TMoeda … Classe Base que im... |
178 |
|
24/09/2013
Marcos Salles
Comentários: 0 |
[Artigos]
[Intermediário] - Chain of Reponsability - Padrões de Projeto no Delphi Parte II
No moduloI deste Artigo foi proposto a criação de um algoritmo no estilo máquina de Refrigerantes . Onde moedas com as propriedades (Peso , diâmetro , espessura) serão adicionadas na máquina e esta retornará o Valor desta Moeda com base nesta propriedades ( regras de aprovação) . A dificuldade está no número elevado de classes moedas que já existem... |
204 |
|
23/09/2013
Marcos Salles
Comentários: 0 |
[Artigos]
[Intermediário] - Chain of Reponsability - Padrões de Projeto no Delphi Parte I
Situações podem ocorrer corriqueiramente em nossos projetos e não damos conta de sua recursividade e para cada “novo”/velho desafio uma solução é lançada. Dando a impressão que sempre se acha uma nova e “melhor” solução, a cada fez que refazermos o problema. Padrões de Projeto visa exatamente isto ,Definir um Padrão de comportamento na arquit... |
289 |
|
09/09/2013
Marcos Salles
Comentários: 0 |
[Artigos]
[Básico] - DelimitedText CommandText Delimiter QuoteChar
Antes de mais nada destaco que este artigo , não é um artigo técnico e tenta mostra os passos que envolvem estas propriedades da TString , tão comumentemente encontrada nos diversos códigos espalhados por aí. Vamos começar com uma pergunta clássica: Qual o Resultado de Showmessage(Lista.DelimitedText)?
A resposta é feita com uma pergunta : “... |
285 |
|
15/02/2013
Marcos Salles
Comentários: 0 |
[Artigos]
Definindo o Caminho do Banco de Dados - em DataSnap / DbxReader / DBX4
O Título é este mesmo : “Definir em Run-Time ou passar como parâmetro o Caminho do Banco em DataSnap / DbxReader / DBX4. Nosso objetivo , nossa tecnologia e nosso Framework. Antes da sequência , comento que tento colocar no título o máximo de informações . É constrangedor e pouco frustrante ( “muito” seria mais adequado ) uma busca no google e o qu... |
336 |
|
23/01/2013
Marcos Salles
Comentários: 7 |
[Artigos]
Queries dinâmicas no servidor DataSnap
Há muitos motivos para evitar o uso do commandText do clientDataSet , entre eles podemos destacar alguns pontos.
* A Descentralização de acesso a dados e de negócio abre um impácto negativo grande na manutenção desses aplicativos clientes.
* Dificuldade na reutilização de codigo
* Fragilidade a SQL Injection devido a Sq... |
354 |
|
|
28/12/2012
Marcos Salles
Comentários: 0 |
[Artigos]
Classe para Gerar o Fluxo de Caixa em Delphi parte III
Chegamos a terceira parte do Artigo classe TCdsFluxoCaixa , se formos dar uma introdução no Post ele se estenderá por demais. Vamos falar do que realmente interessa a classe Tform , sua interface e respectiva implementação e com ela interagirá com o Framework Fluxo de Caixa
... |
345 |
|
27/12/2012
Marcos Salles
Comentários: 0 |
[Artigos]
Classe para Gerar o Fluxo de Caixa em Delphi parte II
Na primeira parte Sugerimos um formulário , com os respectivos componentes e fornecemos a DLL de uma Base de Dados em Firebird que será a nossa fonte de dados . Lembramos ainda que para nosso Framework Funcionar algumas condições foram impostas . São elas :
FluxoCaixa_Id do Type Integer Not Null e PrimaryKey
FluxoCaixa_Credit... |
389 |
|
27/12/2012
Marcos Salles
Comentários: 0 |
[Artigos]
Classe para Gerar o Fluxo de Caixa em Delphi parte I
Vamos ao longo desta série apresentar uma solução para o Fluxo de caixa . Primeiro entenda como Fluxo de Caixa , o Montante da operação que leva em consideração o Saldo Anterior , o que entrou e o que saiu . A dificuldade maior nesta operação é que o Saldo anterior esta sempre um Registro anterior da operação a ser realizada . Existem soluções pa... |
525 |
|
19/11/2012
Marcos Salles
Comentários: 0 |
[Artigos]
Create Objetos por Strings pelo Nome da Classe passado por parâmetros Part.II
Particularmente sempre que necessito passar parâmetros de uma classe para a outra faço no contructor da classe. Deste modo diminuo o Acoplamento entre as partes envolvidas O processo é mais Orientado ainda quando as duas não sabem uma das existência da outra. Para isto devemos utilizar de um Factory, um modelo que permita esse intercâmbio sem que a... |
305 |
|
18/11/2012
Marcos Salles
Comentários: 0 |
[Artigos]
Create Objetos por Strings pelo Nome da Classe passado por parâmetros Part.I
Em algumas situações necessitamos instanciar um objeto a partir do Nome em formato string de uma classe. Isto muitas das vezes era feito registrando as classes e utilizando as e-nesimas dicas para este objetivo. Porém, o Delphi 2010 trouxe novidades neste sentido e podemos obter bons resultados. A condição para que isto funcione é que seja informad... |
351 |
|
03/09/2012
Marcos Salles
Comentários: 3 |
[Artigos]
MDC MMC Interfaces Generics Delphi
Parece confuso , MDC (máximo Divisor Comum Entre dois ou mais Números ) , MMC ( Mínimo Múltiplo comum entre dois ou mais números ) , Interfaces , Generics , Classes etc… O que que MDC/MMC tem a ver com esses conceitos ??? Seria muito simples apresentar um método que executasse o MDC/MMC entre diversos números , mas e se formos aumentado esses núm... |
481 |
|
27/07/2012
Marcos Salles
Comentários: 0 |
[Artigos]
Relacionamento Mestre Detalhe no DataSnap DExpress Parte V
Bem, foi longo a trajetória atê aqui. O Percurso foi modificado quando alterei o script projetado e resolvi apresentar o Mod RAD do Delphi em se fazer relacionamento, sem digitar sequer uma única linha, só configurando corretamente os objetos envolvidos. Com isto não demos enfâse de fato as particularidades da Class TExecuteApplay. Mas não vamos c... |
292 |
|
26/07/2012
Marcos Salles
Comentários: 0 |
[Artigos]
Relacionamento Mestre Detalhe no DataSnap DExpress Parte IV
Chegando a quarta parte do Artigo vamos novamente recordar o que já temos pronto e funcionando:
No Primeiro Artigo:
Definimos o Banco de Dados. Sua tabela e seus campos. Utilizamos o Script passado no primeiro artigo. Temos um Projeto dividindo logicamente entre o Servidor e um Cliente, simulado através do TLocalConnection a i... |
232 |
|
24/07/2012
Marcos Salles
Comentários: 0 |
[Artigos]
Relacionamento Mestre Detalhe no DataSnap DExpress Parte III
Chegamos a terceira parte deste artigo, houve em contratempo porque definimos a estrutura Mestre Detalhe no servidor configurando os Objetos. O Modo RAD do Delphi permite criar o Mestre Detalhe de modo muito prático. Vamos recordar o que temos até o momento:
No Primeiro Artigo:
Definimos o Banco de Dados. Sua tabela e seus cam... |
287 |
|
23/07/2012
Marcos Salles
Comentários: 0 |
[Artigos]
Relacionamento Mestre Detalhe no DataSnap DExpress Parte II
Dando prosseguimento a segunda parte de nosso artigo , lembramos que na primeira parte foi desenvolvido apenas a estrutura de nossa aplicação ( que será em duas camadas ) mais simulada atraves do TLocalConection em uma estrutura de tres camadas, e também definimos e repassamos o Script do Banco de Dados. Vamos iniciar o desenvolvimento do projeto e... |
313 |
|
20/07/2012
Marcos Salles
Comentários: 2 |
[Artigos]
Relacionamento Mestre Detalhe no DataSnap DExpress Parte I
Hoje iremos começar uma série de Threads que ira tentar diminuir o sacríficio na obtenção do Primary Key numa estrutura DataSnap. Como efetuar um relacionamento Mestre Detalhe quando estamos sem conexão. Nosso programa DataSnap so funciona se a Rede estiver OK? O que dirá o seu cliente se a ele, eu oferecer um programa que funciona Desconectado. Ma... |
611 |
|
29/06/2012
Marcos Salles
Comentários: 4 |
[Artigos]
Multicast events Delphi
Mexer em buraco de formigueiro sempre é uma má idéia. Cutucar a onça com vara curta então nem se fala. São ditados populares que mesmo sem termos praticado (acho eu) concordamos com eles. Existem muitos deste gênero e todos retratam a consequência de uma má idéia. E hoje eu tive uma delas, que seria simular o Multicast events em Delphi. Talvez eu m... |
671 |
|
19/06/2012
Marcos Salles
Comentários: 0 |
[Artigos]
O que mudou na classe TDataModule no Delphi XE2
O TDataModule mudou no XE2. Muitos componentes aparentemente desapareceram. O Local Connection é um deles. Para quem utiliza o TLocalConnection do DataSnap para simular um ambiente n-tier utilizando uma aplicação client Server duas camadas com a vantagem de efetuar uma migração menos dolorosa e com menor curva de aprendizado, ficará surpreso por nã... |
752 |
|
15/06/2012
Marcos Salles
Comentários: 0 |
[Artigos]
TStopWatch – Delphi Implementação de um contador de alta resolução
O Delphi 2010 trouxe a classe TStopwatch definida na uses Diagnostics. Esta classe tem a responsabilidade de fornecer uma alta resolução de implementação cronômetro. E como o próprio Help do Delphi diz : "obter acesso a alta resolução temporizadores que podem ser utilizados para monitorizar o tempo gasto na execução de algumas operações..." Porém,... |
445 |
|
13/06/2012
Marcos Salles
Comentários: 2 |
[Artigos]
Criação de Campos Aggregates Run-Time ClientDataSet
Muitas das vezes precisamos extrair valores agregados “calculados” em uma rotina. A primeira coisa que vem em nossa mente é fazer um Sql utilizando as expressões Sum, Max, Count, Avg.Ao fazer isto consumindo recurso de Rede, sendo que o clientDataSet tem modos mais elegantes de tratar o problema: os campos Aggregados. Esses campos podem ser defini... |
406 |
|
06/06/2012
Marcos Salles
Comentários: 0 |
[Artigos]
Configurar os parâmetro na conexão DataBase Arquivo Ini DbExpress
Quem é que nunca precisou, nunca utilizou um Arquivo Ini para carregar os parâmetros de uma conexão no DbExpress. Tudo muito bonito e prático, sem ter que recompilar a aplicação, só alterando o database no Arquivo Ini. Mas não se pode falar de parâmetros de conexão do DbExpress sem entender as propriedades LoadParamsOnConnect, DriveName, connection... |
707 |
|
05/06/2012
Marcos Salles
Comentários: 2 |
[Artigos]
Classe Genérica para Transformar Tipos ENUM Enumerados Para TStrings
Quem é que nunca utilizou Tipos Enumerados para dar um suporte mais orientado a Aplicação. Quem é que nunca precisou carregar um Tstrings com as opções do Tipo Enum? Quem é que nunca fez certas artimanhas para passar de String para Tipos Enumerados e Vice Versa. Pois bem, o artigo de hoje é não é somente mais uma, das inúmeras opções que se encontr... |
468 |
|