Recuperação de Arquivos

Olá, lembra quando aquela pasta com fotos que você jurava que tinha uma cópia e depois que formatou descobriu que não existia nada guardado.

Quando você formata o computador ele ‘apaga’ os dados, mas nem sempre é bem assim. A formatação, dependendo do método que você escolher é lógica, limpando apenas as referências para os arquivos, deixando os dados ainda no disco só que sem algo que indique aonde ele está e que tipo de arquivo que é.

Então quando acontecem eventos como o citado no inicio do post ainda é possível recuperar arquivos desde que eles ainda não tenham sido sobrescritos. Para nos auxiliar nesta tarefa existe o QPhotorec que é um programa que varre os arquivos em busca de dados perdidos ou formatados.

Mais a respeito pode ser visto Qphotorec

 

Verificando se programa já está em execução

Para saber se o programa em NET está em execução basta utilizar o método GetProcessesByName(string) disponível na classe Process.

Veja o trecho abaixo:

string programa = Process.GetCurrentProcess().ProcessName;

if (Process.GetProcessesByName(programa).Length > 1)
{
    Console.WriteLine("Este programa já esté em execução.");
    return;
}
// processamento...

A primeira linha utiliza o método GetCurrentProcess() e a propriedade ProcessName para buscar o nome do processo ativo. Na segunda linha é um teste utilizando a função GetProcessesByName(string) passando como string o nome do método encontrado na função anterior, se o número de processos retornados for maior do que 1, quer dizer que ele já está em execução. No caso do fluxo a gente avisa ao usuário e fecha o programa.

Também é possivel verificar outras informações do processo em execução como PID e nome do Processo. O código abaixo aborta o programa através do id do processo identificado, fechando a versão anterior ao invés de fechar a versão atual.

Process currentProcess = Process.GetCurrentProcess();

Process []processes = Process.GetProcessesByName(currentProcess.ProcessName);
           
foreach (Process proc in processes)
     {
                if (proc.ProcessName == currentProcess.ProcessName && proc.Id != currentProcess.Id)
                {
                    Console.WriteLine("Nome do Processo {0}", proc.ProcessName);
                    Console.WriteLine("Id do Processo {0}", proc.Id);
                    Console.WriteLine("Nome do Maquina {0}", proc.MachineName);
                    Console.WriteLine("Nome do Modulo Principal {0}", proc.MainModule);

                    proc.Kill();
                }
            }

            // processamento...

Connection String no app.config

Bom, resolvi re-escrever este post sobre como acessar a connection String no arquivo de configuração passando algumas formas novas de fazer isso.
Para quem utiliza o NET 3.5 deve utilizar o ConfigurationManager que tem um código um pouco moroso para poder fazer o acesso as configurações.

// NET 3.5
myString = System.Configuration.ConfigurationManager.ConnectionStrings
            ["ERP.Properties.Settings.ERPConnectionString"].ToString();

Para que o código acima funcione o assembly configuration deve ser adicionado ao projeto.

A partir do NET 4.0 temos um novo meio (na minha opnião mais elegante) de fazermos a mesma coisa. Abaixo o código que podemos utilizar para acessar por exemplo a propriedade ConnectionString definida no settings do projeto.

myString = Properties.Settings.Default.ConnectionString;

Teste and Depure seus ASP.NET WebServices locamente

Sabe quando você está rodando a aplicação no seu celular conectando no webservice e um erro estranho acontece. Você tenta enviar alguma mensagem de retorno para explodir o problema para que possa depurá-lo no eclipse, mas isto é bastante cansativo. Uma via interessante seria pode depurar a aplicação no Android e o WebService no Visual Studio ao mesmo tempo, assim mais facilmente você consegue identificar o problema e realizar as correções.

Nesta hora você já pega o Visual studio e roda o WebService locamente e já aponta a URL no Eclipse e manda executar e nada acontece. Faz ajustes mas sempre dá erro de conexão. Faz de tudo para consertar mas após várias tentativas o erro persiste.

O Visual Studio vem com um IIS integrado que é utilizado para realizar a depuração dos sites no ambiente de desenvolvimento, mas por padrão ele bloqueia requisições que não sejam realizadas da máquina local. Existem 2 formas de se contornar este problema, uma das alternativas é alterando o arquivo de configuração do IIS na mão. No IIS existe um arquivo que você pode editar, mas ao criar novos sites ele provavelmente vai ser reescrito, ou a entrada para seu site será alterada e você terá de fazer o processo novamente. No no caso do VS2012 ele não vai aceitar que você modifique ele te obrigando a fazer mais alguns ajustes. Então para poder depurar existe uma segunda opção que é o SharpProxy, que é uma solução simples que encontrei neste site.

Bem, se você é usuário do VS 2012 você vai dizer que já está rodou ele mas o webservice ainda não responde. É que no IIS Express a coisa piora um pouco mas já existe uma nova versão dele que já contorna o problema sobrescrevendo o host header.

SharpProxy

Basta selecionar a opção Rewrite host headers que irá funcionar também no VS 2012.

Curso Arduino

Em minhas pesquisas na internet achei um curso de Arduino que achei bastante interessante. Para quem não sabe o Arduino é uma plataforma de prototipagem eletrônica bastante completo baseada no microcontrolador Atmel AVR e que permite realizar algumas tarefas de automação para artistas amadores, e mesmo para quem atua na área, ele auxilia bastante na montagem de protótipos funcionais.

O curso é uma introdução, mas dá uma noção para quem quer se aventurar com estes equipamentos. Depois posto mais dizendo se consegui entender algo, ou mesmo se cheguei a fazer alguma coisa.

Muito legal ele, abaixo segue também o link do blog do autor.

http://renatoaloi.blogspot.com.br/

Formatar Navcity NT-1710 (sem senha)

Bom, hoje em dia quase todo mundo tem um tablet, e vira e mexe alguém perde o email ou senha e precisa que ou recuperemos eles, ou na maioria das vezes, formatemos o celular.
Bom encontrei um vídeo que mostra como formatar o Navcity NT-1710, depois de vários sites e dicas, que não funcionaram no meu. Parece que o Navcity tem várias ROOMS, com formas diferentes de fazer. Mas ai vai a que funcionou no meu caso.

Na essência tem várias dicas na web que solicitam que seja feito o que é muito comum em aparelhos no Android, desligar o celular e ligar ele apertando o botão power mais o botão de volume (+ ou -, ou os dois juntos). No caso deste vi gente que também pedia para que ao desligar o aparelho pressionasse o botão de menos. Mas o que me surpreendeu neste é que a solução é com o aparelho ligado, apertar simultaneamente o botão power mais o botão de volume para cima, no caso ele pede para reiniciar já entrando no modo recovery, a partir dai basta fazer o que a maioria dos links sugerem, que é escolher o modo “Wipe Data/factory reset”.

Está ai, espero que ajude a alguém. Posta ai se foi útil para vc também.