1/10/2010

Férias em casa



Reviver todos os momentos com minha família, rever meus pais e demais familiares foi um presente e tanto. Voltar a falar meu sotaque querido na minha terra, terra de fortes é recompensador.

Quem mora em Recife deve se orgulhar de poder morar e vencer em sua terra de poucos recursos e muitas dificuldades. O nordestino além de tudo é um forte. Espero que Recife cresça com toda a punjança que merece e que os empresários da região sejam mais ousados do que são hoje.

Eu daqui (SP) vou fazendo a minha parte. Tentando orgulhar meu povo, minha família e a minha terra que é o Nordeste.

Na foto eu e meu Pai o responsável por tudo isto. Créditos para a Rita de Cássia, 5 anos e uma exímia fotógrafa.

Até um dia.

Zeca

7/27/2009

GISConnex Project



Estou entrando em uma fase de consolidação da minha paixão pelo GIS e pelo meu trabalho. Estou em um projeto desafiador e desta vez será o mais difícil de todos.

O projeto GISConnex pretende unir dois grandes mundos da TI. A ESRI e seu GIS e o tão conhecido e respeitado SAP. Grandes mudanças estão por vir.

A vitória é nossa.

Fé.

Zeca

Lost Symbol Countdown

Contagem regressiva para o proximo sucesso de Dan Brown

10/20/2008

Ah Natal



Muito bom poder viajar e renovar a mente. Peço a todos PAREM. Isso vai mudar suas vidas.

7/01/2008

TextBox só de Inteiros no .NET CF

Olá desenvolvedores .NET

Se você quer um TextBox só de inteiros e com CharacterCasing (que não há no .NET CF) apenas crie esta classe no seu projeto e arraste-o para o formulário.

Segue a classe. Existem mais 2 proprieades no componente:

OnlyNumbers
UpperCasing

Sete-os ao seu gosto e bom trabalho.

--
using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;
using System.Text.RegularExpressions;
using System.Runtime.InteropServices;

namespace DeviceApplication3
{
public class TextBoxEx : TextBox
{
bool upper;
bool only_numbers;


private const int GWL_STYLE = (-16);
private const int IM_UPPERCASE = 0x0008;
private const int IM_LOWERCASE = 0x0010;
private const int IM_NUMBER = 0x2000;
IntPtr hwnd;

public bool OnlyNumbers
{
get { return only_numbers; }
set { only_numbers = value; }
}
OnlyNumbers
public bool UpperCasing
{
get { return upper; }
set { upper = value; }
}

public void setarInteiros(){
}
public void validarCaracIntRegex(KeyPressEventArgs e)
{


}

[DllImport("coredll.dll")]
private extern static int SetWindowLong(IntPtr Hwnd, int Index, int NewIndex);

[DllImport("coredll.dll")]
private extern static int GetWindowLong(IntPtr Hwnd, int Index);

[DllImport("coredll.dll")]
private extern static IntPtr GetCapture();

protected override void OnKeyPress(KeyPressEventArgs e)
{
if (OnlyNumbers) // Só numeros
{
this.Capture = true;

hwnd = GetCapture();

this.Capture = false;


int previousStyle = GetWindowLong(hwnd, GWL_STYLE);

SetWindowLong(hwnd, GWL_STYLE, previousStyle | IM_NUMBER);
}
else // Só maiúsculas
{
if (UpperCasing)
{

if (Char.IsLetter(e.KeyChar))
{

// save the current caret position

int pos = this.SelectionStart;

// insert the upper case character



this.Text = this.Text.Insert(this.SelectionStart,

Char.ToUpper(e.KeyChar).ToString());



// and update the current caret position

this.SelectionStart = pos + 1;

e.Handled = true;

}



base.OnKeyPress(e);
}
}
}
}
}

4/19/2008

O lado bom do caso Isabella



Estou aqui de volta depois de um longo tempo. Me sinto forçado a escrever sobre o caso Isabella Nardoni, que drasticamente morreu e ao que tudo indica pelas mãos de seus responsáveis.

Mas sempre prefiro olhar as coisas pelo lado bom e encontrei um lado bom neste caso. Na verdade fui forçado a encontrar. Mostrarei o porque a seguir.

Depois de tudo isso que aconteceu e do que virá com certeza estou certo de uma coisa. Hoje estamos mais carinhosos com nossos filhos, principalmente com os pequeninos. Hoje estamos dando muito mais valor às vidas de nossas crianças. Levamo-nas mais ao parque e damos mais beijos de bom dia e boa noite nelas.

Quem tem filha pequena, principalmente próxima à idade de Isabella sente muito com o caso. Luta ainda mais pela saúde e integridade dessas meninas. Hoje os pais pensam no trabalho muito mais em suas filhinas, em seus anjinhos. Lutam muito mais para que não aconteça tragédias com suas filhas e tentam educá-las para que não se tornem monstros como os que cometeram tal barbare.


Mas voltando ao lado bom de tudo de ruim que aconteceu. Hoje O valor de um aniversário é muito mais lembrado pois houveram crianças que não puderam se quer comer o bolo do seu aniversário por terem sidos mortos brutalmente bem próximo deste lindo dia. Hoje o sentimento de repúdio à dignidade humana está mais acirrado. Hoje a cidadania está exarcebada e o clamor por justiça mais consolidado.

Hoje não aceitamos a violência com mais tranquilidade. Hoje voltamos algumas décadas atrás e nos revoltamos com o que é simplesmente errado. Hoje somos muito menos maus, bem menos maus. Que não precisamos mais de crimes assim e que Isabella seja nosso último caso de barbare entre pais e filhos.

Filha, teu pai nunca vai de machucar.

Ezequias

1/26/2008

Contar Linhas de Código C# no Windows Forms

Cansado de procurar onde ver quantas linhas de código tinha meu projeto resolvi contar na marra mesmo.

Se alguém souber como habilitar a contagem de linhas de código de um projeto por favor me digam.


Segue o código abaixo:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Collections;
using Microsoft.Build.Tasks;
using Microsoft.Build.Framework;

namespace ContarLinhasCodigo
{
public partial class Form1 : Form
{
string DiretorioRaiz = "C:/Codigo Fonte";

public Form1()
{
InitializeComponent();

DirectoryInfo dir = new DirectoryInfo(DiretorioRaiz);
IEnumerator arquivos = null;
try
{
arquivos = dir.GetFiles("*.cs", SearchOption.AllDirectories).GetEnumerator();
}
catch (DirectoryNotFoundException)
{
lbTotalLinhas.Text = "Diretório não encontrado";
return;
}

object arquivo;
long totLinhas = 0;
int linhasArquivo = 0;

TextReader tr = null;
while (arquivos.MoveNext())
{

arquivo = arquivos.Current;

if ((arquivo as FileSystemInfo).Name.Contains("Designer"))
continue;

#region Contar Linha do arquivo
tr = new StreamReader((arquivo as FileSystemInfo).FullName);
while (tr.ReadLine() != null)
{
linhasArquivo++;
totLinhas++;
}
Console.WriteLine((arquivo as FileSystemInfo).Name + ":" + linhasArquivo);
linhasArquivo = 0;
#endregion
}

Console.WriteLine("Total de Linhas do Projeto: " + totLinhas);
Text = "Total de Linhas de: " + DiretorioRaiz;
lbTotalLinhas.Text = totLinhas.ToString();
}
}
}


Ezequias

9/22/2007

[C#] TextBox só de Inteiros

Duas forma simples de deixar o TextBox apenas aceitando valores inteiros. Segue o código abaixo:

public void validarCaracInt(KeyEventArgs e)
{
if (!Char.IsNumber((char)e.KeyValue) | e.Shift)
{
if (e.KeyCode == Keys.Back || e.KeyCode == Keys.Delete || e.KeyCode == Keys.Left || e.KeyCode == Keys.Right)
e.SuppressKeyPress = false;
else
e.SuppressKeyPress = true;
}
else if (e.KeyCode == Keys.OemPeriod || e.KeyCode == Keys.Oemcomma || e.KeyCode == Keys.OemMinus) //(.), (,) (-) são considerados numéricos
{
e.SuppressKeyPress = true;
}
}

public void validarCaracIntRegex(KeyEventArgs e)
{
if (Regex.IsMatch(((char)e.KeyValue).ToString(), "^[0-9]$"))
e.SuppressKeyPress = false;
else
e.SuppressKeyPress = true;

if (e.Shift)
e.SuppressKeyPress = true;

if (e.KeyCode == Keys.Back || e.KeyCode == Keys.Delete || e.KeyCode == Keys.Right || e.KeyCode == Keys.Left)
e.SuppressKeyPress = false;
}


E no evento Key Press do TextBox:

private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
//validarCaracInt(e); // <--- Utilize este
validarCaracIntRegex(e); // <--- ou este. Fica a sua escolha
}

R$ 29,99

Já há algum tempo venho refletindo sobre o comércio brasileiro e como ele se comporta para ganhar a preferência nacional. A fórmula é bem simples, mas funciona como nunca em uma sociedade como a nossa.

A tática consiste sempre em levar vantagem ao comprador. Como todos sabem o brasileiro sempre quer levar vantagem em tudo, mesmo quando sabe que está sendo enganado. Comprar um produto com promoção de 30, 40, 50% sempre atrai uma parcela grande da população. Comprar em até 30, 4o, 50 vezes faz você acreditar que você está pagando aos poucos ao vendedor e por isso deixando-o em suas mãos.

Comprar para pagar só em janeiro também é uma tática de levar vantágem em relaçãos aos "otários" que não pegaram essa tal promoção e vão ficar sem grana por serem mais bobos que você. Comprar uma câmera que é a metade do preço que as concorrentes só pra levar vantágem sobre as outras empresas.

Será que comprando por R$ 19,99 eu estarei levando vantágem de alguma forma ? Será que todos pensam assim para o comércio se comportar desta forma ou estou pirando ?

"Vamos comprar que são os últimos dias" ou "é só até amanhã" são fases que caem em cheio no inconciente corrupto coletivo nacional. São por estas e outras que todos nós sabemos que eu me pergunto:

Por que nós não nos contentamos em pagar o preço que o nosso fornecedor deseja pelo seu trabalho e capacidade de venda ? Por que ele tem que sempre achar que agente quer levar vantagem ?

Por que eu somente me motivaria a comprar se fosse para levar vantagem sobre meus amigos e meus colegas. Estas perguntas estão sem respostas no meu inconsciente. Quem puder me ajudar por favor me escrevam.

Estou farto desta selva que é o Brasil e eu acho que não vou mais escrever Brasil com B maiúsculo. Que pena do meu brasil.

E a propósito, vai querer uma caneta por R$ 29,99 ?

Calheirisse

Calheirisse

Segue abaixo desabafo de mais um brasileiro descontente com a política brasileira nos "Anos de Lula"

COMENTÁRIO DE ARNALDO JABOR

DIA 13 DE SETEMBRO DE 2007

“Depois do suicídio do Senado ontem, hoje só nos restam maldições bíblicas. Assim, ó:

Malditos sejais, ó mentirosos, negadores, defraldadores, intrujões, embusteiros e vigaristas.
Que a peste negra vos cubra de feridas pútridas.
Que vossas línguas mentirosas sequem.
Que vossas patranhas se transformem em cobras, que se enrosquem em vossos pescoços, que entrem por vossos rabos e lá depositem venenosos ovos que vos depauperem em diarréias torrenciais.
Que vossas bocas se atrofiem em trapos pustulentos, que vos impedirão de beijar vossas amantes nos prostíbulos mentais onde viveis.
Malditos sejais ladrões, gatunos, raptoneiros dos dinheiros públicos dos quais agadanhais 20% de todos os orçamentos, deixando viadutos no ar, pontes no nada e crianças mortas de fome, mortas de tudo, enquanto trombeteais inocência e honradez nas tribunas.
Qual a maldição das pragas do Egito vos impeça de comer os frutos de vossas fazendas escravistas, a carne de vossas boiadas imaginárias.
Que não possais ter o pão de vossos fornos nem o milho de vossos campos.
Malditas sejam as caras de pau dos ladravazes com seus sorrisos asquerosos, de imunda honradez ostentada, tranqüilo cinismo baseado na legislação que vos protege há quatro séculos.
Malditos sejam os 40 mil canalhas infiltrados na máquina pública, emperrando-a e sugando as migalhas do Estado.
Tomara que sejais devorados pelos carunchos que rastejam nos arquivos empoeirados da burocracia que impede o país de andar para a frente.
Que a poeira dos arquivos-mortos vos sufoquem e envenenem como trigo roxo aos ratos.
Se esses canalhas prevalecerem sempre, voltará o dragão do atraso com sete cabeças e dez chifres e sete coroas em cada cabeça.
E a prostituta da miséria brasileira virá montada nele, berrando as blasfêmias todas, vestida de vermelho, segurando uma taça cheia de abominações e de suas fornicações.
E ela estará bêbada com o sangue dos pobres e em sua testa estará escrito: Mãe de Todas as Meretrizes, Mãe de Todos os Ladrões que paralisam o nosso País.
Portanto, só nos resta isso. Maldizer, como na Bíblia.
Que a peste negra vos devore a alma, políticos canalhas.
Que vossos cabelos com brilhantina vos cubram de uma gosma repulsiva.
Que vossas gravatas bregas vos enforquem.
E que vossos bigodes apodreçam no ar de Brasília.