Desenvolvimento - C#

Exemplo de programação em J# no estudo de caso em C# - Como trabalhar o XML no J# na construção de uma Agenda

Neste trabalho será utilizada a programação J# que se baseará num exemplo construído em C#. O exemplo que será a base foi retirado do livro “Dominando o Visual Studio.NET com C#, autor Fabio Camara”, que mostra como trabalhar o XML no C# na construção de uma Agenda.

por Wandy Luciano



Resumo

Neste trabalho será utilizada a programação J# que se baseará num exemplo construído em C#. Durante a construção do exemplo para o J# alguns métodos foram modificados em relação ao exemplo original.

O exemplo que será a base foi retirado do livro “Dominando o Visual Studio.NET com C#, autor Fabio Camara”, que mostra como trabalhar o XML no C# na construção de uma Agenda. Seguindo o mesmo o exemplo converterei para o J#.

Este projeto tem o objetivo de utilizar o XML no lugar do banco de dados. E para isso é necessário cria o arquivo em XML que assumirá as alterações feitas em um Grid.

Neste exemplo em J# foi feito no Visual Studio.NET 2003 e pode-se rodá-lo no VS.NET 2005.

Agora vamos montar o exemplo.

1º. Criar um novo projeto em J#, utilizarei o VS.NET 2003.


Coloque o nome do arquivo ex: “AgendaJ”e abra a uma pasta para desenvolvimento no caso foi criado a pasta J# e dentro uma outra pasta chamada Agenda.

Clique em OK para prosseguir. Então o form1 fica aberto para desenvolvimento do trabalho.

2º. Colocar o componente DataGrid e dois Buttons da Toolbox da guia Windows Forms no form.


Serão alteradas as propriedades dos objetos.

DataGrid

Button1

Button2

Form1

Name:

grdDados

Name:

btnSalvar

Name:

btnSair

Name:

frmAgenda

Text:

Salvar

Text:

Sair

Text:

Agenda

Font.Bold:

True

Font.Bold:

True

Backgroud:

LigthSteelBlue

Backgroud:

ActiveCaption

Backgroud:

ActiveCaption

ForeColor:

ActiveCaptionText

ForeColor:

ActiveCaptionText

Nota: Ao mudar o nome do form na propriedade, mude também o nome dele no trecho para evitar erros na compilação

Application.Run(new Form1());

para

Application.Run(new frmAgenda());)

3º. Coloque um componente DataSet no form que se encontra na Toolbox na guia Data. Escolha o item Untype DataSet e mude a propriedade Locale para Portuguese (Brasil) se estiver não precisa fazer este passo e mantenha o nome próprio do objeto.

4º. Com um duplo clique o btnSair digite o seguinte código:

Application.Exit();

5º. Para criar o arquivo XML é preciso colocar o nome dele e o local onde será criado. Então declare uma variável string abaixo do seguinte trecho.

public static void main(String[] args)

{

Application.Run(new Form1());

}

static String NomeArqXML = "C:\\Agenda.xml";

Nota: Nesta parte no exemplo do livro mostra a declaração em C# utilizando static readonly string NomeArqXML no J# não tem o readonly então foi declarado como na linguagem Java normal, outro característica encontrada foi que no C# a palavra string e minúscula e a para o J# é iniciada maiúscula.

6º. Será criado um metodo que monta dinamicamente o DataSet e grava o schema.

private DataSet CriaXML()

{

//Instancia de um objeto DataTable com o nome “Agenda”

DataTable dt = new DataTable("Agenda");

//A declaração dos títulos das colunas

dt.get_Columns().Add("Nome").toString();

dt.get_Columns().Add("Endereco").toString();

dt.get_Columns().Add("Telefone").toString();

dt.get_Columns().Add("Email").toString();

//Instancia de um objeto DataSet

DataSet ds = new DataSet();

//Adicição do grid no DataSet

ds.get_Tables().Add(dt);

//Escreve as informações do DataSet no arquivo XML

ds.WriteXml(NomeArqXML,System.Data.XmlWriteMode.WriteSchema);

return ds;

}

7º. No próximo método que carrega os dados que abre o arquivo XML e exibe as informações no grid senão foi criado ele passa para o método de criação do arquivo.

private void CarregaDados()

{

DataSet ds;

try

{ //Instanciação do DataSet

ds = new DataSet();

//Metodo que o DataSet recebe as

//informações contidas no arquivo XML

ds.ReadXml(NomeArqXML);

}

catch(System.IO.FileNotFoundException err)

{

//Caso não esteja criado metodo CriaXML e

//chamado

ds = CriaXML();

}

//É adicionado as informações lidas no grid

grdDados.set_DataSource(ds);

//E adicionado o objeto DataTable pelo nome da instancia

grdDados.set_DataMember("Agenda");

}

8º. Neste método é utilizado para gravar o XML a partir das informações contidas no DataSet.

public void GravaXML(DataSet ds)

{

//Metodo que cria o arquivo XML

ds.WriteXml(NomeArqXML,System.Data.XmlWriteMode.WriteSchema);

}

9º. De um duplo clique no btnSalvar e declare o seguinte código;

DataSet ds = new DataSet();

// o DataSet recebe as informações que forma digitadas

//no grid

ds = (DataSet)grdDados.get_DataSource();

if (ds.HasChanges())

{

GravaXML(ds);

}

10º. De um duplo clique no form e coloque o método que carrega os dados nele

CarregaDados();

Pronto o exemplo da Agenda em XML utilizando o J# é mostrado na figura abaixo.




Ao recriar o exemplo da agenda muitos trechos e palavras chaves do C# foram alterados. E alguns trechos tiveram um acréscimo de novos métodos e em outros foram diminuídos.

Wandy Luciano

Wandy Luciano