Pplware

Tutorial C# – DataBindings e Serialization…

Olá a todos, e como hoje é segunda-feira cá estou eu para vos mostrar mais coisas sobre o fascinante mundo da programação e em particular do C#.

Hoje temos um tema muito interessante, simples e muito prático, vamos falar de DataBindings e Serialization.


O que são?

DataBindigs, permite-nos ligar qualquer propriedade de um controlo a uma propriedade de um Objecto, como vamos ver neste tutorial ligo a propriedade Text das TextBoxes ás propriedades da minha classe Pessoa.

Serialization, é uma funcionalidade excelente da framework .NET, possibilita que o estado de um objecto seja guardado e transportado para o mesmo programa, para outros programas e até outras plataformas.

O método Serialize converte um objecto num stream que pode ser em XML ou binário, este stream pode ficar alojado na máquina ou passado através de rede ou até mesmo Internet através de envelopes SOAP.

O processo inverso tem o nome de Deserialization e converte um stream em Objecto.

Passando então ao nosso programa: Este programa é um género de lista de pessoas com o respectivo detalhe, essa lista contém os nomes das pessoas que criamos, ao ser clicado num nome em baixo é mostrado o detalhe dessa pessoa.

Temos também a possibilidade de gravar as alterações em XML (Serialize) ou de fazer o load de um ficheiro previamente guardado (Deserialize).

1º passo: criar a classe:


Nesta temos então a novidade de ter de colocar o atributo [Serializable] no topo da classe, isto vai permitir fazer a serialização para um ficheiro XML.

2º Passo: Importar namespaces e criar a nossa Lista genérica (já falamos num post anterior)


A “List p = new List ();” é uma variável global para a podermos usar sempre no decorrer do programa.

3º Passo: Criar o interface



4º Passo: Clique do botão Ok na janela Adicionar pessoa

Ao fazer clique vamos instanciar um novo objecto da classe Pessoa e colocar o texto das TextBoxes nas propriedades Nome, Idade, Profissão. Vamos também passar para a variável/Propriedade NovaPessoa este novo objecto para ser possível depois aceder do ecrã principal, como vamos ver a seguir.

5º Passo: Clique do botão adicionar


Ao clicar neste botão aparece uma nova janela para inserir os dados de uma nova pessoa. Se o resultado dessa janela for ok (configuramos para que o botão tenha esse comportamento) adicionamos essa pessoa à lista, indo buscar os Dados da propriedade NovaPessoa da janela AdicionarPessoa.

Por fim chamamos o método bindDados.

6º Passo: bindDados


Aqui entra a magia do DataBindings. Estamos a dizer ás caixas de texto para ligarem a sua propriedade texto à respectiva propriedade da lista de Pessoas.

Infelizmente a listBox não permite isto logo tem de ser pela propriedade DataSource, e antes de adicionar a lista limpamos a data existente passando null.

Agora ao criar umas quantas pessoas, verão que ao subir e descer na lista os dados das textBoxes vão-se alterando.

Agora basta gravar as nossas alterações, para isso vamos usar o XMLSerializer.

7º Passo: XMLSerializer


No botão de serialize vamos gravar os dados para um ficheiro xml chamado testes. Criamos um TextWriter(poderiam ser outras mil opções) que serve para escrever um stream de dados para um ficheiro.

Criamos o XmlSerializer e dizemos que o tipo de dados que queremos serializar é a lista de pessoas. Depois é só chamar o método Serialize, passando o stream e o objecto. O resultado final será um ficheiro com a lista de pessoas que criaram.


O (Deserialize) serve para carregar esses dados de novo para a form. Abrimos um fileStream e lemos os dados do ficheiro teste.xml definimos o XmlSerialiser tal e qual como em cima depois temos de passar o resultado do método deserialize para a nossa lista de empregados.

Fechamos o stream, muito importante, e executamos o método bindDados.

E pronto criámos um programa que possibilita guardar dados sem recorrer a bases de dados e não sendo nada complicado.


Download: Código DataBindings e Serialization [141.61KB]

Espero que tenham gostado e para a semana vamos falar de dados e manipulação de dados com bases de dados, vamos falar de ADO.Net e de todo o ambiente desconectado, DataSets, DataTables…..

Cumprimentos e boa programação.


Licença: Freeware
Sistemas Operativos: Windows 2k/XP/Vista/Win7
Download: Peopleware Serialization 1.0 [16.04KB]
Homepage: Peopleware

Exit mobile version