Instalando o ZeosLib no Turbo Delphi
By admin
O ZeosLib é um suite de componentes para você ter uma conexão nativa com banco de dados, ou seja, uma conexão sem drivers auxiliares como o ODBC. Isso entre outras coisas deixa seu sistema muito mais rápido e agiliza na fase de desenvolvimento. Aqui vamos ver como instalar no Turbo Delphi, porém não é muito diferente de outras versões.
Instalação do ZeosLib:
- Clique aqui e baixe a última versão do Zeos.
- Descompacte o ZeosLib, e cole a pasta no caminho “C:\Arquivos de programas\Borland\BDS\4.0\lib” o path ficará C:\Arquivos de programas\Borland\BDS\4.0\lib\ZEOSDBO-6.6.6-stable, gosto de deixar todos os componentes e bibliotecas aqui nesta pasta lib do Turbo Delphi por questões de organização, mas você pode colocar em outra pasta se quiser.
- Dentro do Turbo Delphi vá em Tools > Options > Library – Win32 > Library Path. Clique no botão com “…” e ao abrir a tela do Library Path adicione os seguintes diretórios:
- C:\Arquivos de programas\Borland\BDS\4.0\lib\ZEOSDBO-6.6.6-stable\src\component
- C:\Arquivos de programas\Borland\BDS\4.0\lib\ZEOSDBO-6.6.6-stable\src\core
- C:\Arquivos de programas\Borland\BDS\4.0\lib\ZEOSDBO-6.6.6-stable\src\dbc
- C:\Arquivos de programas\Borland\BDS\4.0\lib\ZEOSDBO-6.6.6-stable\src\parsesql
- C:\Arquivos de programas\Borland\BDS\4.0\lib\ZEOSDBO-6.6.6-stable\src\plain
- Entre no Turbo Delphi, clique em abrir e acesse a pasta: C:\Arquivos de programas\Borland\BDS\4.0\lib\ZEOSDBO-6.6.6-stable\packages\delphi10\ZeosDbo.bdsgroup (Obs: estou usando o package para o Delphi 10 pois foi o que ficou melhor compatível).
- Compile os arquivos na seguencia:
- ZCore100.bpl
- ZPlain100.bpl
- ZParseSql100.bpl
- ZDbc100.bpl
- ZComponent100.bpl
- ZComponentDesign100.bpl
- Clique no ZComponentDesign100.bpl e de install.
- Pronto!
Maiores detalhes clique aqui para uma documentação mais detalhada. Depois de instalado você terá os seguintes componentes:
Instalando o Componente EmbeddedWB no Turbo Delphi
By admin
Já pensou criar o seu próprio navegador ou utilizar funcionalidades de um browser? Você pode fazer isto como o componente EmbeddedWB. A dica aqui é para a instalação no Turbo Delphi mas para a instalação no Delphi não muda muito também. Para baixar este componente clique aqui.
Confira os passos abaixo para instalação:
- Copiar o conteúdo do arquivo para a pasta Lib do Delphi ( C:\Arquivos de programas\Borland\BDS\4.0\lib )
- Adicionar este caminho no LIB (Tools > Options > Library – Win32 > Library Path) :
C:\Arquivos de programas\Borland\BDS\4.0\lib\EmbeddedWB_D2005\Source
C:\Arquivos de programas\Borland\BDS\4.0\lib\EmbeddedWB_D2005\Source\Lib - Abra o arquivo EmbeddedWebBrowser_D2006.bdsproj
- Dê BUILD ALL e, logo em seguida, INSTALL. Uma mensagem aparecerá dizendo que os componentes foram instalados
- Feche o projeto, saindo sem salvar.
Após instalado você terá os seguintes componentes:
Aprenda a Criar um Programa Paint Parecido com o do Windows
By admin
Artigo Enviado por Marcelo Tropicore
Aqui segue um exemplo de um programa inspirado no Paint do Windows .Nós vamos usar dois componentes Image da paleta Additional para representar a nossa área de desenho. Esse componente assim como todos os componentes visuais do Delphi tem uma propriedade chamada “Canvas” ,é essa propriedade que vai determinar a aparência dos componentes visuais como um Edit, Label, Image etc… Dentre as propriedades da Classe TCanvas umas das principais são: Brush, CanvasOrientation, ClipRect, CopyMOde, Font, Handle, Pen, PenPos, Pixels, Ellipse, FillRect, LineTo, MoveTo, Rectangle e uma porção de outras propriedades.
Vamos declarar duas variáveis globais do tipo TBitmap com os nomes Backbuffer e backbuffer2, essas variáveis vão gerar a nossa área de desenho (é claro que é preciso declarar outras variáveis globais para esse exemplo rodar direito,qualquer dúvida é só dar uma olhada no código fonte
) . Eu coloquei os dois Images dentro de um ScrollBox (paleta Additional) para poder redimensionar os Images sem interferir no tamanho do Form. Agora que começa a parte boa, hora de por a mão na maça, dentro do OnCreate do Form faça o seguinte.
Para podermos usar os Backbuffers temos que criar com backbuffer:= TBitmap.Create; dimensionamos ele no mesmo tamanho do Scrollbox . O backbuffer.Canvas.Brush.Color:= ClWhite; é para determinar a cor de preenchimento do backbuffer. Na parte Image1.Canvas.FillRect(Rect(0,0,Image1.width, Image1.height)); vamos Limpar toda a área do Image e finalmente mandamos o backbuffer para o Image com : Image1.Picture.Assign(backbuffer);
Vamos repetir o mesmo procedimento para o backbuffer2 com algumas coisas adicionais.Aqui nós determinamos qual vai ser a cor transparente do backbuffer2 que vai pro Image2, e em muitas vezes o Image2 vai ficar sobre o Image1 como pode ver no evento de alguns botões das ferramentas com o comando Image2.BringToFront;. Assim quando o Image2 ficar sobre o Image1 vai ser possível ver o Image1 que está por baixo. Aqui no caso eu usei a cor branca.
Inicialize as outras variáveis como no exemplo do código fonte.
ferramenta:= ‘lápis’;
StatusBar1.Panels[1].Text:= ‘Lapis’;
Shape1.Brush.Color:= cor;
E por último vamos liberar as variáveis backbuffer e backbuffer2 da memória, por enquanto não precisamos mais delas ,pois já foram carregadas para os dois Images, portanto vamos trabalhar com eles.
As ferramentas que vão utilizar o Image2 são aquelas que desenham as linhas, retângulos e elipses. Dentro do Image2 vamos utilizar três eventos , o OnMouseDown, OnMouseMove e OnMouseUp. O componente Image é como um plano cartesiano, se você não matou as suas aulas de matemática sabe do que eu estou falando hehehe, ele tem duas dimensões , o X e o Y.
No OnMouseDown nós vamos pegar a posição X e Y que o usuário clicou dentro do Image2. Dai fazemos o seguinte, Image2.Canvas.MoveTo(X,Y); , com isso nós movemos a posição do ponto de partida de uma linha por exemplo ,não começamos a desenhar ainda só dizemos a propriedade Canvas do Image onde vai começar a linha.
No OnMouseMove nós usamos as variáveis X e Y do OnMouseDown e criamos uma linha (se o usuário selecionou essa ferramenta)dessa posição até a posição atual no OnMouseMove.
Image2.Canvas.MoveTo(posX2,posY2);
Note que antes de usar esse comando eu usei o Image2.Canvas.FillRect(Rect(0,0,Image2.Width,Image2.Height)); Para limpar o que já tinha sido desenhado antes, se não fizermos isso o Image2 vai desenhando um monte de linha uma atrás da outra, e fica um monte de linha desenhada no Image. Por isso eu usei dois Images , um para guardar o desenho e o outro para mostrar só o traçado da linha , se eu tivesse usado o Canvas.FillRect(); no Image1 a cada evento do OnMouseMove seria apagado todo o desenho principal.
No OnMouseUp quando o usuário solta o botão do mouse , o programa já tem a posição inicial e final da linha e faz o desenho no Image1 que é o desenho principal.
begin
Image1.Canvas.MoveTo(posX2,posY2);
Image1.Canvas.LineTo(posX,posY);
posX3:= x;
posY3:= y;
end;
Algumas ferramentas não utilizam o Image2 pois desenha direto no Image1 que são a ferramenta Lápis, Borracha, Spray e os baldes de tinta. No caso dos baldes de tinta eu não consegui achar nenhum comando que conseguisse fazer igual ao do Paint do Windows, então tive usar uma lógica meio maluca mesmo pra conseguir chegar o mais peto que eu pude, se alguém sabe como fazer isso por favor me diga como hehehe.
Bom é isso aí pessoal , eu passei o básico de algumas funcionalidades do programa dentro da propriedade Canvas do componente Image, o programa tem outras funções bem legais como abrir imagens e poder editar, salvar e também redimensionar o tamanho da área de desenho.
Se alguém quiser entrar em contato para tirar dúvidas é só mandar no meu email, marcelo_tropicore@hotmail.com
Baixe os Fontes Aqui: paint.
“Uma mente que se abre para uma nova idéia nunca voltará ao seu tamanho original”.
Utilizando DBExpress de uma Maneira Fácil
By admin
Artigo enviado por: Marcio F. Cruz
DBExpress, segundo meus testes, é a melhor tecnologia para comunicação com banco de dados. Mas, infelizmente, exige a configuração de vários parâmetros e manipulação de vários componentes visuais.
Pensando neste problema, resolvi criar um componente que contém um conjunto de classes, para facilitar a vida do programador em trabalhar com esta maravilhosa tecnologia.
Procurei criar as classes da melhor maneira possível, com os nomes dos métodos e propriedades o mais parecido possível com o que conhecemos e utilizamos em BDE, Zeos, ADO e mesmo no DBExpress.
Neste artigo, descreverei como instalar e fazer uma aplicação simples. Espero que seja útil para a comunidade e, talvez, os pacotes e classes de suas regras de negócio a utilizem.
Passo 1
Download http://sourceforge.net/projects/dddbxfacil/
Este pacote comtém o componente dddbxfacil com suas classes, bem como uma aplicação simples para utilizá-la.
Passo 2
Criar arquivo de configuração. Este arquivo, já está contido no pacote de exemplo e, ele contém a estrutura que é usada pelo dbconnections.ini e, serve para indicar os parâmetros para conexão ao banco de dados. Eu não costumo deixar o login e password contido neste arquivo mas, nada impede de se inserir nele.
A configuração que defini, foi para o Oracle mas, pode ser para qualquer banco que o Dbexpress é compatível que, acho que são todos:
CONNECTIONNAME=OracleConnection
GETDRIVERFUNC=getSQLDriverORACLE
VENDORLIB=oci.dll
LibraryName=dbxora30.dll
DriverName=Oracle
HostName=
Database=
User_Name=
Password=
BlobSize=-1
ErrorResourceFile=
LocaleCode=0000
Compressed=False
Encrypted=False
Passo 3
No uses de sua unit, vamos inserir as seguintes units:
DB, DBTables, ddcomumDBX, ddconexaoDBX, ddsqlDBX, ddproviderDBX.
Passo 4
Vamos no private e, colocar as seguintes “variáveis”:
ProviderDBX: TProviderDBX;
SqlDBX: TsqlDBX;
Passo 5
Este passo é opcional mas, para mostrar melhor o funcionamento da classe, criaremos um método chamado MeuDataChange, novamente apontar ele.
procedure MeuDataChange(Sender: TObject; Field: Tfield);
//No implementation
procedure TForm2.MeuDataChange(Sender: TObject; Field: TField);
begin
// Nao é necessário colocar teste para ver se tabela tá aberta, DisableControls, etc…
grbTesteGrid.Caption := ‘Testando o grid. Agora são ‘+
FormatDateTime(‘dd/mm/yyyy hh:nn:ss’, now);
end;
Passo 6
Precisamos instanciar as variáveis que criamos no private. Para isso, criei procedimentos para facilitar isso. No formShow, colocaremos o seguinte código:
IncludeTrailingPathDelimiter(ExtractFilePath(Application.ExeName))+‘configuracao.ini’,
‘NOMESECAOCONFIGORACLE’);
ConexaoDBX.Login := ‘usuario’;
ConexaoDBX.Senha := ’senha’;
ddproviderDBX.ProviderDBXInit(ProviderDBX,
ConexaoDBX,
DBGrid1,
‘ROWID’,
true,
MeuDataChange);
ddsqlDBX.SqlDBXInit(SqlDBX, ConexaoDBX);
Passo 7
Exemplo de código para executar busca no banco de dados:
var
Retorno: TProviderRetorno;
begin
ConexaoDBX.ConectarSeDesconectado;
ProviderDBX.ClearAll;
with ProviderDBX, ProviderDBX.LinhaSQL do
begin
Add(‘SELECT * FROM TABELA’);
Retorno := OpenDQL;
end;
end;
Passo 8
Exemplo de evento de inclusão:
var
iProximoCodigo: integer;
begin
ConexaoDBX.ConectarSeDesconectado;
// Pegar Próximo Codigo
with SQLDBX do
begin
setLinhaSQL(‘SELECT MAX(CODIGO) PROXIMO FROM TABELA’);
OpenDQL;
iProximoCodigo := SQLDQl.FieldByName(‘PROXIMO’).AsInteger+1;
end;
ConexaoDBX.Transacao_Abrir;
try
// Incluir
with SqlDBX do
begin
ClearAll;
with LinhaSQL do
begin
Add(‘INSERT INTO TABELA (CODIGO, DESCRICAO)’);
Add(‘VALUES’);
Add(‘(:P_CODIGO,
_DESCRICAO)’);
end;
AddParam(ftInteger, ‘P_CODIGO’, iProximoCodigo);
AddParam(ftString, ‘P_DESCRICAO’, ‘nome ‘+IntToStr(iProximoCodigo));
ExecDML;
end;
ConexaoDBX.Transacao_Commit;
except
on E:Exception do
begin
ConexaoDBX.Transacao_RollBack;
ShowMessage(E.Message);
end;
end;
end;
No arquivo que é baixado do sourceforge, este exemplo já está contido.
Qualquer dúvida, podem me escrever para meu e-mail que eu respondo:
TMS Smooth Controls Pack para Delphi 2009 e C ++ Builder 2009
By admin
Olá, a Embarcadero está disponibilizando gratuitamente o TMS Smooth Controls Pack para todos os usuários registrados do C++ Builder e Delphi 2009. O TMS é um pack com 22 componentes que permitem a criação de interfaces ricas em Delphi, incluindo animações e estilos do Microsoft Office e do iPhone. Vale a pena conferir!
- TMS Smooth Controls Pack
- Interface feita com os componentes do TMS Smooth Controls Pack
- Interface feita com os componentes do TMS Smooth Controls Pack
- Interface feita com os componentes do TMS Smooth Controls Pack
Para quem está interessado o link para pegar o TMS Smooth Controls Pack é o seguinte:
http://latam.embarcadero.com/br/delphi2009tms/
Já a URL reduzida é a seguinte: url20.ca/bexe
Endereço reduzido desta dica: url20.ca/yefe
t+
Pacotão Dicas Delphi 1.5
By admin
Super dica, o website dicasdelphi.xpg fornece um excelente pacote com mais de 900 dicas de programação para o Delphi. Este arquivo de dicas é muito bem organizado e de fácil manipulação auxiliando o programador a axar a dica para a sua dúvida muito facilmente.
Segue o texto com a descrição do próprio site que fornce o super pacotão de dicas Delphi:
O Dicas Delphi 900 é um acervo de dicas e exemplos da linguagem de
programação Delphi.
Seu objetivo é ajudar todos os desenvolvedores de sistemas que utilizam
o Delphi como ferramenta.
Sendo um pograma FREE (grátis), pode ser distribuído livremente. Os
que desejarem também podem distribuir essa lista de ajuda em seus
sites. Não pode ser comercializado.
Este pacotão de dicas aborda temas tais como:
- Criar arquivo DBF com índices compostos
- Compactação de uma tabela Paradox
- Listar as tabelas e views do banco de dados (Firebird)
- Proteger e compactar um .EXE
- Procurando um arquivo em todo o HD
- Lendo Arquivo CAB
- Mudar a cor da célula ativa do DBGrid
- Enviando informações direto para a impressora
- Exportando dados para um arquivo XML
E muito mais dicas. Além de mais de 900 dicas o pacotão de dicas ainda possui uma seção com artigos e aborda temas tais como:
- Conceito de Banco de Dados
- Rave – Imprimindo Gráficos (Chart)
- Instalando o BDE a partir do BDEINST.CAB
- Fundamentos de Object Pascal
entre outros artigos. Este arquivo de dicas chm é uma excelente fonte de informações para quem está aprendendo Delphi e para programadores experientes quando precisam consultar alguma dica rápida. E como a maioria das dicas são bastante genéricas todas são compatíveis com o Delphi 2009.
Você pode baixar o pacotão de dicas totalmente gratuito no seguinte link:
Assim que estiver uma nova atualização do pacotão Dicas Delphi 900 estaremos publicando aqui no Blog.
URL reduzida deste artigo: url20.ca/esoj
t+
Dica : Delphi Webinar – Porque migrar para Delphi 2009
By admin
Mais uma dica para os interessados no Delphi 2009. A embarcadero está promovendo um webinar gratuito mostrando as razões para migrar para o Delphi 2009.

Porque migrar para o Delphi 2009?
Segue a descrição do evento:
“A Embarcadero Technologies preparou pra você que ainda não migrou para Delphi 2009 um evento online para tirar todas as suas dúvidas.
Efetuando seu registro, você garante no mínimo 30% de desconto na compra de Delphi, RAD Studio, C++ Builder e InterBase, desconto válido para novas licenças e atualização.
Participe do evento online gratuito “Razões para migrar” e conheça todas as novidades que vão ajudar ainda mais o desenvolvimento de seus sistemas.
Serão 3 horas na prática de novos recursos incorporados ao Delphi desde a versão 7, como: novidades no IDE, linguagem, VCL, documentação, banco de dados, modelagem e muito mais.
Para participar, efetue o seu registro agora mesmo.”
O link para os interessados que queriam participar desse interessante Webinar é: https://www124.livemeeting.com/lrs/advancedsw_ccc/Registration.aspx?pageName=991mhh5r2rs7j70h
Vale a pena participar, para os interessados não esqueçam de enviar esta dica para outros programadores Delphi também. Pois quanto mais pessoas paticiparem maior será a sinergia entre a comunidade Delphi brasileira.
URL reduzida desta dica: url20.ca/adeq
t+
Dica : Migrar do Delphi 7 para o Delphi 2009
By admin
Dica quentíssima no site da Rede de Desenvolvedores da Embarcadero tem um documento de 60 páginas listando todas as diferenças desde o Delphi 7 até o Delphi 2009. Então se você está com dúvidas para baixar o Delphi 2009 por ser um lançamento da Embarcadero vale a pena conferir este documento e consultar todas as diferenças entre o Delphi 7 e o Delphi 2009. É bom isso também pois quando você realizar um upgrade e abrir os seus projetos antigos no Delphi 2009 você não tenha surpresas não muito legais, e se caso você tiver vai ser mais fácil encontrar solução para o problema de troca da versão 7 para a versão 2009.

Preview da Rede de Desenvolvedores da Embarcadero
O endereço para baixar este excelente documento é: http://cc.codegear.com/Item/26707 já a URL reduzida desta página se caso você quer enviar para os seus amigos é a seguinte: url20.ca/eked
Essa é uma leitura essencial para todos que pensam em migrar para o Delphi 2009.
URL reduzida desta dica: url20.ca/inix
t+
Dica : Refatorar seu código Delphi
By admin
Bom essa é uma das super dicas que tem que ser dada. Existe um serviço na web para refatoração de códigos ou como no inglês code refactoring que possibilita você publicar o seu código para que outras pessoas vejam e ajudem você no processo de refatoração. Em adição, outros serviços são prestados como code highlighting para publicação em blogs e inclusive nos comentários. Muitas vezes quando temos um código feito em um Delphi com uma versão mais velha ou se no passado fizemos um código um tanto fora dos padrões e queremos reutilizar o mesmo, a refatoração é muito importante.
Em certas empresas existe muita pressão dos gerentes de projetos em cima dos programadores para concluirem o projeto em um tempo muito curto e com isso acaba ocasionando que o código acaba saindo sem qualidade. Pois sou defensor da seguinte lei que pretendo discutir ela em posts subsequentes, não sei se estou errado ou certo, mas criei a seguite lei para a programação em qualquer liguagem: A qualidade da aplicação é diretamente proporcional ao tempo investido. Sei que estou generalizando nesta idéia mas francamente isso é o que ocorre em vários lugares. Então quando fizemos algo as pressas para entregar algo pro cliente impaciente e depois paramos com calma para melhorar o código, o serviço deste website vai ser de grandíssima ajuda na refatoração. Principalmente para os programadores que trabalham sozinhos nos seus home offices.
Logotipo do website refactormycode.com
Como este blog visa também ser para usuário leigos e avançados vou colocar aqui em linhas gerais o que vem a ser refatoração ou refactoring de acordo com o material disponível na wikipedia. “Refatoração (do inglês Refactoring) é o processo de modificar um sistema de software para melhorar a estrutura interna do código sem alterar seu comportamento externo.” Imagine você publicar uma parte de seu código em um website e outras pessoas vão poder opinar e melhorar o mesmo sem alterar o resultado final. Isso é muito bonito! Existem inúmeras outras vantagens e você deve conferir este serviço.
A seção dos códigos em Delphi está no seguinte endereço: http://refactormycode.com/refactorings/recent/delphi
O endereço oficial é: www.refactormycode.com
Já a url reduzida do Refactor my Code para você enviar para seus amigos ou enivar por celular é: url20.ca/s1976
Bom fica esta dica para facilitar a refatoração dos códigos em Delphi. Um serviço muito bom.
URL reduzida desta dica: url20.ca/k2003
t+
Dica : Nova Comunidade do Dicas Delphi no Orkut
By admin
Esta semana foi criado no Orkut a comunidade do blog Dicas Delphi. A comunidade visa manter uma maior integração entre os leitores do blog para que eles possam participar do Dicas Delphi também. Assim como no blog a comunidade foi feita para ser “gerenciada” pelos próprios usuários e leitores que através de críticas e sugestões poderão definir como querem as coisas.

Comunidade do Dicas Delphi no Orkut
A comunidade também tem como um diferencial a imparcialidade. Por ser um canal aberto para todos os desenvolvedores e interessados em Delphi. Ela tem espaço para a divulgação de empresas, projetos, parcerias, produtos e muito mais. Além de divulgar as dúvidas e soluções que surgem ao se desenvolver uma aplicação Delphi.
Além dos posts livres, a comunidade tem os seguintes posts fixos:
- INFORMAÇÕES IMPORTANTES ANTES DE POSTAR
- BOLSA DE EMPREGOS
- ANÚNCIOS DE PRODUTOS
- ANÚNCIOS DE EMPRESAS E SERVIÇOS
- ANÚNCIOS DE PROJETOS E PARCERIAS
Os tópicos acimas são os primeiros, mas assim que os leitores começarem a participar e opinar poderemos colocar novos tópicos.
O link da comunidade é:
http://www.orkut.com.br/Main#Community.aspx?cmm=55165548
O link especial reduzido da comunidade para você divulgar para seus amigos ou enviar por celular é o seguinte: url20.ca/delphi
Bom fica aí mais esta excelente dica e novidade desta comunidade para aumentar muito mais a sinergia entre toda a Comunidade Delphi Brasileira.
URL reduzida desta dica: url20.ca/r2007
t+




janeiro 9th, 2010








