terça-feira, 23 de novembro de 2010

Lista de processos em execução no Windows pela linha de comando

 

Para obter as tarefas em execução no windows pela linha de comando digite:

tasklist

Para interromper algum processo em execução no windows pela linha de comando digite:

taskkill

para obter mais informações a respeito dos comandos digite:

tasklist /?
taskkill /?

Conheça o DanfeView
organizador, armazenador e visualizador de XML da NFE

segunda-feira, 4 de outubro de 2010

Icone "Mostrar Área de Trabalho" sumiu!!!!! Como criar?

 

Escreva o texto abaixo num editor de textos (Bloco de Notas), um arquivo com extesão .scf, ex.: "Mostrar Área de Trabalho.scf"

    [Shell]
    Command=2
    IconFile=explorer.exe,3
    [Taskbar]
    Command=ToggleDesktop


Salve esse arquivo na área de trabalho.



Agora você pode arrastar para barra de incialização rápida.

segunda-feira, 27 de setembro de 2010

Visualizador de arquivos do Sintegra

Quem já não sofreu tentando identificar as informações dentro de um arquivo gerado para o Sintegra, com o freeware VSSINTEGRA  basta abrir o arquivo TXT, posicionar na linha e poderá ver separadamente cada campo. Também permite o relacionamento com as críticas geradas, e ver resumos dos registros 60 e 50.

quinta-feira, 16 de setembro de 2010

Como obter uma coluna que tenha todo o resultado de um SUBSELECT concatenado com vírgulas

Imagine a seguinte saida de um SELECT:

Cod Banco Cod. das Agências
001 Banco do Brasil 03996,34096,03816
104 Caixa Economica Federal 12212,03996
237 Bradesco 00833
422 Sicredi 0153, 0300, 0500

Pergunto: Como obter a coluna com os Códigos das Agências concatenados e separados por virgula?

1ª solução “na base da força bruta”:

SELECT B.CODIGO,
       B.NOME,
       COALESCE((SELECT AGENCIA FROM AGENCIA A WHERE A.BANCO = B.CODIGO LIMIT 1),'') ||
       COALESCE(',' || (SELECT AGENCIA FROM AGENCIA A WHERE A.BANCO = B.CODIGO LIMIT 1 OFFSET 1), '') ||
       COALESCE(',' || (SELECT AGENCIA FROM AGENCIA A WHERE A.BANCO = B.CODIGO LIMIT 1 OFFSET 2), '') ||
       COALESCE(',' || (SELECT AGENCIA FROM AGENCIA A WHERE A.BANCO = B.CODIGO LIMIT 1 OFFSET 3), '')       
  FROM BANCO B
  ORDER BY 1,3


Até que a solução acima funciona, porém pouco eficiente, e com limitações, no caso limitado a 4 agências.



2ª solução  “o ideal”:



SELECT B.Codigo, 
       B.Nome, 
       ARRAY_TO_STRING(Array(
             SELECT A.Agencia::VARCHAR 
               FROM Agencia A
              WHERE A.Banco = B.Codigo
            ),',') AS Agencias
  FROM Banco B


Agora sim, temos uma solução mais eficiente, e sem limite de agências.

sexta-feira, 27 de agosto de 2010

IMPLEMENTAÇÃO DE DATA WAREHOUSE PARA PEQUENAS EMPRESAS: ESTUDO DE CASO PARA O SETOR DE DISTRIBUIÇÃO DE MEDICAMENTOS

O Data Warehouse surgiu nos anos 90 como uma maneira prática e eficiente para o tratamento de grandes volumes de informações, proporcionando consultas que auxiliam no processo decisório dentro da organização, e a cada dia vem sendo mais utilizado em grandes corporações. O objetivo deste trabalho é iniciar um processo de implantação do ambiente de Data Warehouse dentro de uma pequena empresa, demonstrando não só a sua viabilidade como também o excelente retorno que pode ser alcançado pela organização. Neste trabalho foi feito um estudo em um grupo de pequenas empresas do setor de distribuição de medicamentos, que foi usado como modelo para o projeto e implementação do Data Warehouse apresentado. O grande problema está em como implantar um Data Warehouse com custo reduzido, visto que a sua implementação não é simples e demanda de grandes recursos financeiros. Para tanto foi utilizado o máximo possível de ferramentas livres visando a redução dos custos. http://www.scribd.com/full/36506952?access_key=key-1su02imp5ahtqnh8xw1t
Edson Mundin Ferreira

terça-feira, 20 de julho de 2010

Configurando FTP Passivo no Windows Server 2008

Siga os passos abaixo:
1) Clicar em INICIAR
2) Executar
3) digite: CMD
4) Digite a linha abaixo para abrir a porta 21 no firewall:
netsh advfirewall firewall add rule name="FTP (no SSL)" action=allow protocol=TCP dir=in localport=21


5) Ativar no firewall o filtro de aplicação para FTP (aka Stateful FTP) que irá dinamicamente abrir a porta para conexão de dados:


netsh advfirewall set global StatefulFtp enable

terça-feira, 13 de julho de 2010

xHarbour - duas maneiras de fazer um loop em uma string pegando cada caracter da mesma

Usando o tradicional FOR
Local I, cNome
cNome := "Edson Mundin Ferreira"
For I = 1 To Len(cNome)
? SubStr(cNome, I, 1)
Next I 

Usando o FOR EACH
Local C, cNome
cNome := "Edson Mundin Ferreira"
For Each cLetra IN cNome
? cLetra
Next

xHarbour - Checando se um email é válido usando expressões regulares

cRegEx := "[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}"
If HB_RegExMatch( cRegEx, cEmail, .F. )
? "Email Válido!"
Else 
? "Email Inválido!"
EndIf

sexta-feira, 28 de maio de 2010

Colocando o Windows Live Messenger (MSN) no systray do Windows 7

Quem anda se aventurando com Windows 7, que por sinal tá muito bom, bem melhor que o “finado” Vista, já percebeu que o Windows Live Messenger, também conhecido por MSN, quando em execução fica na barra de tarefas, ao invés do tradicional systray.
Para quem não gostou da idéia de ter ele na barra de tarefas, e quer usá-lo da forma tradicional aqui vai a dica que meu amigo Robson descobriu:
  • Clique em iniciar;
  • Procure pelo Windows Live Messenger;
  • Clique com o botão direito do mouse;
  • Selecione “propriedades”;
  • Clique na aba “Compatibilidade”;
  • Marque o box: Executar este programa no modo de compatibilidade com:
  • escolher: “Windows Vista (Service Pack 2);
Pronto agora você tem o MSN a moda antiga, no systray.

terça-feira, 25 de maio de 2010

XHARBOUR - Recuperando o conteudo de uma página na web

function main()
  local cText, oIE, cFile := "http://www.danfeview.com.br"
  oIE := CreateObject( "InternetExplorer.Application" )
  oIE:Navigate( cFile )
  do while .t.
     if oIE:Busy
        threadsleep( 500 )
     else
        exit
     endif
  enddo
  if valtype( oIE:Document ) == "O"
     cText := oIE:Document:Body:innerText
     ? cText
  else
     ? "error"
  endif
  oIE := NIL
  wait "..."
return NIL

terça-feira, 18 de maio de 2010

SCRUM - iniciando...

Hoje fiz meu primeiro curso sobre Scrum, foi onde surgiu a idéia de postar minhas pesquisas em um blog.

Conforme encontrar material interessante na web vou concentrar neste blog.

E pra iniciar, segue palestra do Danilo Bardusco, Gerente Geral de Desenvolvimento na Globo.com, com mais de uma década de experiência no desenvolvimento para web e liderança de equipes: SCRUM: Na prática o que importa são os valores