quinta-feira, 1 de maio de 2014

Vamos aprender neste tutorial como manipular o editor de registros do Windows.
Primeiramente precisamos saber quais são os diretórios de registros que o Windows possui.


No desenvolvimento com C# utilizando o .Net Framework, temos a classe Microsoft.Win32, que trata de funções sobre gerenciamento de hardware e alguns recursos do próprio sistema operacional. Uma dessas "funções" é a manipulação do Regedit.

Para iniciarmos, precisamos importar essa classe.
using Microsoft.Win32;

Agora temos disponíveis a classe RegistryKey que representa uma chave de registro, como o próprio nome diz. Então vamos começar.

Vamos declarar uma variável e associarmos à ela algum diretório de registro que queremos manipular.
Em C#, identificamos cada pasta pelo seguinte código:

ClassesRoot = HKEY_CLASSES_ROOT
CurrentUser  = HKEY_CURRENT_USER
LocalMachine = HKEY_LOCAL_MACHINE
Users = HKEY_USERS
CurrentConfig = HKEY_CURRENT_CONFIG

Então, nosso código fica assim:
RegistryKey registro;
registro = Registry.CurrentUser;

Agora podemos definir o que queremos fazer dentro desse registro. Para inserirmos um valor por exemplo, usamos SetValue(registro, valor_registro)
registro.SetValue("MeuRegistro", "Programador Online");

Dessa forma criamos um registro na raiz do diretório HKEY_CURRENT_USER.


Para criarmos uma pasta dentro desse diretório, usamos o método CreateSubKey logo quando definimos a nossa chave de registro.

RegistryKey registro;
registro = Registry.CurrentUser.CreateSubKey("MinhaSubKey");

Agora podemos adicionar um novo registro.
registro.SetValue("MeuRegistro", "Programador Online");


Para lermos um registro, usamos a mesma lógica só que ao invés de CreateSubKey usaremos OpenSubKey.
// declaro o registro
RegistryKey registro;
// defino a pasta CurrentUser e a subKey que desejo ler
registro = Registry.CurrentUser.OpenSubKey("MinhaSubKey");
// defino qual registro quero retornar o valor
string valor = registro.GetValue("MeuRegistro").ToString();
// escreve o valor
Console.WriteLine(valor);

Console.ReadKey();

Assim, obtemos o valor que o registro HKEY_CURRENT_USER\MinhaSubKey\MeuRegistro contém.


A classe Win32 possui muitas funcionalidades interessantes, inclusive sobre o registro. Vale a pena explorar os métodos que essa classe possui.

Abraços e até a próxima.

Neste tutorial vamos aprender como converter uma imagem para diversos formatos utilizando a classe System.Drawing.Imaging.ImageFormat que temos no .NET Framework. Ela nos permite salvar uma imagem para um determinado formato. É isso que vamos fazer a partir de um pictureBox.

Primeiramente vamos criar nosso form.


- btnAbrir: Botão com Text = "Abrir Imagem". Abrirá a imagem a ser convertida.
- btnConverter: Botão com Text = "Converter". Ação principal que salva a imagem em um novo formato.
- cboFormato: ComboBox que terá os possíveis formatos para conversão
- picImagem: PictureBox que guardará a imagem a ser convertida.

Vamos programar as ações necessárias para abrirmos a imagem. Evento Click do btnAbrir

// Instancia um novo OpenFileDialog
OpenFileDialog dlgAbrir = new OpenFileDialog();
// Definimos o filtro do Dialog
dlgAbrir.Filter = "Arquivos de Imagem | *.png; *.bmp; *.jpg; *.gif";
// Executa o OpenFileDialog
dlgAbrir.ShowDialog();
 // Pegamos o nome do arquivo selecionado
string nomeArquivo = dlgAbrir.FileName;

// carrega o pictureBox se um arquivo válido foi selecionado
if (nomeArquivo != string.Empty)
{
   picImagem.ImageLocation = nomeArquivo;
   // Ajustamos a imagem ao pictureBox
   picImagem.SizeMode = PictureBoxSizeMode.StretchImage;
}

Note que quando criamos o filtro, usei apenas quatro extensões de arquivos, fique por sua conta explorar a classe e ver quais tipos de arquivos são suportados.

Vamos colocar as extensões dos arquivos suportados dentro do ComboBox. Podemos fazer isso através da caixa de Propriedades, mas por fins educativos, vamos fazer isso através de código!
Dê um duplo clique no formulário e será aberto o evento Load. Adicione o código que preenche o comboBox.

// Adicionamos os itens
cboFormato.Items.Add(".bmp");
cboFormato.Items.Add(".gif");
cboFormato.Items.Add(".jpg");
cboFormato.Items.Add(".png");

// Mudamos o estilo para que o usuário não possa digitar nada
cboFormato.DropDownStyle = ComboBoxStyle.DropDownList;

O DropDownStyle também pode ser alterado visualmente.

Agora o que nos resta é o código principal, que pede ao usuário para selecionar uma pasta e salva a imagem em um novo formato.
Não se esqueça de importar a classe System.Drawing.Imaging.ImageFormat no topo da classe que está programando.

using System.Drawing.Imaging.ImageFormat;

Código do btnConverter:
// Instancia um novo FolderBrowserDialog
FolderBrowserDialog dlgPasta = new FolderBrowserDialog();
// exibe o dialog
dlgPasta.ShowDialog();
 // pega o diretorio selecionado
string diretorio = dlgPasta.SelectedPath;

// verifica se a pasta escolhida é válida
if (diretorio != "") {
// salva a imagem de acordo com o que foi selecionado na comboBox
   if (cboFormato.Text == ".bmp")
       picImagem.Image.Save(diretorio + "\\imagem.bmp", ImageFormat.Bmp);
   else if (cboFormato.Text == ".gif")
       picImagem.Image.Save(diretorio + "\\imagem.gif", ImageFormat.Gif);
   else if (cboFormato.Text == ".jpg")
       picImagem.Image.Save(diretorio + "\\imagem.jpg", ImageFormat.Jpeg);
   else if (cboFormato.Text == ".png")
       picImagem.Image.Save(diretorio + "\\imagem.png", ImageFormat.Png);

// mostra mensagem de sucesso
MessageBox.Show("Imagem convertida com sucesso!");
}

Você pode tratar Exceções  com Try Catch e aprendendo neste artigo  http://programadoronline.blogspot.com.br/2012/08/tratando-erros-com-try-catch-em-c.html

O resultado final é esse:

Imagem carregada:


Seleção de alguns dos formatos disponíveis.


Procurar a pasta para salvar a imagem:


Imagem convertida com sucesso!



É isso aí. Abraços e até a próxima.

sábado, 22 de junho de 2013

Lançado o Delphi XE4 e Rad Studio XE4 com suporte para desenvolvimento de aplicações para iPhone e iPad.




Este tutorial consiste em exemplificar como é feito a passagem de dados para um arquivo JSP.
Neste exemplo teremos apenas três campos: Nome, Endereço e Telefone.

Primeiramente vamos criar o nosso formulário HTML que o usuário digitará os dados para serem recebidos e mostrados em nosso arquivo JSP.
Antes de começar, preste atenção no action do formulário, assim como os names de cada input (caixa de texto) inserido no HTML.

sábado, 22 de dezembro de 2012




Yii é um framework PHP (PHP5), free e open-source, que promete ajudar no desenvolvimento de aplicações complexas.
A sigle Yii vem do inglês "Yes, is it" (Sim, isto é), que vem da série de respostas para as perguntas:

"Is it fast? ... Is it secure? ... Is it professional? ... Is it right for my next project? ... Yes, it is!"
É rápido? ... É seguro? ... É profissional? ... É certo para meu próximo projeto? ... Sim, isto é!

Você pode fazer o download do Yii Framework em http://www.yiiframework.com/download/
E pode ver as características em http://www.yiiframework.com/features/

Estamos de volta! (:
Nesse artigo, estarei mostrando como é possível recuperar registros do banco de dados com PHP. Essa tarefa consiste em pegar os registros já gravados no banco e exibi-los novamente.
Suponhamos uma tabela de produtos com três campos: "Id, Descrição, Preço e Quantidade". Vamos recuperar o registro que possui o Id de número 3.

sexta-feira, 16 de novembro de 2012

Para quem não sabe, Unity é um ambiente de desenvolvimento de jogos. É usado por muitas empresas pelo seu custo/benefício.
Na nova versão do Unity, ela apresenta o suporte de renderização do DirectX 11, assim como novos recursos de animação, sistemas de partículas e efeitos de imagem.
Veja alguns dos jogos desenvolvidos usando o Unity.


Para mais informações da Engine, visite o site oficial em http://unity3d.com/unity/.