sexta-feira, 29 de agosto de 2008

0

Delphi Tour 2009



Pessoal, o momento está chegando, dia 10 de setembro de 2008 em São Paulo é o dia em que vamos conhecer a próxima geração das melhores ferramentas de desenvolvimento do planeta!.

Já tenho acomanhado alguma novidades e posso garantir que essa versão está repleta de novidades.

Eu já fiz aminha inscrição, não vou perder isso por nada nesse mundo. Vejo vocês lá!

Abraço a todos.

quinta-feira, 28 de agosto de 2008

3

Importar um arquivo delimitado de forma prática

Pessoal tenho recebido alguns pedidos para demostrar como importar de forma prática um arquivo delimitado.
Então resolvi publicar aqui uma forma de se trabalhar na importação desse tipo de arquivo de forma simples e rápida.
Obviamente essa não é a única forma e talvez nem seja a melhor, mas é aquela que me atende nos meus projetos,
portanto quem tiver algum outro meio que julgue prático fique a vontade para deixar o comentário. Primeiro quero explicar o que será feito, depois codificamos. Imagine um arquivo delimitado por ";" (ponto-e-virgula)

0001;CRISTIANO MARTINS ALVES;28;MASCULINO
0002;ALESSANDRA AMARAL;37;FEMININO

Vemos nesse exemplo que podemos obter Linhas e Colunas, então a ideia é: Primeiro extraimos e linha e depois, extraimos as colunas dessa linha.
Podemos então utilizar 2 TStringLists para nos ajudar nessa tarefa, um chamado de linhas e outro de colunas. Depois percorremos o StringList de linhas e
extraimos as colunas, "jogando" no outro StringList. Ou Seja o que esta em linha assim:

0001;CRISTIANO MARTINS ALVES;28;MASCULINO
vai parar em coluna assim:
CRISTIANO MARTINS ALVES
28
MASCULINO

Dessa forma fica fácil manipular essa dados no LtringList, veja o código


var
Linhas, Colunas:TStringList;
i,j:integer;
begin
Linhas := TStringList.Create;
Colunas := TStringList.Create;
try
Linhas.LoadFromFile('C:\MeuArquivo.txt'); //Carregando arquivo
for i := 0 to Pred(Linhas.Count) do
begin
{Transformando os dados das colunas em Linhas}
Colunas.text := StringReplace(Linhas.Strings[i],';',#13,[rfReplaceAll]);
for j := 0 to Pred(Colunas.Count) do
begin
{ Aqui você faz alguma coisa como colocar num Edit
No Meu caso aqui para exemplificar vou apenas mostrar num ShowMessage}
ShowMessage('Valor "'+Colunas.Strings[j] + '" da Linha '+IntTostr(i+1) +
' Coluna '+IntToStr(j+1));
end;
end;
finally
Linhas.Free;
Colunas.Free;
end;


É isso ai pessoal!. A única observação importante, é que se o arquivo for muito grande, coisa de mais de 150.000 linhas, vale apenas ler direto do disco (com TextFile) ao invez de colocar num StringList. Mas nesse código mudaria apenas o primeiro StringList.

quarta-feira, 27 de agosto de 2008

0

A CodeGear anunciou no último dia 25 o Delphi 2009. Eu estou muito empolgado com esse lançamento, são muitas novidades principalmente com relação a VCL que traz novos componentes com um visual perfeito para quem gosta do Windows Vista e o DataSnap que está recheado de novos recusrsos, atendendo ai a pedidos de todos nós.

Agora é só aguardar a liberação da versão trial que deve sair em breve.

Segue um ScreenShot para dar uma água na boca da galera.