segunda-feira, 31 de outubro de 2011

Tutorial Lazarus e Firebird – 1 - Instalando o Lazarus no Debian Squeeze



Hoje iremos iniciar os tutoriais sobre a IDE Lazarus, que pode ser comparada ao Delphi, principalmente em relação a sua versão 7, a vantagem aqui é que Lazarus é gratuito e pode ser usado em outras plataformas além do Windows.

Para a instalação no Debian Squeeze, existe apenas um pequeno problema na quebra de uma dependência no pacote fpc-source, para a instalação completa e sem problemas vamos seguir os passos seguintes:

Abra o gerenciador de pacotes


Na busca rápida, digite Lazarus


Procure o pacote lazarus-ide e marque para instalação


As dependências serão exibidas, confirme clicando em “Marcar”


Clique em Aplicar na toolbar do Synaptic


Depois aplicar na janela que se abre


Aguarde a instalação


Assim que a mesma estiver completa, abra o Lazarus em Aplicativos → Desenvolvimento → Lazarus



Quando vocês tentarem abrir o Lazarus um erro será exibido, é a dependência comentada acima


Veja que não é possível criar eventos graças a esse problema


Para corrigir, volte ao Synaptic e marque fpc-source para instalação


Aguarde pelo fim da instalação e tente abrir o Lazarus novamente, o problema estará resolvido.

Vejam que esta não é a única maneira de se instalar o Lazarus, você pode instalar o mesmo pelo matapacote existente no repositório ou também fazendo o download do pacote *.deb da última versão do Lazarus na página do projeto no SourceForge.

Até a próxima

 Vídeo com a explicação:

sexta-feira, 28 de outubro de 2011

Invasão Feminina.

Convidada pelo Ilustríssimo Sr. Porcena para vos passar meu humilde conhecimento em informática, já lhes adianto que não sei (nem pretendo saber) absolutamente nada de programação.

Portanto minhas visitas aqui serão exclusivamente para falar sobre acessórios Hi-Tech para computadores e inovações eletrônicas em geral (:

Hoje queria compartilhar um acessório que acho super legal para todos que passam várias horas a fio (como os programadores, por exemplo) em frente ao computador: os Foot Warmers e Hand Warmers. 

Se tratam de almofadinhas ou pantufas confortáveis e com um sistema de aquecimento através de USB, permitindo assim que você mantenha seus pés e mão aquecidos, nos dias mais frios.


 Aquecedores de Mão

Tá, mas estamos entrando na estação mais quente do ano. Porque eu compraria isso agora? Simples!!! Porque todos os artigos de Inverno estão na promoção e você pagará por esses itens fofos e úteis entre $ 15,00 e 20,00 (dólares).

São vários modelos disponíveis, discretos ou chamativos.



 Pantufa






 Botinha





Esses produtos podem ser encontrados no E-Bay e em um site que gosto muito chamado Ioffer.

Problemas com o case sensitive do Firebird.

Hoje estava procurando algumas coisas sobre o comando INNER JOIN no Firebird e achei muitas pessoas com dúvida sobre este problema.
No Firebird, este problema pode ser resolvido facilmente usando o comando UPPER, como proceder?
Simples…
Imagine uma situação assim:
Tabela contatos:

Campo Valor
Nome José
Apelido

 Queremos selecionar este contato, mas podemos ter um usuário preguiçoso que vai digitar o seguinte na consulta:
SELECT * FROM contatos WHERE Nome=‘josé’ AND Apelido=‘zé’;

O que esta consulta retornará no Firebird?

Nada… Pois ele é case-sensitive, ou seja, José é diferente de jOsé que é diferente de josé… Ele diferencia letra maiúscula de letra minúscula.

Vamos resolver este problema?

SELECT * FROM contatos WHERE UPPER(Nome)=UPPER(‘José’) AND UPPER(Apelido)=UPPER(‘zé’);

A consulta retornará os valores que queríamos.

O que este comando faz?

Ele vai converter todos os caracteres do campo selecionado em UPPER() para maiúsculos e na string de comparação idem. No nosso caso ele converteu a string original que era José para JOSÉ e a string de consulta que era josé para JOSÉ, o mesmo para Zé e zé.

Deste jeito, você consegue “burlar” o problema de sensibilidade a caixa do
Firebird, espero ter ajudado.

Até a próxima.

Usando comando INSERT com SELECT no FireBird

Aqui vai um exemplo simples de como usar os dois comandos juntos para inserir dados que estão em outra tabela.

Vamos usar um caso em que tenhamos estas duas tabelas:

Tabela Cliente (TAB_CLI):
ID_CLIENTE
NOME_CLIENTE
TEL_CLIENTE

Tabela Vendas (TAB_VENDA):
ID_VENDA
ID_CLIENTE
PRODUTO
VALOR

Para facilitar na hora de escolher qual cliente efetuou a compra, podemos passar o nome do cliente como parâmetro e inserir seu ID automaticamente.
Fica assim:

insert into TAB_VENDA (ID_VENDA, ID_CLIENTE, PRODUTO, VALOR) VALUES (1, (select ID_CLIENTE from TAB_CLI where NOME_CLIENTE =’JOÃO’), ‘PRODUTO 1′, 10);

No local onde será inserido o valor do cliente coloca-se um select que retornará seu ID pelo nome passado na cláusula where, note que este select funcionará se não houver em registros duplicados, se existirem dois clientes com o nome ‘João’ você poderá adicionar a venda para outro cliente com o mesmo nome. Para corrigir este problema você poderá passar outro parâmetro junto ao nome, que não tenha duplicação, como por exemplo, o RG ou CPF do mesmo.

Obs.: O mesmo comando rodou sem problemas no PSQL.

Abraços até a próxima.

terça-feira, 25 de outubro de 2011

Tutoriais de Lazarus com Firebird

Nos próximos dias, estarei começando alguns tutoriais sobre o desenvolvimento com Lazarus, para quem não conhece a ferramenta aconselho dar uma olhada nessa explicação da Wikipédia.


Para a criação dos tutorias, eu irei usar o Debian como plataforma, também precisaremos do Firebird instalado, a idéia é termos uma noção de como fazer a comunicação entre aplicações feitas em Lazarus com esse banco de dados.

O cronograma será basicamente o seguinte:

Instalação do Lazarus no Debian Squeeze.
Criação de um projeto em Lazarus.
Criação do banco de dados em Firebird usando o FlameRobin.
Criação de uma janela Splash para o exemplo.
Criação do Menu Principal.
Criação dos Formulários de controle.

Se tudo correr bem, podemos tentar alguma coisa relacionada com relatórios e gráficos.

No próximo post começaremos com o projeto.

quarta-feira, 19 de outubro de 2011

Sequência de vídeos sobre imagens com wxWidgets

Desenhando uma imagem com wxWidgets - Parte 1



Desenhando uma imagem com wxWidgets - Parte 2


Desenhando uma imagem com wxWidgets - Parte3


Plano de fundo em um wxPanel

Dúvidas, postem nos comentários, até a próxima.