Pesquisar no Programero

quarta-feira, 30 de julho de 2008

Desenvolvimento de aplicações para dispositivos móveis I (Java)

O crescimento do potencial computacional dos dispositivos móveis como celulares, pda's entre outros, somado a preços baixos tem tornado essa área promissora. Dispositivos com diversos recursos de comunicação (bluetooth, infravermelho, GPRS) são comuns e praticamente itens obrigatórios, apesar do fato de que boa parte de seus futuros donos se quer saberão como ligar esses recursos. Considerando o grande numero de celulares no mundo precisamos apenas focar o nosso objetivo e começar os estudos. Em relação a aplicações corporativas a coisa fica ainda melhor, as operadoras tem oferecido cada vez mais planos muito atraentes para as empresas onde muitas vezes os aparelhos saem de graça ou a um preço muito baixo.


Primeiramente...

Trabalharemos utilizando o java como linguagem (já deu para perceber), o j2me para ser mais preciso, como ferramenta o NetBeans e para testar nossas aplicações o SDK da Nokia, o Series 40 pois meu celular é dessa série.

Vamos baixar o Java SE Development Kit 6, o NetBeans 6.1 e o Series 40 5th Edition instalando tudo nessa mesma ordem.
Caso você possua um Nokia dê uma olhada aqui e veja o SDK referente ao seu modelo.
É altamente recomendável um estudo prévio sobre o j2me, nesse link existe um bom artigo esplicando os fundamentos.


Finalizando

Nos próximos dias colocaremos no ar um tutorial básico com nosso primeiro "Olá mundo", deixo agora links interessantes para quem estiver interessado:

Tem um nokia? Então esse é quase obrigatório:




Fóruns com experts brasileiros em java:













E um ótimo blog que recomendo:

terça-feira, 29 de julho de 2008

Como Verificar se um Objeto Existe (Delphi)

Em alguns momentos surge a necessidade de verificar se um determinado objeto existe, ou seja se já foi criado, principalmente quando se trabalha com criação dinâmica em tempo de execução, então vamos ao exemplo:

- Vamos criar uma variável, um vetor do tipo caixa de texto:

var

Minha_caixa : array of TEdit;

- Em seguida definir o tamanho desse vetor, no caso será dez:

setLength(Minha_caixa, 10)

- Agora iremos criar nossa caixa de texto:

// lembrando que o vetor inicia em zero
// logo o índice final é o tamanho total - 1
for vl_i := 0 to Length(Minha_caixa) -1 do
begin
Minha_caixa[vl_i] := TEdit.Create(self);
with Minha_caixa[vl_i] do
begin
Parent := Self;
Name := 'Caixa_N'+IntToStr(vl_i);
Text := 'Esta é a '+IntToStr(vl_i)+' º caixa !';
ReadOnly := true;
Height := 21;
Width := 65;
Top := 80;
Left := 100;
end;
end;

-Bom tudo certo, agora o que acontece se em determinado ponto do meu programa eu precisar usar essa caixa antes que ela tenha sido criada? Simples irá ocorrer um erro, então para evitar isso devemos verificar se ela já existe para então começar a utiliza-la:

if Assigned(Minha_caixa) then



segunda-feira, 21 de julho de 2008

Ler de um arquivo de configuração (.INI no Delphi)

Em muitos casos precisamos tornar nossas aplicações customizáveis, disponibilizando parâmetros que possam ser alterados, sejam eles informações a respeito de uma conexão com o banco de dados, uma senha, ou mesmo possibilitar a alteração do layout do sistema, tudo depende da necessidade e de como o programador pensa em termos de mobilidade para o usuário final.

Exemplo de arquivo INI

[PARAMETRO]
SENHA=12345


Lendo um arquivo INI

var
// variável que irá conter o arquivo
config : TIniFile;
// variável que irá armazenar parâmetro a ser lido do arquivo
param : string;

begin
// associa o arquivo de configuração a variável
config := TIniFile.Create('C:\Aplicacao\config.ini');
//variável param recebe 12345
param := config.readstring('PARAMETRO','SENHA','');

end;

domingo, 6 de julho de 2008

Introdução ao Eclipse (Java)

Introdução

O projeto Eclipse.org nasceu da iniciativa de grandes empresas lideres em seus seguimentos, tais como Borland, IBM, QNX Software, Rational Software, Red Hat, Suse, Toghether Software (comprada pela Borland), Sybase e Fujitsu. Em fevereiro de 2004 o Eclipse.org tornou-se independente, ficando “ livre” da IBM.

Apesar de ser uma IDE free e opensource, o Eclipse é bem completo, permitindo que seja feito nele tudo o que pode ser feito em uma IDE paga, claro, que em alguns casos com um grau de dificuldade maior, mas para atividades de desenvolvimento básicas como desenvolvimento em Swing, Jsp, Servlets ele atende muito bem, tem grandes facilidades para desenvolvimento de EJBs, mas nada que se compare ao Jbuilder da Borland neste quesito.

O Eclipse é uma IDE que possui facilidades que vão desde a rápida visualização de todos os arquivos contidos no projeto, ferramentas de gerenciamento de trabalho coletivo, um Class browser ou Package Explorer, que permite visualizar toda a estrutura de diretórios e arquivos contidos no projeto e Wizards, que são "programas" que auxiliam na construção rápida de aplicações com características iniciais já conhecidas.


Utilizando

Primeiramente baixe a IDE no site do Eclipse, apos descompacta-lo ele ja estara pronto para ser utilizado.
Durante a inicialização do eclipse deve-se configurar o diretório padrão das Workspaces, que será o local onde ficarão armazenados os projetos, esta configuração pode ser alterada em File > Switch workspace.


Para criar um novo projeto clique em File > New > Project. Um wizard de criação de projetos aparecerá.


Em seguida, selecione a opção Java > Java Project e clique em Next. A seguinte tela aparecerá:

Digite um nome para o seu projeto e em seguida marque a opção "Create project at external location", especificando o diretório onde o projeto será armazenado. Marque também a opção “Create separate source and output folders” na caixa “Project Layout”. Essa opção permite não misturar os arquivos que contém o código-fonte(source) com os arquivos gerados pelo compilador(output ou saída) , criando pastas diferentes para cada um desses tipos de arquivos.
Em seguida deverá ser escolhido os diretórios do source e de saída. Para deixar os valores default clique em Finish, ou então altere os valores de acordo com sua conveniência.

Quando tiver terminado, clique em Finish. Possívelmente aparecerá uma janela pedindo para confirmar uma mudança de perspectiva. Se aparecer, clique em "Yes".
Agora, seu projeto já está criado, mas ainda não possui nenhuma classe. Para criar uma classe:
Clique em File > New > Class. A seguinte tela aparecerá.


A parte superior da janela dá algumas indicações sobre o preenchimento - como campos obrigatórios, a sugestão de usar inicial maiúscula para nomes de classes, etc.
Em "Source Folder", determine de que projeto sua classe fará parte. Selecione o nome da sua classe no campo "Name". Opcionalmente você pode pré-determinar os modificadores de acesso da sua classe e deixar prontos os esqueletos de alguns métodos, no campo Modifiers e nos campos abaixo de “Which method stubs would you like to create?”. Escolha "public static void main(String[] args)".
Clique em Finish. Sua classe será criada e parecerá com a da imagem abaixo.


Visão geral do ambiente

O Eclipse já inicia com inovações em relação à maioria das IDEs: ele possui a funcionalidade de customização do ambiente de trabalho. Trata-se de um programa open-source, originalmente escrito para ser uma IDE versátil e possível de ser adaptada para qualquer propósito relacionado ao desenvolvimento de software, desde a produção de plug-ins para ele mesmo e/ou outros programas, passando pela integração de ferramentas ao ambiente Eclipse e culminando no desenvolvimento do software final em si. Esta adaptabilidade já começa pela estética do ambiente. Na Java Perspective (o conjunto de modificações para tornar o ambiente familiar ao desenvolvedor Java), o layout do ambiente é como na imagem abaixo:


  • Package Explorer (1)
O Package Explorer é um visualizador simples e elegante dos seus projetos. Um projeto representa toda a estrutura do seu programa, armazenando os arquivos-fonte (.java), os bytecodes (.class), as configurações gerais do ambiente para o projeto, eventuais arquivos de backup e outros arquivos inerentes ao escopo do programa (por exemplo, quaisquer possíveis imagens relacionadas ao projeto).
A navegação é semelhante à do Windows Explorer, bastante intuitiva e respeitando a hierarquia do projeto, com a qual ficaremos mais familiarizados com a prática, ao longo do desenvolvimento do projeto.

  • Editor de Texto (2)
O editor de textos do Eclipse, assim como o do BlueJ, ConText e outros, denota as palavras-chave de Java™ em letras destacadas para facilitar a leitura do código.
No entanto, este é uma das funcionalidades mais triviais desta ferramenta, como exemplo temos o auto-completar, quando digitamos o nome de alguma variável que denote um objeto e o ponto para chamada de método, o editor de textos do Eclipse nos mostrará uma janela com uma relação completa de todos os métodos e atributos que este objeto pode acessar em seu contexto, e a medida em que escrevermos as letras, ele filtrará tudo o que puder ir sendo descartado, como ilustra a imagem abaixo.


  • Console (3)
O Eclipse, oferece um terminal de console para a entrada de dados do teclado pela stream de entrada padrão e a saída de dados que o programa escreve na stream de saída padrão.

  • Outline (4)
A janela Outline funciona semelhantemente ao Package Explorer, sendo que voltada para a estrutura interna do seu arquivo .java - frequentemente a sua classe. Como podemos observar, existem ícones diferentes para cada parte do arquivo.



Fonte


Introdução ao Eclipse
Sylvia Campos, Francisco Leal, João Henrique e Paulo Borba

Eclipse - Quem es tu ???
Rogério Peres Gomes

Eclipse
http://www.eclipse.org/

quarta-feira, 2 de julho de 2008

dbGrid zebrado (Delphi)

Quando utilizamos dbGrid e este recebe muitos registros fica dificil ler toda a linha, principalmente se possuimos um grande número de colunas, um recurso que podemos lançar mão para ao menos amenizar essa situação é o efeito "zebrado", onde temos linhas com cores diferentes, na verdade duas cores diferentes que se intercalam. Então vamos ao exemplo, no evento OnDrawColumnCell:

if odd(ClientDataSet4.RecNo) then
DBGrid1.Canvas.Brush.Color:= clmenubar
else
DBGrid1.Canvas.Brush.Color:= clCream;


TDbGrid(Sender).Canvas.font.Color:= clBlack;

if gdSelected in State then
with (Sender as TDBGrid).Canvas do
begin
Brush.Color := clmoneygreen;
FillRect(Rect);
Font.Style := [fsbold]
end;


TDbGrid(Sender).DefaultDrawDataCell(Rect, TDbGrid(Sender).columns[datacol].field, State);