quarta-feira, 27 de agosto de 2008

Como um programador mata Dragão??

Você sabe como um programador mata um dragão??

As diferentes formas conforme a linguagem utilizada... ;}

Java
Chega, encontra o dragão, desenvolve um framework para aniquilamento de dragoes em multiplas camadas, escreve varios artigos sobre o framework mas nao mata o dragao.

.NET
Chega, olha a ideia do Javanes e a copia, tenta matar o dragao, mas é comido pelo reptil.

C
Chega, olha para o dragao com olhar de desprezo, puxa seu canivete, degola o dragao, encontra a princesa, mas a ignora para ver os ultimos checkins no cvs do kernel do linux.

C++
cria um canivete basico e vai juntando funcionalidades até ter uma espada complexa que apenas ele consegue entender ... mata o dragao mas trava no meio da ponte por causa dos memory leaks.

COBOL
Chega, olha o dragao, pensa que ta velho demais para conseguir matar um bicho daquele tamanho e pegar a princesa e, então, vai embora.

Pascal
Se prepara durante 10 anos para criar um sistema de aniquilamento de dragao ... chegando lá descobre q o programa só aceita lagartixas como entrada.

VB
monta uma arma de destruição de dragoes a partir de varios componentes, parte pro pau pra cima do dragao e, na hora H, descobre que a espada só funciona durante noites chuvosas...

PL/SQL
Coleta dados de outros matadores de dragão, cria tabelas com N relacionamentos complexidade ternaria, dados em 3 dimensões, OLAP, demora 15 anos para processar a informação. Enquanto isso a princesa virou lésbica.

Ruby
chega com uma p*t* fama, falando que é o melhor faz tudo, quando vai enfrentar o dragão mostra um videozinho dele matando um dragao ... o dragão come ele de tédio.

Smalltalk
chega, analisa o dragao e a princesa, vira as costas e vai embora, pois eles sao muito inferiores.

shell
cria uma arma poderosa para matar os dragoes, mas, na hora H, nao se lembra como usá-la.

shell(2)
o cara chega no dragão com um script de 2 linhas que mata, corta, stripa, empala, pica em pedacinhos e impalha o bicho, mas na hora q ele roda o script aumenta, engorda, enfurece, e coloca alcool no fogo do dragão.

ASSEMBLY
acha que ta fazendo o mais certo e enxuto, porém troca um A por D, mata a princesa e transa com o dragão.

Fortran
Chega desenvolve uma solução com 45000 linhas de codigo, mata o dragão vai ao encontro da princesa ... mas esta o chama de tiuzinho e sai correndo atras do programador java que era elegante e ficou rico.

FOX PRO
Desenvolve um sistema para matar o dragão, por fora é bunitinho e funciona, mas por dentro está tudo remendado, quando ele vai executar o aniquilador de dragoes lembra que esqueceu de indexar os DBF.

ANALISTA DE PROCESSOS
Chega ao dragão com duas toneladas de documentação desenvolvida sobre o processo de se matar um dragão genérico, desenvolve um fluxograma super complexo para libertar a princesa e se casar com ela, convence o dragão que aquilo vai ser bom pra ele, e que não será doloroso. Ao executar o processo ele estima o esforço e o tamanho do estrago que isso vai causar, a assinatura do papa, do buda e do Raul Seixas para o plano, e então compra 2 bombas nucleares, 45 canhões, 1 porta aviões, contrata 300 homens armados até os dentes, qdo na verdade necessitaria apenas da espada que estava na sua mão o tempo todo.

CLIPPER
Monta uma rotina que carrega um array de codeblocks para insultar o dragão, cantar a princesa, carregar a espada para memória, moer o dragão, limpar a sujeira, lascar leite condensado com morangos na princesa gostosa, transar com a princesa, tomar banho, ligar o carro, colocar gasolina e voltar pra casa. Na hora de rodar recebe um "Bound Error: Array Access" e o dragão come ele com farinha.

segunda-feira, 18 de agosto de 2008

Dicas Delphi for .NET

Para indentar o código rapidamente no DELPHI, selecione as linhas que deseja mudar o posionamento e pressione ctrl+i para que elas se desloquem 2 espaços para a direita, ou ctrl+u para que se desloquem 2 espaços para a esquerda. Outra dica legal para quem precisa trabalhar bastante com o código aspx e ele fica todo desalinhado, é ir no menu Edit->Format Document, deixando o código indentado novamente. Para indentar várias linhas mas apenas de um determinado ponto da linha em diante, pressione a tecla Alt, com ela pressionada clique com o botão direito do mouse e selecione as linhas que deseja indentar, note que será selecionado apenas a parte das linhas que será selecionado apenas o texto a partir da posição inicial do mouse e não a linha inteira.

Para inserir rápidamente um componente no design do DELPHI, clique no local onde deseja que o componente seja inserido, vá até a Tool Palette, clique em filter(figura semelhante a um funil) e digite o nome do componente, veja que com o filter marcado ele filtra os componentes que começam com o que está sendo digitado, assim que o componente desejado estiver selecionado pressione a tecla ENTER, e o componente será na última posição do mouse
pesquisar componente, enter coloca componente na última posição do mouse, , agora a maneira mais fácil :}, CTRL+ALT+P.

Comentar/Descomentar código: selecione o código que deseja comentar/descomentar e pressione as teclas Ctrl + ;

Apagar linha inteira: Posicione o cursor do mouse na linha e pressione Ctrl + y

Dicas Celular Motorola K1

Comprei um motorola K1 a um tempo atras e por ele ter bastante funcionalidades demorei um pouco para descobrir algumas manhas... vou postando algumas aqui!

Para escutar várias músicas seguidas sem precisar ficar passando para a próxima basta criar uma lista de músicas kkkk.

BlueTooth, caso você nunca encontre nenhum aparelho BlueTooth, não se desespere, é necessário ir em um arquivo que deseja compartilhar, selecionar opções e enviar via Bluetooth, ai funciona... ;)

Até.

quinta-feira, 14 de agosto de 2008

Adicionando Colunas em GridView em tempo de execução

Olá, neste pequeno tutorial vou mostrar como adicionar colunas a um gridview no Code Gear RAD Studio .NET (Delphi 2007 for .NET) em tempo de execução.

Para começarmos, coloque no form um button e uma gridview, altere a propriedade da gridview AutoGenerateColumns para false, então, para adicionar as colunas manulmente em tempo de execução, adicione no evento onclick do button o seguinte código:


...
var
coluna1, coluna2 : BoundField;
begin
coluna1 := boundfield.create;
coluna2 := boundfield.create;
try
coluna1.DataField:='NOME';
coluna1.HeaderText:='Nome';
coluna2.DataField:='ENDERECO';
coluna2.HeaderText:='Endereço';
//datafield é o nome do campo que busca no BD
//header é o que aparece como cabecalho da coluna adicionada
//se vc pressionar ctrl+space poderá ver as outras propriedades que podem ser configuradas
gridview.columns.insert(0,coluna1);
gridview.columns.insert(1,coluna2);
//faz a consultaq sql no banco para trazer os dados para grid
gridview.datasource := 'select...';
gridview.databind;
finally
coluna1.free;
coluna2.free;
end;
end;

Até +