Sábado sem eletricidade

by Agnaldo 23. janeiro 2010 18:11

Pois é... fomos premiados... a Eletropaulo vai "plantando" postes novos e trocando aquelas subestações que ficam no topo de cada um.

Só que isso tem um custo muito alto: ficamos sem eletricidade num dia letivo. Resultado: desmarcamos as aulas. Ainda bem que os nossos alunos são TODOS gente boa.

Sei que manutenção existe para qualquer coisa, mas eu fico puuuuuto irado quando vejo como esses sujeitos trabalham: dois trabalham e seis ou sete ficam olhando e "batendo papo". Por isso que eles começam 08:30h e terminam (raramente - sempre é depois) 14:30h.

Acho que eles deveriam contratar esses carinhas aqui, que resolveriam tudo... sem caminhão, sem talha, sem escada... tudo "na mão"... e seria bem mais rápido...

 
fala a verdade: você também não assiste essas competições? MUITO CHIQUE!!!

Tags:

pessoal

Outlook 2007: Como salvar anexos dos e-mails usando C#

by Agnaldo 20. janeiro 2010 22:39

Fiz um código para varrer todos os meus e-mails do outlook e achei coisas antigas, bem interessantes, até...

O código que usei foi:

Application myApp = new ApplicationClass();
foreach
(Folder f in myApp.GetNamespace("MAPI").Folders[1].Folders)
{
   
foreach (object in (f.Items))
   {
      MailItem mail 
as MailItem;

      if 
(mail != null)
         
if (mail.Attachments.Count > 0)
            
foreach (object in mail.Attachments)
            {
               Attachment anexo 
as Attachment;
               if 
(anexo != null)
               {
                  Console.Error.WriteLine(mail.Subject)
;
                  try
                  
{
                     anexo.SaveAsFile(
@"C:\atts\" 
                     
+ f.Name + "_" 
                     
+ mail.Subject.Replace('/'' ').Replace(@"\"" ")
                       
.Replace(':'' ').Replace('?'' ').Replace('*'' '
                     + 
"_" 
                     
+ mi.DisplayName.Replace('/'' ').Replace(@"\"" ")
                        .Replace(
':'' ').Replace('?'' ').Replace('*'' '));
                  
}
                  
catch { }
               }
            }
   }
}

Esse monte de Replace(char, char) foi resultado de cansaço... Poderia ter usado regex, que seria muito mais rápido... Mas já está valendo... 

E olhem o que eu encontrei (por favor, divulguem - ehehehe, claro que é piada... mas não muita):

Olha o que a falta de qualificação faz ao sujeito

by Agnaldo 20. janeiro 2010 19:33

De vez em quando vejo profissionais extremamente competentes na nossa área. São administradores de banco, programadores, gerentes, estagiários - tem cara fora do padrão em todo perfil. Não vou citá-los aqui para não cometer a injustiça de esquecer nomes. São pessoas fantásticas que estudam, pesquisam, estudam, pesquisam, estudam, pesquisam,  estu... bom, já entenderam, não?

Mas, em alguns momentos, eu vejo um outro tipo de profissional: aquele que só trabalha de 09:00h às 18:00h, de segunda a sexta e que NÃO GOSTA DE INFORMÁTICA absurdo. Reclama da falta de oportunidade, do azar, do "chefe". Não faz nada para se qualificar, para se tornar competitivo.

Para esses "profissionais" dou uma dica: não trabalhem no que não gostam... Trabalhar DEVE ser um prazer...

Abraços e não digam que não conhecem ninguém assim!!!

Tags:

pessoal

Preparando um webcast sobre LINQ

by Agnaldo 19. janeiro 2010 19:28

Devido aos feedbacks que recebi quanto ao webcast de sábado passado já planejei um novo. Terá um só tema e eu mesmo vou falar sobre eles. Serão seis tópicos de 40 minutos cada, totalizando 3 horas!!! 

Já convidei o amigo Alexandre Lopes para fazer uma palestra de abertura, onde fará a modelagem e criação do banco de dados (e seus objetos, claro) que usarei nos exemplos. 

Acho que será um blog. Como quem me conhece já sabe, farei "milhão" de exemplos.

Dessa vez, em C# e VB.Net.

Seguem os tópicos:

Acessando dados com LINQ

  • Falando sobre modelagem - Alexandre Lopes
  • O que é o LINQ
  • LINQ to Objects
  • LINQ to XML
  • LINQ to SQL
  • LINQ to DataSets
  • LINQ to Entities

Logo que eu definir a data e horário, aviso a todos.

Té+

Brincando com List<T> - como fazer uma ordenação customizada

by Agnaldo 18. janeiro 2010 14:40

O objetivo de criar a classe anterior é ler um arquivo texto com mais de 120.000 linhas (todas extraídas do meu Outlook), contendo e-mails que respondi ou que enviei. Lógico que existem n e-mails enviados para cada pessoa... Então criar uma List que não aceitasse repetições foi interessante.

Criei uma instância (objeto) da classe ListaUnica<String>, onde cada elemento tem um @ (garanti isso no aplicativo que extrai os dados do Outlook). Só que ao ordenar, com Sort(), o programa obedece a ordenação das strings - é o que chamamos ordem natural (alfabética para strings, do menor número para o maior, da menor data para a maior, e por aí vai). Eu preciso ordenar pelo domínio e não pelos nomes das pessoas (gmail com gmail, live com live, etc).

Preciso, ainda, exportar a ListaUnica<T> para arquivo. Para isso criei o método ToFile(String nomeArquivo)

O novo código da minha ListaUnica<T> ficou assim:

class ListaUnica<T> : List<T>
{
    
public new void Add(T item)
    {
        
if (!this.Contains(item))
            
base.Add(item);
    
}

    Func<T, T, 
int> Ordenar (x, y) 
=> x.ToString().Split('@')[1].CompareTo(y.ToString().Split('@')[1]);

    public new void 
Sort()
    {
        
base.Sort(new Comparison<T>(Ordenar))
    
}

    
public void ToFile(String nomeArquivo)
    {
        StreamWriter arq 
= null;

        
arq = new StreamWriter(nomeArquivo, true, Encoding.UTF8);

       foreach 
(var item in this)
            arq.WriteLine(item)
;

        arq.Close()
;
    
}
}

Para usar a exportação de dados da lista, para arquivo, basta fazer:
objListUnica.ToFile(@"c:\arquivoDestino.txt"); 

E, para ordenar, basta: objListUnica.Sort();

Agnaldo

foto

Possui mais de 25 anos de experiência na área, tendo sido aprovado em mais de 25 certificações (Microsoft e Sun), recebendo as credenciais MCT, diversos MCTS e MCITP, MCPD, MCSE, MCDBA, MCSD, MCP e SCJP. Formado em Tecnologia em Processamento de Dados pela Fatec, foi desenvolvedor, analista e gerente de projetos. Atualmente faz o que gosta: é instrutor no centro de treinamentos 50minutos.