sexta-feira, março 30, 2007

Operador Ternário em C#

Como já comentei, comecei minha aventura rumo ao badalado C#. Apesar de já ter lido uma coisa ou outra sobre ele e de conhecer a base da programação orientada a objetos, preferi partir do zero, estudando o seu "core", ou seja, seus comandos básicos e suas sintaxes. Também estou procurando me livrar dos vícios de programador orientado a ambientes RAD, não que não se possa programar orientado a eventos em C#, mas se fizer isso, não se pode usufruir de todos os benefícios da POO.
O primeiro recurso diferente que encontrei foi o operador ternário. Para quem já usou o MS Excel, o operador ternário pode ser comparado à função "SE", onde em uma única instrução podemos escolher entre dois valores. A sintaxe do operador ternário é:

condicao ? valor_se_verdadeiro : valor_se_falso

Abaixo eu mostro um exemplo; nele declaro 3 variáveis A, B e C. A e B recebem valores quaisquer, enquanto C vai receber o maior valor entre A e B.

Para os valores sugeridos no exemplo o resultado será:



Neste exemplo usei o Turbo C# da Code Gear, uma excelente ferramenta.

Abraços.

quinta-feira, março 29, 2007

Yahoo lançará e-mail ilimitado

A partir de Maio, o Yahoo Mail, que hoje oferece 1 GB de espaço por conta, passará a oferecer gradativamente a seus usuários espaço ilimitado. Com isso, o Yahoo Mail ultrapassará o GMail (Google), que lançou seu serviço há alguns anos com capacidade inicial de 1 GB e teve sua capacidade expandida a 2,8 GB.

A novidade foi divulgada por John Kremer, vice-presidente do Yahoo Mail, em post no blog Yodel Anecdotal.

Resta saber agora como será a reação dos concorrentes, mas uma coisa é certa: com essa "briga", quem certamente sairá ganhando serão os usuários.

Até +

quinta-feira, março 22, 2007

Quanto cobrar pelo seu sistema?

Hoje, em uma das listas de discussão que assino, ocorreu um debate ferrenho sobre quanto e como cobrar por um sistema. Lá eu vi de tudo; há quem cobre por hora, por licença, por módulo, por pacote, etc.

O preço depende, é claro, da complexidade do sistema, mas discrepância é que não faltou, sendo que uns cobram R$100,00 por sistema e R$ 0,00 de manutenção (acreditam nisso?), outros cobram R$1.000,00 de implantação mais R$ 150,00 por licença mensalmente, o que é um valor no mínimo razoável. Há aqueles que cobram exageros, que acho melhor nem comentar.

Um texto muito bom, publicado pelo colega José Carlos Macoratti, pode ser lido aqui. Neste texto ele faz uma explanação séria e muito coerente sobre tema, vale a pena ler.

quarta-feira, março 21, 2007

TADOQuery trabalhando com dados em cache

Esse é um recurso do TADOQuery pouco conhecido, mas bastante útil. Assim como já se fazia nos tempos do TQuery + TUpdateSQL, onde os dados ficavam no cache local é só eram enviados para o banco através do método ApplyUpdates, o TADOQuery também pode manter os dados localmente e só enviar os dados ao banco no momento desejado e não após o método Post, comportamento que ele tem por padrão.

Isso é muito bom quando trabalhamos com tabelas do tipo mestre-detalhe, onde na maioria das vezes é necessário setar os campos relacionados antes do envio dos dados ao banco. O processo fica ainda mais tranquilo se for usado TADOConnection para controlar a transação, pois, você pode "commitar" os dados da tabela mestre e em seguida os da tabela detalhe e, caso ocorra algum erro, pode abortar, tratar o erro e tentar a gravação novamente sem que o usuário perca seu trabalho.

Bem, vamos ao que interessa! Para isso tudo funcionar primeiro altere a propriedade LockType do TADOQuery para ltBatchOptimistic, isso já fará com que os dados fiquem no cache local. Agora, para postar efetivamente os dados no banco, chame o método UpdateBatch(), que é semelhante ao método ApplyUpdates do TQuery. Fácil, não? :)

Como eu já disse, esse é um recurso muito útil, mas pouco conhecido. Espero que gostem da dica.
Até a próxima.

terça-feira, março 20, 2007

Salvando o seu formulário como imagem

Dia desses, um colega de uma lista de discussão precisava gerar um JPEG a partir de um formulário de seu sistema, algo como um "Print Screen" para usuários menos íntimos com a coisa. Postei lá a solução e, como achei a solicitação interessante, decidi postá-la aqui também. Vamos a solução:

Imaginemos o exemplo clássico, um formulário "Form1" e um botão "Button1", o evento OnClick do botão ficaria como abaixo:

procedure TForm1.Button1Click(Sender: TObject);
var JPEG: TJPEGImage;
begin

JPEG := TJPEGImage.Create;
JPEG.Assign(form1.GetFormImage);
JPEG.SaveToFile('caminho\meuform.jpg');

end;

Fácil né? :) Vocês podem dar um rebuscada na solução usando um TSaveDialog para que o usuário possa escolher o local e o nome do arquivo a ser salvo.

Até a próxima.
Ah! Não esqueçam de declarar o unit JPEG na cláusula Uses.

terça-feira, março 13, 2007

Code Gear - Delphi Tour


De 20 a 30 de março estará ocorrendo o Code Gear - Delphi Tour, um evento gratuíto cuja finalidade é apresentar as novas ferramentas da Code Gear: o Delphi 2007 for Win32 (com suporte ao Windows Vista) e o Delphi for PHP.
Este é um evento que, para quem tiver oportunidade de ir, pode ser bem interessante. É claro que se trata de um evento puramente comercial, mas entre uma apresentação e outra um novo recurso pode ser avaliado.
As inscrições e a consulta das cidades em que o acontecerá o evento podem ser feitas no site aqui.
Abraços

Declaração de Imposto de Renda 2007

Declaração IR 2007

Neste ano, mais uma vez, sentirei a mordida do leão da Receita Federal. Juntamente com o IPVA, esse é um dos impostos que mais protesto na hora do pagamento, mas, infelizmente, não há como fugir dele. Aliás, ter até tem, mas não quero que diminuam meu salário :), e tentar evitar seu pagamento através de certas "técnicas" não faz o meu tipo, mais cedo ou mais tarde acabamos tendo problema.

Hoje dando uma vasculhada na Internet sobre as formas de declaração, encontrei um artigo bem interessante e resolvi transcrevê-lo aqui. Acredito que pode ser valia para muitos que estejam fazendo a declaração pela primeira vez.


Diferença entre Declaração simplificada ou completa

Quem ainda não fez a declaração do IR, tem duas opções para prestar contas à Receita Federal: a declaração simplificada ou a completa.

A declaração simplificada é indicada para que tem deduções abaixo de R$ 11.177,20. Serve para quem não têm muitas deduções a fazer ou que não têm como comprovar os gastos. Além disso, o contribuinte terá um desconto de 20% nos rendimentos tributáveis. Contribuintes com ganhos
acima de R$ 55.886,00 também poderão fazer a declaração simplificada, mas terão apenas o desconto limite.

Já a declaração completa é para os contribuintes que têm deduções comprovadas acima de R$11.177,20 ou que superem os 20% de rendimentos tributáveis. Neste caso, o desconto será maior que os 20% da declaração simplificada.

Podem ser deduzidos do IR gastos com dependentes, médicos, dentistas, hospitais, clínicas, escola, faculdade, pensão alimentícia, previdência privada, pagamento de advogados, engenheiros, arquitetos, aluguéis, arrendamento rural e outros.

A entrega da declaração pode ser feita pela Internet até o dia 30 de abril. Para enviar as informações à Receita Federal pela Web é necessário utilizar outro programa, o Receitanet.

Não há previsão para prorrogação do prazo por isso é importante não deixar para a última hora. Além de enviar pela Web, o contribuinte também pode mandar por disquete ou formulário. O pagamento da restituição - aos contribuintes que têm esse direito - acontece por ordem de entrega, priorizando idosos com 60 anos ou mais e declarações entregues por meio magnético

Fonte: Yahoo Notícias