Sumário. 03:. Editorial 48:..Close ( ) 12 :..NET SAP connector :. C# :. Tecnologia de Jogos Digitais. 28 :. Introdução ao LINQ

Tamanho: px
Começar a partir da página:

Download "Sumário. 03:. Editorial 48:..Close ( ) 12 :..NET SAP connector 2.0 18:. C# 4.0. 23:. Tecnologia de Jogos Digitais. 28 :. Introdução ao LINQ"

Transcrição

1

2 03:. Editorial 48:..Close ( ) Sumário 04 :. Gerando Boletos Bancários II Edição 11 Número 11 Ano EDITORES Alexandre Tarifa Diego Nogare Emerson Facunte Sergio Gonçalves REVISÃO Fernanda Sallai Giaccomo Sabino MONTAGEM / FORMATAÇÃO Milton Carvalhaes EDITORAÇÃO E DIAGRAMAÇÃO Adriano Almeida COLABORADORES Caio Azevedo Danilo Marion Munhóz Diego Nogare Fabiano Belmonte Juliano Schimiguel Milton C. Filho Ricardo Quartier Seiti Yamashiro Tiago Tiguen Sinzato Fale com Editor É muito importante para a equipe saber a sua opinião sobre a revista, caso tenha alguma critica, sugestão, ou elogio entre em contato. Caso tenha interesse em publicar um artigo na revista envie o título e um resumo do tema em formato Word. Produzido por: Continuação do artigo de como gerar boletos bancários usando o ASP.NET Por: Seiti Yamashiro 12 :..NET SAP connector 2.0 Aprenda como escrever nas tabelas do SAP com o.net SAP Connector 2.0. Por: Diego Nogare 18:. C# 4.0 Conheça as novas funcionalidades do C# 4. Por: Fabiano Belmonte 23:. Tecnologia de Jogos Digitais Introdução sobre tecnologias de jogos. Por: Tiago Tiguen Sinzato / Juliano Schimiguel 28 :. Introdução ao LINQ Conheça melhor essa nova tecnologia de manipulação de dados. Por: Milton C.Filho 30:. Reporting Services 2005 Conheça esta poderosa plataforma de relatórios. Por: Caio Azevedo 34:. Servidor no Contexto de Rede Aprenda alguns conceitos de Rede. Por: Danilo Marion Munhóz / Juliano Schimiguel 42:. Report Sharp Shooter Como escolher o gerador de Relatórios? Por: Ricardo Quartier

3 Edição 11 Número 11 Ano Editorial Pessoal, como de costume estamos nos esforçando para montar a revista com artigos técnicos de alta qualidade e adequados às novidades/necessidades que surgem a cada dia no nosso universo. Nesta edição, a 11ª publicada gratuitamente pelo grupo Codificando.Net, aborda artigos sobre LINQ, SQL Server, SAP, ASP.NET, entre outras tecnologias que são muito importantes hoje no mercado nacional. Os autores, são grandes conhecedores dos assuntos abordados, e conseguem passar de forma simples e direta os temas propostos. Um ponto super importante, que começamos a plantar a algum tempo e que agora está dando ótimos frutos é a idéia de que os próprios membros da comunidade criem os materiais. Isso é tão bom pra todo mundo, que cada vez mais membros ativos estão realizando atividades e conquistando seus espaços em meio às comunidades no Brasil. Como sempre fiz, em todas as edições, deixo aqui o espaço aberto para que vocês possam nos enviar materiais produzidos por vocês, que teremos o maior prazer em publicá-los. Muito obrigado pela confiança Grande Abraço, Diego Nogare EDITORIAL

4 Gerando Boletos Bancários Parte II Continuação do artigo de como gerar boletos bancários usando o ASP.NET Por: Seiti Yamashiro Na Parte I vimos como emitir um boleto para impressão. O que falta é populá-lo com dados que façam sentido. Vamos então populá-lo com dados relevantes. Em primeiro lugar é necessário que você tenha os dados armazenados em algum lugar, um banco de dados talvez. Mas vou presumir que seu código já trate dos dados e me ater à construção de duas partes fundamentais do boleto: a linha digitável e o código de barras. Note que, embora alguns dígitos da linha digitável sigam um padrão, cada banco pode possuir regras próprias para gerá-la. Entre em contato com seu banco para ter essas informações. Linha digitável A linha digitável, lembrando novamente que estou seguindo as instruções do Itaú, possui 47 dígitos. Abaixo segue a construção da linha, lembrando que DAC significa dígito de autoconferência, ou simplesmente dígito verificador. AA- ABC.CCDDXDDDDD.DEFFFYFGGGG. GGHHHZKUUUUVVVVVVVVVV campo 1 10 dígitos campo 2 11 dígitos campo 3 11 dígitos 4 campo 5 14 dígitos Campo 1 (AAABC.CCDDX): AAA = código do banco Itaú = 341; B = código da moeda Real = 9; CCC = código da carteira de cobrança; DD = dois primeiros dígitos do Nosso Número; X = DAC módulo 10 do campo 1; Campo 2 (DDDDD.DEFFFY): DDDDDD = restante do Nosso Número; E = DAC do grupo agência/conta/ carteira/nosso número; FFF = três primeiros números da agência; Y = DAC módulo 10 do campo 2; 4

5 Gerando Boletos Bancários Campo 3 (FGGGG.GGHHHZ): F = último número da agência; GGGGGG = conta corrente + DAC; HHH = zeros; Z = DAC módulo 10 do campo 3; Campo 4 (K): K = DAC módulo 11 do código de barras (único DAC que vai para o código de barras); os DAC: s o módulo 10 e o módulo 11. O cálculo do DAC módulo 10 é realizado da seguinte forma. Tome o campo a ter calculado o DAC. Multiplique cada algarismo do campo pela sequência de multiplicadores 2, 1, 2, 1, 2, 1, posicionados da direita para a esquerda. Some os resultados, que chamarei de N. Calcule o módulo 10 de N mod10(n) ou N%10. Campo 5 (UUUUVVVVVVVVVV): UUUU = fator de vencimento; VVVVVVVVVV = valor do boleto, sem ponto e vírgula, ou zeros, no caso do valor ser preenchido pelo próprio sacado. O fator de vencimento contém 4 dígitos e é o número de dias desde 7 de outubro de 1997, servindo para indicar a data de vencimento do boleto (teremos o bug do milênio 21 de fevereiro de 2025?). Seu cálculo é bem simples, como podemos ver pelo método abaixo: private int FatorVencimento (DateTime date) DateTime zeroday = new DateTime(1997, 10, 7); return (date - zeroday).days; DAC Analisando as regras anteriores, temos que a maior parte do trabalho consiste-se em concatenar strings e calcular DACs. Para criar nossa Linha Digitável iremos dispor de dois algoritmos para calcular O DAC será 10 mod10(n). Caso o DAC seja 10, considere-o como 0. Segue abaixo um método para calcular o DAC módulo 10: private int CalculaDacMod10 (string campo) int soma = 0; int m; // caso exista um número par de algarismos, inicia a mult. por 1 if ((campo.length % 2) == 0) m = 1; else m = 2; foreach (char c in campo) soma += Convert.ToInt32(c) * m; m = 3 - m; //regra aplicada: (x+y) - x = y; (x+y) - y = x int dac = 10 - (soma % 10); if (dac == 10) return 0; return dac; O cálculo do DAC módulo 11 é bem semelhante.ele depois será utilizado para compor o DAC do código de barras. Tendo o trecho a ter o DAC calculado, tome seus algarismos e multiplique-os, iniciando-se da direita para a esquerda, pela sequência numérica de 2 a 9 ( 2, 3, 4, 5

6 Gerando Boletos Bancários 5, 6, 7, 8, 9, 2, 3, 4 e assim por diante). Some o resultado obtendo nosso N. Calcule agora o módulo 11 de N mod11(n) ou N%11. O DAC será 11 mod11(n). Caso o cálculo do DAC tenha dado 0, 10 ou 11, considere-o como 1. O método abaixo faz o cálculo do DAC módulo 11: private int CalculaDacMod11 (string campo) int soma = 0; int m = 2; //Invertendo a string, para facilitar o trabalho com os multiplicadores char [] arr = campo.tochararray(); Array.Reverse(arr); string reversed = new String (arr); foreach(char c in reversed) soma += Convert.ToInt32(c) * codifica apenas caracteres numéricos (0-9); cada caractere é representado por 5 barras, dentre os quais 2 são mais longas; codificação binária largo é 1, estreito é 0; os espaços também possuem significado, por isso o intercalado Este código de barras serve apenas para representar nossa linha digitável, transformado o que é uma seqüência de números em uma imagem. Existem muitos controles por aí que fazem isto, mas não encontrei nenhum gratuito para Asp.NET. Neste exemplo vou utilizar o arcodenet.net. Ele pode ser testado e é completamente funcional, a diferença é que, enquanto você não registrá-lo, ele criará uma linha escrito barcodenet.net (ou algo assim) logo acima do código de barras. Embora a linha digitável possua 47 dígitos, o número que será codificado em barras possui apenas 44. Por quê? Porque devemos nos livrar de três dos quatro DACs que constam nela. m; m = (m + 1 > 9? 2 : m + 1); int dac = 11 - (soma % 11); if (dac == 0 dac == 10 dac == 11) return 1; return dac; Código de Barras O padrão de código de barras para os boletos no Brasil é o denominado 2 de 5 intercalado, que pode ser resumido nas seguintes características: Assim o código de barra terá apenas um DAC. Outra diferença importante é de que a ordem em que os campos se apresentam na linha digitável não é a mesma da apresentada pelo código de barras. Segue como gerar então os dígitos que compõem o código de barras: 3 dígitos do código do Banco (341); 1 dígito com o código da moeda (3); 1 dígito do DAC do Código de Barras; 4 dígitos do fator de vencimento; 10 dígitos do valor do título, desconsiderando qualquer sinal de pontuação; 3 dígitos da carteira; 9 dígitos do Nosso Número mais seu próprio DAC; 4 dígitos da agência; 6

7 Gerando Boletos Bancários 6 dígitos da conta corrente, com seu próprio DAC; 3 dígitos não utilizados e composto por zeros (000). Depois de gerar os dígitos que compõem o código de barras, é questão de torná-lo em imagem utilizando o controle comentado anteriormente: public byte[] CodigoBarras() BarcodeNETWeb barcode = new BarcodeNETWeb(); barcode.barcodetext = DigitosCodigoBarrasComDac(); barcode.barcodetype = BAR- CODE_TYPE.INT2OF5; return barcode.getbarcodebitmap (FILE_FORMAT.PNG); Código Segue então a listagem do código fonte utilizado neste trabalho. Claro que há muito o que melhorar nele, mas isto fica como exercício. =) Note que modifiquei a classe Dados do post anterior. public class LinhaDigitavel public int Banco get; private set; public int Moeda get return 9; public string CarteiraCobranca get; private set; public string NossoNumero get; private set; public string Agencia get; private set; public string ContaCorrente get; private set; public DateTime Vencimento get; private set; public decimal Valor get; private set; public LinhaDigitavel( int banco,string carteira, string nossonumero, string agencia, string contacorrente, DateTime vencimento, decimal valor) this.banco = banco; this.carteiracobranca = carteira; this.nossonumero = nossonumero; this.agencia = agencia; this.contacorrente = contacorrente; this.vencimento = vencimento; this.valor = valor; public LinhaDigitavel(Dados dados) this.banco = dados.banco; this.carteiracobranca = dados.carteira; this.nossonumero = dados.nossonumero; this.agencia = dados.agencia; this.contacorrente = dados.contacorrente; this.vencimento = dados.datavencimento; this.valor = dados.valordocumento; public string FormatoParaImpressao() return Campo1().Substring(0, 5) + "." + Campo1().Substring(5) + " " + Campo2().Substring(0, 5) + "." + Campo2().Substring(5) + " " + Campo3().Substring(0, 5) + "." + Campo3().Substring(5) + " " + Campo4() + " " + Campo5(); public byte[] CodigoBarras() BarcodeNETWeb barcode = new BarcodeNETWeb(); barcode.barcodetext = Digitos- CodigoBarrasComDac(); barcode.barcodetype = BARCO- DE_TYPE.INT2OF5; return barcode.getbarcodebitmap (FILE_FORMAT.PNG); private string Campo1() string campo = this.banco.tostring("000") + this.moeda.tostring("0") + this.carteiracobranca.trim() + this.nossonumero.split('-') [0].Substring(0, 2); 7

8 Gerando Boletos Bancários if (campo.length!= 9) throw new Exception("Entrada inválida"); return campo + CalculaDacMod10 (campo).tostring("0"); private string Campo2() string campo = this.nossonumero.split('-') [0].Substring(2, 6) + this.dacagenciacontacarteiranoss Numero().ToString("0") + this.agencia.substring(0, 3); if (campo.length!= 10) throw new Exception("Entrada inválida"); return campo + CalculaDacMod10(campo).ToString ("0"); private string Campo3() string campo = this.agencia.substring(3, 1) + this.contacorrente.split('-') [0] + this.contacorrente.split('-') [1] //sinto falta de explode/ implode + "000"; if (campo.length!= 10) throw new Exception("Entrada inválida"); return campo + CalculaDacMod10(campo).ToString ("0"); private string Campo4() return DacCodigoBarras ().ToString("0"); private string Campo5() return this.fatorvencimento().tostring ("0000") + FormataValor(this.Valor); private string FormataValor (decimal valor) string[] value = this.valor.tostring (" ", System.Globalization.CultureInfo.In variantculture).split('.'); return value[0] + value[1]; private int DacAgenciaConta- CarteiraNossNumero() string termo = this.agencia + this.contacorrente.split('-')[0] + this.carteiracobranca + this.nossonumero.split('-')[0]; if (termo.length!= 20) throw new Exception("Entrada inválida"); return CalculaDacMod10(termo); private int DacCodigoBarras() return CalculaDacMod11 (DigitosCodigoBarrasSemDac()); private string DigitosCodigoBarrasSemDac() string termo = this.banco.tostring("000") + this.moeda.tostring("0") + this.fatorvencimento().tostring ("0000") + this.valor.tostring (" ") + this.carteiracobranca + this.nossonumero.split('-')[0] + this.nossonumero.split('-')[1] + this.agencia + this.contacorrente.split('-')[0] + this.contacorrente.split('-') [1] //sinto falta de explode/ implode + "000"; return termo; private string DigitosCodigoBarrasComDac() string termo = DigitosCodigo- BarrasSemDac(); return termo.substring(0, 4) + DacCodigoBarras().ToString("0") + termo.substring(4); private int FatorVencimento() DateTime zeroday = new DateTime(1997, 10, 7); return (this.vencimento - zeroday).days; /// /// DAC módulo 10 /// Exemplo: /// Considerando-se a seguinte representação numérica do código de barras: /// ? ? ? /// Temos: 8

9 Gerando Boletos Bancários /// a) Multiplicando a sequência dos campos pelo módulo 10: /// Campo Campo Campo /// X X X /// Observação: Os campos 4 e 5 não tem DAC /// b) Some, individualmente, os algarismos dos resultados do produtos: /// Campo 1 : = 29 /// Campo 2 : = 42 /// Campo 3 : = 29 /// c) Divida o total encontrado por 10, a fim de determinar o resto da divisão: /// Campo 1 : 29 / 10 = 2, resto 9 /// Campo 2 : 42 / 10 = 4, resto 2 /// Campo 3 : 29 / 10 = 2, resto 9 /// d) Calculando o DAC: /// Campo 1 : DAC = 10-9 : DAC = 1 /// Campo 2 : DAC = 10-2 : DAC = 8 /// Campo 3 : DAC = 10-9 : DAC = 1 /// Portanto, a sequência correta da linha digitável será: /// /// /// /// private int CalculaDacMod10 (string campo) int soma = 0; int m; // caso exista um número par de algarismos, inicia a mult. por 1 if ((campo.length % 2) == 0) m = 1; else m = 2; foreach (char c in campo) soma += Convert.ToInt32(c) * m; m = 3 - m; //regra aplicada: (x+y) - x = y; (x+y) - y = x int dac = 10 - (soma % 10); if (dac == 10) return 0; return dac; /// /// Considerando o seguinte conteúdo do Código de Barras: /// 3419? /// onde: /// 341 = Código do Banco /// 9 = Código da Moeda ///? = DAC do Código de Barras /// 1667 Fator de Vencimento (01/05/2002) /// = Valor do Título (123,45) /// = Carteira/Nosso Número/DAC (110/ ) /// = Agência/Conta Corrente/DAC (0057/ ) /// 000 = Posições Livres (zeros) /// Temos: /// a) Multiplica-se a sequência do código de barras pelo módulo 11: /// /// X /// b) Soma-se o resultado dos produtos obtidos no item a acima: /// /// /// = 742 /// c) Determina-se o resto da Divisão: /// 742 / 11 = 67, resto 5 /// d) Calcula-se o DAC: /// DAC = 11 5 então DAC = 6 /// Portanto, a sequência correta do código de barras será: /// /// ^---DAC /// /// /// private int CalculaDacMod11 (string campo) int soma = 0; int m = 2; //Invertendo a string, para facilitar o trabalho com os multiplicadores char [] arr = campo.tochararray(); Array.Reverse(arr); 9

10 Gerando Boletos Bancários string reversed = new String (arr); foreach(char c in reversed) soma += Convert.ToInt32(c) * m; m = (m + 1 > 9? 2 : m + 1); int dac = 11 - (soma % 11); if (dac == 0 dac == 10 dac == 11) return 1; return dac; public class Dados public DateTime DataDocumento get; set; public DateTime DataVencimento get; set; public DateTime DataProcessamento get; set; public string Cedente get; set; public string SacadoResumido get; set; public string SacadoCompleto get; set; public int Banco get; set; public string Agencia get; set; public string ContaCorrente get; set; public string CodigoCedente get; set; public int NumeroDocumento get; set; public string EspecieDocumento get; set; public string Aceite get; set; public string NossoNumero get; set; public string Carteira get; set; public string Instrucoes get; set; public int Quantidade get; set; public decimal Valor get; set; public decimal ValorDocumento get; set; public string CodigoBaixa get; set; public byte[] CodigoBarra get LinhaDigitavel linha = new LinhaDigitavel(this); return linha.codigobarras(); public string LinhaDigitavel get LinhaDigitavel linha = new LinhaDigitavel(this); return linha.formatoparaimpressao(); Um exemplo de uso do gerador de boletos: protected void btngeraboleto_onclick(object sender, EventArgs e) Boleto boleto = new Boleto (Portal.Controles.Boleto.Banco.ITAU, Server); List dados = new List(); dados.add( new Portal.Controles.Boleto.Dados() Aceite = "N", Agencia = "1234", Banco = 341, Carteira = "109", Cedente = "Indústria ACME", CodigoBaixa = "109/ ", CodigoCedente = " ", ContaCorrente = " ", DataDocumento = DateTime.Now, DataProcessamento = DateTime.Now, DataVencimento = new DateTime (2009, 4, 5), EspecieDocumento = "DM", Instrucoes receber após o vencimento", NossoNumero = " ", NumeroDocumento = , Quantidade = 0, SacadoCompleto do Zé - LTDA CNPJ / Rua das Casas, Vl do Bairro Sao Paulo SP", SacadoResumido = "Padoca do Zé - LTDA", Valor = 0, ValorDocumento = m ); boleto.baixa(response, dados); 10

11 Gerando Boletos Bancários Embora existam outras opções, como cartões de crédito e pagamento direto online, o boleto ainda é utilizado devido à familiaridade e facilidade de pagamento por parte do comprador. Por isso temos de saber gerá-lo em nossos sistemas, mesmo que utilizemos soluções prontas. Vimos que gerar um boleto na plataforma.net é algo simples, composto por uma guia impressa, alguma lógica para a geração da linha digitável e uma ferramenta de terceiros para a criação do código de barras. A parte mais difícil fica no sistema subjacente, não abordada, onde entra o retorno do pagamento do boleto e finalmente na remessa da mercadoria. Mas isto fica para uma próxima. Seiti Yamashiro Graduando em Ciência da Computação, desenvolvedor web em C#/Asp.NET com banco de dados MS SQL Server. Nas hora vagas costuma programar em PHP e implantar sistemas livres em Linux, além de alimentar um blog: 11

12 Escrevendo nas tabelas do SAP com o.net SAP Connector 2.0 a- través de RFC Aprenda como escrever nas tabelas do SAP com o.net SAP Connector 2.0. Por: Diego Nogare No artigo anterior sobre SAP (lendo as tabelas do SAP com.net SAP Connector 2.0 através de RFC, que pode ser acessado na 10ª Edição da Revista Codificando.Net e- Magazine), foi explicado sucintamente o que é o SAP, e quais são as atividades/ recursos envolvidos para conseguir utilizar RFCs para se trabalhar com o SAP. Se sentir necessidade, pode consultar o artigo anterior, para esclarecer e alinhar as idéias. Neste artigo, faremos o inverso do que foi feito anteriormente. Desta vez, ao invés de ler informação do SAP, iremos escrever informação no SAP. Para isso, será desenvolvida uma aplicação Windows Forms em C# que fará a escrita em uma RFC do SAP, com base em um DataTable (mas a origem da informação fica a seu critério!). Vou partir diretamente para a aplicação, entendendo que já esteja tudo configurado, como explicado no artigo sobre ler tabelas do SAP. Após a instalação do conector, um novo ícone será adicionado nos templates que podem fazer parte do projeto (Figura 1), este novo item é o SAP Connector Proxy. Este Proxy receberá todos os itens das RFCs que serão conectadas através do.net e montará automaticamente as classes de acessos com suas respectivas properties (métodos Get e Set), entre outras coisas. Para utilizar este proxy, será necessário adicionar um novo item ao projeto, então vá até a Solution Explorer, clique com o botão direito do mouse e aponte para Add New Item, acompanhe este passo na Figura 1. A tela de Template dos itens a serem inseridos, pode ser a- companhado na Figura 2. Figura 1. Adicionando novo item ao projeto 12

13 Escrevendo as tabelas do SAP com o.net SAP Connector 2.0 Figura 2. Adicionando o proxy ao Projeto. rer, para se poder visualizar as RFCs que estão liberadas pra acesso. Vá até o Server Explorer, procure o item do SAP (que foi inserido após a instalação do SAP.Net Connector 2.0), expanda a árvore do SAP e clique com o botão direito no item Application Servers, então adicione os dados AppServerHost / Client / Password / SystemNumber e UserName. A- companhe este passo na Figura 4. Após a adição, o item aparecerá no Solution Explorer (neste exemplo, foi adicionado na própria raiz do projeto, mas ele pode ser adicionado dentro de alguma outra pasta para melhorar a organização), como mostra a Figura 3. Figura 3. Proxy na Solution Explorer. Dê dois cliques no Proxy adicionado, e uma tela sem nenhum controle será a- berta no painel principal do Visual Studio Esta tela que se abriu, servirá de container para as RFCs gerarem automaticamente os códigos das classes de acesso. Este processo será explicado com mais detalhes adiante. Agora, para conseguir utilizar as RFCs (que foram criadas pelos ABAPs, lembra?!), é necessário adicionar os dados do servidor do SAP (que serão fornecidos pelo pessoal de BASIS, isso você também lembra, né?!) no Server Explo- Figura 4: Inserindo os dados de acesso no Server Explorer. Após este passo, será possível expandir o Application Servers e visualizar o servidor que você adicionou (terá o nome fornecido ao campo AppServerHost). Ao expandir este item, será necessário configurar o filtro das Functions para aparecer as RFCs (crie um novo filtro e coloque os dados para filtrar (* retorna todas)) que poderão ser utilizadas na aplicação. Acompanhe as RFCs fornecidas na Figura 5. Agora que as RFCs já estão listadas, é só arrastar a RFC que será acessada para 13

14 Escrevendo as tabelas do SAP com o.net SAP Connector 2.0 Figura 5: RFCs que poderão ser utilizadas. dentro do Proxy, na tela que já deve estar aberta no painel principal do Visual Studio. Caso isso ainda não esteja feito, dê dois cliques no item do proxy na Solution Explorer. Quando arrastar a RFC para cima do proxy, os dados da classe desta RFC serão criados automaticamente, permitindo o acesso à seus campos através de suas properties. Acompanhe na Figura 6, o proxy com uma RFC já arrastada. Agora que a RFC foi arrastada para o Figura 7: As classes criadas automaticamente pelo proxy. Está faltando pouco agora, o mais complicado já passou. Vamos ao código do método acessarsap( ) criado, e chamado pelo método LOAD do formulário. Acompanhe a Listagem 1, onde os códigos deste método foram inseridos. private void acessarsap() escrevendosap proxy = null; try proxy = new escrevendosap ( String de Conexão ); proxy.connection.open(); Figura 6: RFC arrastada para o proxy. proxy, as classes para acessar os dados do SAP foram criados automaticamente dentro do proxy, se for até a Solution Explorer e exibir os itens ocultos (Show All Files), expandindo o proxy é possível ver as classes criadas (classes exibidas na Figura 7). ZCPRHEADRTable tabelasap = new ZCPRHEADRTable(); ZCPRHEADR linha = new ZCP- RHEADR(); DataTable dt = new DataTable (); montarcolunas(ref dt); foreach (DataRow dr in dt.rows) linha.codca = dr ["codigo"].tostring(); linha.locen = dr ["nome"].tostring(); linha.numrg = dr ["telefone"].tostring(); tabelasap.add (linha); proxy.bay2_n2rfi_rfc_upda_zcprh eadr(ref tabelasap); proxy.commitwork(); 14

15 Escrevendo as tabelas do SAP com o.net SAP Connector 2.0 catch (Exception ex) MessageBox.Show(ex.Message); finally proxy.connection.close(); proxy = null; private void montarcolunas(ref DataTable dt) Listagem 1: Código para utilizar o proxy e as classes criadas. dt.columns.add("codigo"); dt.columns.add("nome"); dt.columns.add("telefone"); DataRow dr = dt.newrow(); dr["codigo"] = "1"; dr["nome"] = "Diego"; dr["telefone"] = " "; dt.rows.add(dr); A aplicação utilizará o proxy criado, que Listagem 2: Código para criar um DataTable e popular com dados ficticios. foi chamado de escrevendosap para criar uma conexão com outro servidor SAP (não precisa ser necessariamente o mesmo utilizado no Server Explorer, mas pode ser, sem problema). Os itens que precisam ser inseridos na String de Conexão, podem ser encontrados abaixo, na Listagem 3. Substitua estes itens em vermelho pelos dados fornecidos pelo pessoal de BASIS, como foi feito no Server Explorer. "ASHOST=AppServerHost SYSNR=SystemNumber CLI- ENT=Client USER=UserName PASSWD=Password" Após a informação de conexão do Listagem 3: Dados da String de Conexão proxy, será criada uma variável do tipo Tabela da RFC (ZCPRHEADRTable tabelasap = new ZCPRHEADRTable();). Esta variável criada será passada por parâmetro de referência, para o método com o nome da RFC (proxy.bay2_n2rfi_rfc_upda_zcprheadr (ref tabelasap);) que está dentro do proxy. Como o parâmetro foi por referência, a variável criada passará a ter os dados lidos no DataTable e que serão escritos no SAP através da RFC. Este foreach é criado para percorrer todos os itens do DataTable utilizado como e- xemplo, e preencher a tabela do SAP, veja que em todas as iterações do foreach a variável linha do SAP possui seus campos populados e a RFC de escrita no SAP é chamada. A Figura 8 é do SAP, após receber o valor que inserimos dentro do DataTable no método montarcolunas. Repare que os campos com marcação em vermelho apontam para os campos que foram preenchidos dentro do foreach no código da Listagem 1. Figura 8: Resultado da informação inserida no SAP. Após esta análise simples e direta, é possível fazer uma escrita em tabelas do SAP 15

16 Escrevendo as tabelas do SAP com o.net SAP Connector 2.0 através do Visual Studio Um próximo artigo explicará como trabalhar com um workaround para se trabalhar com Visual Studio 2005 e Visual Studio Diego Nogare Graduado em Ciência da Computação, Pós-Graduado em Engenharia de Computação com ênfase em Desenvolvimento Web com.net. Colaborador do Portal Linha de Código e da revista SQL Magazine, Líder do grupo de usuários Codificando.NET, Líder dos Microsoft Student Partners [MSP] de São Paulo e Microsoft Most Valuable Professional [MVP] em SQL Server, possui certificações MCP e MCTS em SQL Server 2005, é palestrante em eventos da Microsoft, Codificando.NET e INETA BR, mantém o site: 16

17

18 C# 4.0 Conheça as novas funcionabilidades do C# 4. Por: Fabiano Belmonte O Visual Studio 2010 e.net Framework 4,0 em breve estará em fase beta, e existem alguns novos recursos excelentes que todos nós podemos esperar animados com este novo lançamento. Juntamente com o Visual Studio 2010 e do. NET Framework 4,0 veremos a versão 4.0 da linguagem de programação C #. Neste artigo eu gostaria de olhar um pouco a trás de onde começou a linguagem de programação C # e olhar para onde Anders Hejlsberg do C # e sua equipe querem chegar. Em 1998, o projeto C # começou com o objetivo de criar uma simples, moderna e orientada a objeto, linguagem de programação que se tornou conhecido como o. NET. A Microsoft lançou o. NET e a linguagem de programação C #, em meados 2000 e desde então, C # tornou-se uma das mais populares linguagens de programação em uso hoje. Foi lançado então o C# 1.0 A versão 2.0 da linguagem evoluiu de mais, particularmente acho que e umas das maiores evoluções em tão pouco tempo de uma linguagem e passou a dar suporte aos genéricos, métodos anônimos, iterators, tipos parciais e tipos anuláveis. Ao conceber a versão 3.0 da linguagem a ênfase foi para permitir a LINQ (Language Integrated Query), que exigia a adição das seguintes funcionalidades: Implictly Typed Local Variables. Extension Methods. Lambda Expressions. Object and Collection Initializers. Annonymous types. Implicitly Typed Arrays. Query Expressions and Expression Trees. No passado linguagens de programação foram projetadas com um determinado paradigma em mente, e como tal, temos linguagens que foram, como exemplo, destinadas a serem orientadas a objeto ou funcionais. Hoje, porém, as linguagens que a ser concebidas com vários paradigmas em mente. Na versão 3.0 da linguagem de programação C # adquiriu várias capacidades funcionais normalmente associados a programação para permitir Language Integrated Query (LINQ). Na versão 4.0 do C # continua a evoluir, embora desta vez, a equipe do C # foram inspiradas por linguagens dinâmica como Perl, Python e Ruby. A realidade é que existem vantagens e desvantagens para ambas as linguagens seja ela escrita estaticamente e dinamicamente. Outro paradigma alem do design e inovação é concorrente que é um pa- 18

19 C#4.0 radigma que tem certamente influenciaram o desenvolvimento do Visual Studio 2010 e do. NET Framework 4.0. Agora o que o C# traz de novo: Dynamically Typed Objects. Optional and Named Parameters. Improved COM Interoperability. Safe Co- and Contra-variance. Chega de papo e vamos olhar para algum exemplos em C # 4.0 utilizando essas inovações língua... Em C # Hoje você pode ter, o seguinte código que é uma instância de uma clase escrita estaticamente. NET então chama o método Add em que a classe para obter a soma de dois inteiros: Calculator calc = GetCalculator(); int sum = calc.add(10, 20); Nosso código fica ainda mais interessante se a classe Calculadora não é escrita estaticamente, mas está escrito em COM, Ruby, Python, ou mesmo JavaScript. Mesmo se soubéssemos que a classe é uma calculadora. objeto NET, mas não sabemos qual o tipo específico que é, então, teria de utilizar reflection para descobrir atributos e o tipo em tempo de execução e, em seguida, dinamicamente invocar o método Add. object calc = GetCalculator(); Type type = calc.gettype(); object result = type.invokemember ("Add",BindingFlags.InvokeMethod, null,new object[] 10, 20 ); int sum = Convert.ToInt32(result); Se a calculadora classe foi escrito em JavaScript, então nosso código ficaria algo como a seguinte. ScriptObect calc = GetCalculator(); object result = calc.invokemember ("Add", 10, 20); int sum = Convert.ToInt32 (result); Com C # 4,0 teríamos simplesmente escrever o seguinte código: dynamic calc = GetCalculator(); int result = calc.add(10, 20); No exemplo acima declaramos uma variável calc, cujo tipo estático é dinâmico. Sim, você leu corretamente que nós escrevemos estaticamente nosso objeto a ser dinâmico. Teremos então dinâmico usando método invocação para chamar o método Add e em seguida, dinâmico conversão para converter o resultado da dinâmica de uma invocação digitado estaticamente inteiro. Você está ainda encorajado a usar tipagem estática sempre que possível, porque os benefícios que oferecem línguas escrita estaticamente nós. Usando C # 4,0, no entanto, deve ser menos doloroso nessas ocasiões em que você tem de interagir com objetos dinamicamente digitados. Outro grande benefício do uso de C # 4.0 é que a linguagem suporta agora facultativa e parâmetros nomeados e por isso vamos a- gora dar uma olhada em como esta característica irá mudar a maneira de conceber e escrever o seu código. Um desenho padrão você ver como muitas vezes que um determinado método está sobrecarregado, porque o método deve ser chamado com um número variável de parâ- 19

20 C#4.0 metros. Vamos assumir que temos o seguinte método OpenTextFile juntamente com três sobrecargas do método com diferentes assinaturas. Sobrecargas do método primário em seguida chame o método primário de passar os valores padrão no lugar desses parâmetros para os quais um valor não foi especificado na chamada para o método sobrecarregado. OpenTextFile("foo.txt", Encoding.UTF8); Também é possível usar o C # 4,0 suporte para parâmetros nomeados e, como tal, o método pode ser chamado O- pentextfile omitindo um ou mais dos parâmetros opcionais, enquanto especificando também outro parâmetro pelo nome. OpenTextFile("foo.txt", Encoding.UTF8, buffersize: 4098); O nome dos argumentos deve ser fornecido somente estância última embora desde quando eles podem ser fornecidas em qualquer ordem. public StreamReader OpenTextFile (string path, Encoding encoding, bool detectencoding, int buffer- Size) public StreamReader OpenTextFile (string path, Encoding encoding, bool detectencoding) public StreamReader OpenTextFile (string path, Encoding encoding) public StreamReader OpenTextFile (string path) No C # 4.0 O método primário pode ser refactored para usar parâmetros opcionais como mostra o seguinte exemplo: public StreamReader OpenText- File(string path,encoding encoding = null,bool detectencoding = false,int buffersize = 1024) Perante esta declaração, é agora possível chamar o método OpenTextFile o- mitindo um ou mais dos parâmetros opcionais. Se você alguma vez escrito qualquer código que executa um certo grau de interoperabilidade COM você provavelmente visto como o código seguinte. object filename = "test.docx"; object missing = System.Reflection.Missing.Value; doc.saveas(ref filename, ref missing, ref missing, ref missing,ref missing, ref missing, ref missing,ref missing, ref missing, ref missing,ref missing, ref missing, ref missing,ref missing, ref missing, ref missing); Com os parâmetros opcionais e nomeado linguagem C # 4,0 prevê melhorias significativas na interoperabilidade COM e, portanto, o código acima pode agora ser refactored tal que o convite é apenas: doc.saveas("foo.txt"); Ao realizar a interoperabilidade COM você perceber que você é capaz de omitir a ref modifer embora o uso do modificador ref ainda é necessário quando não exerçam COM interoperabilidade. Com as versões anteriores das tecnologias era necessário também um navio Primary Interop Assembly (PIA), juntamente com 20

21 C#4.0 o seu aplicativo gerenciado. Isso não é necessário quando se utiliza C # 4.0, porque o compilador irá injetar vez o interop tipos diretamente para as Assembly de seu aplicativo gerenciado e só vai injetar os tipos que você está u- sando e não de todos os tipos encontrados no interior da PIA. O último aperfeiçoamento lingüístico que vamos explorar é co-variância e contra-variância e vamos começar por explorar com a co-variância. NET matrizes. string[] names = new string[] "Anders Hejlsberg", "Mads Torgersen", "Scott Wiltamuth", "Peter Golde" ; tribuir um inteiro à matriz de strings uma ArrayTypeMismatchException é jogado. objects[0] = 1024; Em ambos os C # 2.0 e C # 3,0 invariantes são genéricos e, portanto, um erro compilador iria resultar o seguinte código: List<string> names = new List<string>(); Write(names); Quando o Escreve método é definido como: public void Write(IEnumerable<object> objects) Write(names); Desde versão 1.0 em um array o. NET Framework foi co-variante significando que uma matriz de strings, por exemplo, pode ser passada para um método que espera um array de objetos. Como tal, a matriz acima pode ser transmitida para o seguinte Escreve método que espera um array de objetos. private void Write(object[] objects) Infelizmente, em matrizes. NET não são co-seguro variante como podemos ver na seguinte código. Partindo do pressuposto de que os objetos variável é uma matriz de strings da seguinte terá êxito. objects[0] = "Hello World"; Embora se uma tentativa é feita para a- Generics com C # 4,0 apoiar agora segura co-variância e contra-variância através do uso das palavras-chave dentro e fora contextuais. Vamos dar uma olhada em como isso muda a definição do <T> IEnumerable e IEnumerator <T> interfaces. public interface IEnumerable<out T> IEnumerator<T> GetEnumerator (); public interface IEnumerator<out T> T Current get; bool MoveNext(); Você perceberá que o tipo de parâmetro T da interface IEnumerable foi prefixado com o fora contextuais palavrachave. Dado que a interface IEnumera- 21

22 C#4.0 ble é somente leitura, não há capacidade especificada na interface para inserir novos elementos com a lista, ela é segura para o tratamento de algo mais derivados como algo menos derivados. Com a palavra-chave fora contextuais estamos afirmando que contratualmente IEnumerable <out T> segurança é covariante. Dado que IEnumerable <out T> segurança é co-variante podemos agora escrever o seguinte código: IEnumerable<string> names = Get- TeamNames(); IEnumerable<object> objects = names; Porque a interface IEnumerable <out T> utiliza a palavra-chave no contexto do compilador podem motivo que a a- tribuição acima é seguro. Utilizando a palavra-chave no contexto podemos alcançar seguro contravariância, ou seja, tratar algo menos derivados como algo mais derivados. public interface IComparer<in T> int Compare(T x, T y); dentro e para fora contextuais tais como palavras-chave em tipos IComparer <in T>. O. NET Framework equipa está a atualizar os tipos, no âmbito de ser coseguro e contra-variante. Eu mostrei aqui alguns recursos que você pode achar útil para explorar as capacidades da linguagem de programação C # 4,0 e gostaria de encorajá-lo a também fazer download e instalar a versão beta. Bons Códigos... Fabiano Belmonte Senior Architect da InfoMoney.com, especialista em aplicações e-business com larga experiência em B2B (Submarino.Com e Saraiva.Com). Trabalha há 5 anos com a tecnologia.net, aplicando conhecimentos nas diversas á- reas: instituições financeiras (sistema SPB), e-commerce, gerenciamento logístico entre outras. Trabalhando com Visual Studio desde suas primeiras versões, responsável pela implementação de uma Metodologia de trabalho e melhoras significativas no resultados e na qualidade do time de Desenvolvimento de muitas empresas por onde passou como (Saraiva.Com) e ferramentas como TFS (Team Foundation Server). Foi palestrante em eventos como Codificando. NET 2008 e outros eventos sobre Tecnologia.NET. Dado que IComparer <in T> é segura contra-variante podemos agora escrever o seguinte código: IComparer<object> objectcomparer = GetComparer(); IComparer<string> stringcomparer = objectcomparer; Embora o actual build CTP do Visual Studio 2010 e do. NET Framework 4,0 tem suporte limitado para a variância melhorias em C # 4,0 a próxima versão beta permite que você use o novo para 22

23 Tecnologias para o Desenvolvimento de Jogos Digitais Introdução sobre tecnologias de jogos. Por: Tiago Tiguen Sinzato / Juliano Schimiguel Introdução Motor de jogo (também conhecido pelo termo em inglês, game engine, ou simplesmente engine) é um programa de computador e/ou conjunto de bibliotecas, para simplificar e abstrair o desenvolvimento de jogos ou outras aplicações com gráficos em tempo real, para videogames e/ou computadores rodando sistemas operacionais. A funcionalidade tipicamente fornecida por um motor de jogo inclui: um motor gráfico para renderizar gráficos 2D e/ou 3D, um motor de física para simular a física ou simplesmente para fazer detecção de colisão, suporte a animação, sons, inteligência artificial, networking, gerência de memória, gerência de arquivos, gerência de linha de execução, um grafo de cena e, suporte a uma linguagem de script. O processo de desenvolvimento de jogos é freqüentemente agilizado quando usado o mesmo motor de jogo para criar diferentes jogos. A maioria dos motores de jogo são distribuídos em forma de API (Application Programming Interface ou Interface de Programação de Aplicativos), porém, alguns motores são distribuídos em conjunto de ferramentas, que agilizam e simplificam ainda mais o desenvolvimento do jogo, como por exemplo: IDEs, scripts pré-programados, e programas que empacotam e deixam pronto o jogo para distribuição. Esses motores completos são chamados de Middleware. Pelo fato de serem distribuídos com outras ferramentas, eles suprem a necessidade da compra de outras ferramentas, reduzindo os custos. Como exemplo, pode-se citar: Blender, Gamebryo, Havok, RAD Game Tools, RenderWare e, Unreal Engine. Um motor de jogo pode ser dividido em duas principais categorias: motor gráfico e motor de física. Motores gráficos lidam com os gráficos, sendo responsáveis de processar dados abstraídos de alto nível e gerar dados de baixo nível intendíveis pelo hardware. Como exemplo, pode-se citar: Crystal Space, Irrlicht, OGRE e RealmForge. Motores de física lidam com a física, sendo resposáveis por simular ações reais, através de variáveis como gravidade, massa, fricção, força e flexibilidade. Como exemplo, pode-se citar: Bullet, COLLADA e ODE. História 23

24 Tecnologia para Desenvolvimento de Jogos Digitais O termo game engine originou-se no meio da década de 1990, especialmente em conexão com jogos 3D, como tiro em primeira pessoa a exemplo dos jogos Doom e Quake que ao invés de construir o jogo do zero, outros desenvolvedores licenciaram os núcleos destes jogos, usando-os como base para seus próprios motores de jogo. Com o amadurecimento, os motores de jogo deixaram de se restringir ao desenvolvimento de jogos. Eles são usados em outras áreas, como treinamento, uso médico e simulações militares. Como a maioria dos jogos 3D estão, cada vez mais, se limitando ao poder da GPU e PPU(Graphics Processing Unit ou Unidade de Processamento Gráfico/Unidade de Processamento de Física), as perdas de desempenho das linguagens de programação de alto nível, como C#, Java e Python, deixam der ser válidas, enquanto os ganhos de produtividade oferecidos por essas linguagens trabalham em benefício dos desenvolvedores de motores de jogo. Abstração de hardware Motores de jogo fornecem abstração de hardware, permitindo a um programador desenvolver jogos sem a necessidade de conhecer a arquitetura da plataforma-alvo, que pode ser um console ou um sistema operacional. Por esse motivo, muitos motores são desenvolvidos a partir de API existentes, como OpenGL, DirectX, OpenAL e SDL, ou até mesmo a partir de outro motor, que pode facilitar o seu desenvolvimento. A abstração de hardware também é essencial para o desenvolvimento de motores de jogo multiplataforma. Motores de tiro em primeira pessoa Um bom e conhecido subconjunto de motores de jogo são os motores de tiro em primeira pessoa 3D. Enquanto jogos de estratégia em tempo real e simuladores de vôo apostam na qualidade gráfica, jogos deste gênero apostam na ação. O motor mais conhecido deste gênero é o Doom. A classificação de bom motor do gênero é exigente, pois o que é considerado avançado em um ano, no ano seguinte pode ser considerado padrão. É comum serem criados novos motores com base em velhos motores, misturando novas funções, mas mantendo algumas antigas. Quando um motor mantém desenvolvimento focado nos gráficos, o jogo pode perder no quesito ação. Um bom exemplo disso é o jogo CellFactor: Revolution, que teve seu desenvolvimento parado; o jogo agora está disponível para download completo e gratuito. Principais motores de jogos Motores tradicionais: 3D GameStudio - C4 Engine - DX Studio - Esperient Creator Irrlicht - Ketsji(Blender) - NeoAxis Engine - Panda3D - RPG Toolkit - Torque Game Engine - Truevision3D - Unity - Unreal Engine Motores de física: Bullet - Havok ODE Motores gráficos: Crystal Space - OGRE OpenSceneGraph Motores proprietários: 3D GameStudio - 24

25 Tecnologia para Desenvolvimento de Jogos Digitais C4 Engine - DX Studio - Esperient Creator - Havok - NeoAxis Engine - Torque Game Engine - Truevision3D - Unity - Unreal Engine Motores código aberto: Bullet - Crystal Space - Irrlicht - Ketsji (Blender) - ODE - OGRE - OpenSceneGraph - Panda3D - RPG Toolkit Desenvolvimento nas plataformas Atuais criadas por usuários que utilizam falhas do console para rodar esse tipo de aplicativo. Nintendo Wii: A Nintendo também possui o seu kit de desenvolvimento profissional, e devido às duas maiores concorrentes estarem brigando pelo desenvolvimento gratuito começaram rumores de que o Wii também terá a sua ferramenta para usuários. Cada plataforma possui seu kit de desenvolvimento proprietário e pago, porém, além do computador existem alternativas para desenvolver jogos para essas plataformas. Microsoft Xbox 360: Possui seu kit de desenvolvimento profissional, porém com alternativa grátis chamada Microsoft XNA Studio Express, podendo ser desenvolvidos jogos para PC e para Xbox. Sony Playstation 3: A plataforma da Sony é uma das mais fechadas, que possui seu kit de desenvolvimento com custo alto. Porém a ultima novidade é que sairá um concorrente para a ferramenta da Microsoft, XNA chamada Phyre Engine que possibilitará usuários a criarem seus jogos utilizando toda a potência do Playstation 3. Sony Playstation Portable: Também como o Playstation 3, o Portable da Sony também é bem fechado e o desenvolvimento gratuito nessa plataforma é feito de maneira ilegal através de ferramentas Nintendo DS: Assim como o PSP, o console portátil da Nintendo não possui qualquer tipo de ferramenta para usuários desenvolverem jogos ou aplicativos sem utilizar o kit oficial. Computador: A plataforma PC é a mais aberta, e possui uma quantidade muito grande de opções para desenvolvimento não só de jogos amadores como profissionais de baixo ou nenhum custo. Celular: O desenvolvimento de jogos e aplicativos para celular cresceu muito devido a evolução rápida desses dispositivos, hoje também é possível criar jogos em 3D para celulares. As duas plataformas mais utilizadas são a Symbian e o Java (JME), porém a Microsoft anunciou que será disponibilizada na versão 3.0 do XNA a opção de desenvolvimento de jogos para plataforma Windows Mobile. 6. Ferramentas desenvolvimento para PC Para desenvolver jogos para PC, temos a opção de utilizar diretamente as APIs gráficas (DirectX e OpenGL) porém teremos que redesenvolver muita coisa, gastando muito tempo. A opção mais viável é utilizar engines prontas e disponíveis para cada parte do Game, essas engines variam de qualidade, linguagem, facilidade, preço e complexidade. Cabe a 25

26 Tecnologia para Desenvolvimento de Jogos Digitais nós testá-las e encontrar a engine que mais se adéqüe as necessidades do Game. Segue uma lista de engines para cada parte: Engines gráficas Irrlicht (http://irrlicht.sourceforge.net), muito boa engine gráfica em C++, foco em 3D, intuitiva e fácil de usar; OGRE (http://www.ogre3d.org), engine gráfica muito experiente em C++, foco em 3D, complexa e com bastante material; XNA (http://msdn.microsoft.com/xna/), engine gráfica em C# da Microsoft, foco em 3D, que compila para ambiente PC e XBOX360, SDL (http://www.libsdl.org), engine gráfica e sonora simples de usar, foco em 2D, nativa em C++; Allegro (http://alleg.sourceforge.net), engine gráfica experiente e simples de usar, foco em 2D, nativa em C++; GLScene (http://www.glscene.org), engine gráfica em OpenGL muito completa, foco em 3D, desenvolvida para Delphi; Game Maker (http:// O Game Maker é escrito em Delphi, motivo pelo qual não tem versões para outros sistemas que não a Microsoft Windows. Engines físicas ODE (http://www.ode.org), engine física totalmente open e free nativa em C++, simples e fácil de usar; Newton (http:// engine de física muito completa e fácil de usar nativa em C++, uso profissional pago; Ageia (http://www.ageia.com), engine de física também muito completa e fácil de usar nativa em C++, recentemente comprada pela Nvidia, uso profissional pago; Engines sonoras: Irrklang (http://www.ambiera.com/ irrklang/), engine de som criada em C++ para trabalhar especialmente com a Irrlicht; Fmod (http://www.fmod.org), engine muito experiente em C++; OpenAL (http://www.openal.org), engine muito experiente em C++; SDL (http://www.libsdl.org), engine gráfica e sonora simples de usar, nativa em C++. Após relacionar as engines que iremos utilizar, basta escolher a IDE C++ preferida para iniciar o desenvolvimento: Microsoft C++ Express Edition (http:// ), grátis para o uso somente no Windows; Code::Blocks C++ (http:// grátis e presente no Windows e no Linux; Dev C++ (http://www.bloodshed.net/ devcpp.html), grátis e somente para Windows. 7. Ferramentas para desenvolvimento rápido de Games Uma alternativa rápida para quem não possui uma equipe ou tempo para desenvolvimento são ferramentas que possuem um pré-formato de game ou funcionalidades. Essas ferramentas reúnem várias engines e disponibilizam um framework para o desenvolvimento rápido de um Game. Segue alguns exemplos: 26

27 Tecnologia para Desenvolvimento de Jogos Digitais Game Maker (http://yoyogames.com), ferramenta de desenvolvimento de jogos plataforma Windows; RPG Maker (http://tkool.jp/products/rpgxp/ eng/), ferramenta para desenvolvimento RPGs; Mugen (http://www.mgbr.net), ferramenta para desenvolvimento de jogos de luta; 3D Game Studio (http:// ferramenta para desenvolvimento de jogos 2D e 3D; True Vision 3D (http:// ferramenta para desenvolvimento de jogos 2D e 3D. 8. Ferramentas para desenvolvimento para Celular Celular para portáteis e com isso a indústria internacional de jogos está crescendo muito a cada dia, e desde 2003 ela já rende mais que a indústria de filmes. A previsão para os próximos cinco anos é que a área cresça 20% ao ano. Só no ano de 2007, foram movimentados 50 bilhões de dólares. O surgimento de novas tecnologias tem atuado como um grande catalisador para a convergência digital ao tornar o desenvolvimento de aplicações para sistemas embarcados tão fáceis e acessíveis ao público quanto no caso dos PCs. Por outro lado, a abertura desse mercado, aliado ao sucesso vivenciado pelo entretenimento digital na indústria de PCs, é um forte sinal do sucesso esperado da área de jogos para PCs, consoles e Celulares. Referências Para desenvolver em JME, basta baixar o Eclipse IDE junto com o plugin EclipseME e o Java Wireless Toolkit da Sun Com esses aplicativos instalados, você irá possuir uma estação completa de desenvolvimento e emulação de aplicativos e games em JME. A grande maioria dos dispositivos móveis de hoje possuem suporte a JME. Conclusão Estamos na sétima geração de videogames, na última geração temos: Sony Playstation 3, Microsoft Xbox 360 e Nintendo Wii em consoles, e: Playstation Portable (PSP), Nintendo DS e Tiago Tiguein Sinzato Aluno do Curso de Tecnologia em Análise e Desenvolvimento de Sistemas Universidade Cruzeiro do Sul, Campus Anália Franco São Paulo, SP. Prof. Dr. Juliano Schimiguel Professor do Curso de Tecnologia em Análise e Desenvolvimento de Sistemas Universidade Cruzeiro do Sul, Campus Anália Franco São Paulo. 27

28 Introdução ao LINQ Conheça melhor essa nova tecnologia de manipulação de dados. Por: Milton C.Filho Salve galera, Iniciaremos hoje uma série de artigos sobre LINQ abordando seus princípios, mecanismos, utilização e dicas de boas práticas. No artigo de hoje falarei o que é o LINQ e suas principais utilizações. Vamos começar?! querys SQL gerando assim todas as consultas e querys de manipulação (Insert, Update, Delete). Também possibilita mapear toda a sua base de dados e transformar as tabelas em classes. Desta forma você poderá trabalhar na sua base de dados da mesma forma que trabalha com classes do.net Framework ou classes próprias. -LINQ To XML O que é LINQ? LINQ (Language Integrated Query) são recursos do framework 3.5 que proporciona para o desenvolvedor uma forma prática de realizar consultas, desde consultas em base de dados até consultas em arquivos XML, coleções de objetos etc. Sua sintaxe é bem parecida com a do SQL e traz a vantagem de poder trabalhar dentro do Visual Studio com a linguagem de sua escolha, tornando assim o entendimento e o aprendizado bem mais fácil. O LINQ é apresentado de cinco principais formas: LINQ To SQL Usado para manipular bases de dados SQL Server, de forma bem prática e rápida converte as querys do LINQ em Usado para manipular aquivos XML, podendo assim consultar, criar e inserir dados em arquivos XML de uma maneira prática. -LINQ To Objects Usado para manipular coleções de objetos do.net Framework ou coleções próprias, ou seja, você pode manipular qualquer coleção de objetos desde que este objeto herde da Interface INumerable<T>. -LINQ To DataSet Usado para manipular DataSets podendo realizar consultas nas tabelas do DataSet. -LINQ To Entities. Usado para manipular dados de outras bases de dados podendo mapear toda a sua base de dados em classes do.net 28

29 Introdução ao LINQ Framework e trabalhar com essas classes fazendo consultas, inserções, exclusões, atualizações de uma forma bem prática. Nos próximos artigos aprenderemos mais alguns conceitos e veremos a utilização do LINQ na prática. Espero que tenham gostado e até o próximo. Milton C. Filho Cursando o 6º semestre do curso de Sistemas de Informação na faculdade Barretos, formado em técnico em informática pelo Centro Paula Souza de Barretos, trabalha com desenvolvimento de sistemas web com o foco tecnologias Microsoft. 29

30 Explorando Microsoft Reporting Services Conheça esta poderosa plataforma de relatórios. Por: Caio Azevedo Olá pessoal, iniciamos aqui uma série de artigos onde faremos uma abordagem prática e teórica, dessa poderosa e pouco explorada que é o Reporting Services. Nesse primeiro momento veremos a versão do SQL 2005, por ainda ser a ferramenta padrão de banco de dados na maioria dos nossos clientes, mas em breve faremos uma explanação da versão 2008, bom divertimento. Parte 1 Introdução ao reporting services O Microsoft SQL Reporting Services, RS, é uma plataforma de relatórios completa. Parte integrante do framework de Business Intelligence baseada em serviços, ferramentas, APIs para desenvolvimento, publicação e gerenciamento dos relatórios, o RS foi inicialmente apresentando como um add-on do SQL Server 2000 no inicio de Atualmente, sua versão mais recente, é a do SQL 2008, mas aqui cobriremos aquela, parte integrante do SQL Server 2005, por ser a solução de banco de dados mais comumente utilizada. Os relatórios do RS são baseados na linguagem RDL (Report Definition Language), que nada mais é que um dialeto XML criado pela Microsoft. E, uma vez que o ambiente do RS esta intimamente integrada à plataforma.net framework, suas ferramentas de desenvolvimento são os Visual Studio 2005 e 2008, ainda que o próprio SQL Server 2005 tenha um shell do Visual Studio 2005 chamado Business Intelligence Development Studio (BIDS). Com o RS é possível criar soluções de relatórios como parte de uma aplicação, os chamados Local Mode, que são similares ao modelo utilizado no Cristal Reports ou Microsoft Access, além desse, temos o modelo de relatórios remoto que operam como uma aplicação web hospedados em um Web Application Server (IIS) e acessíveis via protocolo HTTP. Finalmente temos através da ferramenta Report Builder, uma forma de disponibilizar para os usuários criar seus próprios relatórios, atendendo assim ambientes corporativos, desenvolvedores, arquitetos e usuários. Para qualquer solução de relatórios que faz uso do ambiente do RS faz-se uso dos elementos apresentados na figura abaixo, sendo que a interação entre esses elementos varia conforme o modelo do relatório, mas eles sempre estarão presentes, do processo de criação ao consu- 30

31 Explorando Microsoft Reporting Services 2005 mo pelo usuário final. São as estruturas em memória que criamos para armazenar temporariamente o resultado das consultas que serão visualizadas nos relatórios, essas consultas são implementadas na forma de stored procedures, views, instruções T-SQL além de cubos OLAP. Figura 1.1 Correlação entre elementos do Reporting Services Na figura 1.1, temos o diagrama da relação entre os principais elementos de uma solução baseada em reporting services, relação que detalharemos a seguir: Relatório Correspondem ao front-end dos dados devidamente formatados e que correspondem a uma representação gráfica, funcional e operacional de um arquivo RDL, com características especificas conforme seu tipo. Os relatórios podem ser invocados por uma aplicação cliente, seja ele uma aplicação Windows, Web, por qualquer tecnologia que consuma WebService ou mesmo pelo ambiente do próprio report ing services. Aplicação cliente São as aplicações capazes de implementar, gerenciar e visualizar os relatórios, sendo os principais, o Report Manager, o BIDS, Visual Studio,aplicações.net Windows e web por meio do controle ReportViewer, além do aplicativo Office-Model Report Builder. Estrutura de dados volátio Db access engine São os diversos mecanismos possíveis para acesso aos dados, corresponde às fontes de dados: de acesso ao SQL Server, Oracle, OLE DB, ODBC bem como Analysis Server Databases OLAP. Repositórios de dados São as fontes de dados das quais se extrai as informações para os relatórios criados e acessados via os DB Access Engines. O RS suporta alguns dos mais úteis tipos de relatórios auxiliando os usuários na melhor distribuição das informações, são eles: Tabular: utilizado para distribuição das informações como uma tabela, com um numero de colunas previamente estabelecidos, similar aos dados do excel; Livre: as informações são posicionadas arbitrariamente como for melhor conveniente para o usuário, por exemplo, relatórios do tipo, master-detail; Chart: aos dados são apresentados graficamente; Correlação: as informações do relatório são correlacionadas nos dois eixos cartesianos formando uma matriz, por exem- 31

32 Explorando Microsoft Reporting Services 2005 plo, um relatório das condições de temperatura de um conjunto de cidades; DrillDown: relatórios que permitem seções expansíveis, tais como relatórios de correlação, produtos x vendas, que permitem exibir subcategorias dos produtos; Interativos: são relatórios que permitem uso das funcionalidades especiais, tais como documentmap, links, dentre outras, por exemplo relatórios similar ao modo de exibição de documento PDFs com o Adobe Reader com marcadores. Figura 1.5 relatório interativo Não menos úteis são as funcionalidades nativas dos relatórios, tais como parametrização das pesquisas para campos datas, seleções múltiplas e texto livre; recurso de navegação entre páginas; zoom; pesquisa; exportação para diversos formatos (XML, CVS, TIFF, PDF, Excel); ordenação por colunas; formatação condicional, dentre outros. Figura 1.2 relatório tabular Figura 1.3 relatório de correlação Figura 1.4 relatório drilldown Figura 1.6 funcionalidades É isso ai pessoal, até aqui só começamos nossa exploração ao fantástico mundo do reporting service, na próxima edição veremos o primeiro dos modelos de relatórios, os ditos Local Mode abraço e até lá e lembrem-se may the force be with you. 32

Introdução ao C# . Visão geral do.net Framework

Introdução ao C# . Visão geral do.net Framework Introdução ao C# Microsoft.NET (comumente conhecido por.net Framework - em inglês: dotnet) é uma iniciativa da empresa Microsoft, que visa uma plataforma única para desenvolvimento e execução de sistemas

Leia mais

Microsoft Visual Studio 2010 C# Volume II

Microsoft Visual Studio 2010 C# Volume II Microsoft Visual Studio 2010 C# Volume II Apostila desenvolvida pelos Professores Ricardo Santos de Jesus e Rovilson de Freitas, para as Disciplinas de Desenvolvimento de Software I e II, nas Etecs de

Leia mais

Seminário - C# DSO II. Desenvolvimento de Sistemas Orientados a Objetos 2. Equipe: Diorges, Leonardo, Luís Fernando, Ronaldo

Seminário - C# DSO II. Desenvolvimento de Sistemas Orientados a Objetos 2. Equipe: Diorges, Leonardo, Luís Fernando, Ronaldo Seminário - C# DSO II Desenvolvimento de Sistemas Orientados a Objetos 2 Equipe: Diorges, Leonardo, Luís Fernando, Ronaldo Roteiro Breve Histórico Plataforma.NET Características da Linguagem Sintaxe Versões

Leia mais

Microsoft Visual Studio Express 2012 for Windows Desktop

Microsoft Visual Studio Express 2012 for Windows Desktop Microsoft Visual Studio Express 2012 for Windows Desktop Apresentação da ferramenta Professor: Danilo Giacobo Página pessoal: www.danilogiacobo.eti.br E-mail: danilogiacobo@gmail.com 1 Introdução Visual

Leia mais

Algoritmos em Javascript

Algoritmos em Javascript Algoritmos em Javascript Sumário Algoritmos 1 O que é um programa? 1 Entrada e Saída de Dados 3 Programando 4 O que é necessário para programar 4 em JavaScript? Variáveis 5 Tipos de Variáveis 6 Arrays

Leia mais

PARTE I A Linguagem C#

PARTE I A Linguagem C# PARTE I A Linguagem C# Capítulo 1, C# 3.0 e o.net 3.5 Capítulo 2, Iniciando: Hello World Capítulo 3, Fundamentos da Linguagem C# Capítulo 4, Classes e Objetos Capítulo 5, Herança e Polimorfismo Capítulo

Leia mais

Linguagem de Programação JAVA. Professora Michelle Nery Nomeclaturas

Linguagem de Programação JAVA. Professora Michelle Nery Nomeclaturas Linguagem de Programação JAVA Professora Michelle Nery Nomeclaturas Conteúdo Programático Nomeclaturas JDK JRE JEE JSE JME JVM Toolkits Swing AWT/SWT JDBC EJB JNI JSP Conteúdo Programático Nomenclatures

Leia mais

Microsoft Excel 2003

Microsoft Excel 2003 Associação Educacional Dom Bosco Faculdades de Engenharia de Resende Microsoft Excel 2003 Professores: Eduardo Arbex Mônica Mara Tathiana da Silva Resende 2010 INICIANDO O EXCEL Para abrir o programa Excel,

Leia mais

Fundament n os s da platafo f rm r a. NE N T André Menegassi

Fundament n os s da platafo f rm r a. NE N T André Menegassi Fundamentos da plataforma.net André Menegassi O que é o.net Framework?.NET é uma plataforma de software para desenvolvimento de aplicações que conecta informações, sistemas, pessoas e dispositivos através

Leia mais

Principais características

Principais características .Net Framework O que é.net? Proprietário da Microsoft Versão simplificada para Linux Versão compacta para dispositivos móveis Plataforma de desenvolvimento e execução Interface com usuário, conectividade

Leia mais

Framework.NET, Microsoft Visual C# 2010 Express e Elementos da Linguagem C#

Framework.NET, Microsoft Visual C# 2010 Express e Elementos da Linguagem C# Linguagem de Programação 3 Framework.NET, Microsoft Visual C# 2010 Express e Elementos da Linguagem C# Prof. Mauro Lopes 1-31 35 Objetivos Nesta aula iremos apresentar a tecnologia.net, o ambiente de desenvolvimento

Leia mais

Instalando o IIS 7 no Windows Server 2008

Instalando o IIS 7 no Windows Server 2008 Goiânia, 16/09/2013 Aluno: Rafael Vitor Prof. Kelly Instalando o IIS 7 no Windows Server 2008 Objetivo Esse tutorial tem como objetivo demonstrar como instalar e configurar o IIS 7.0 no Windows Server

Leia mais

Instalando o IIS 7 no Windows Server 2008

Instalando o IIS 7 no Windows Server 2008 Goiânia, 16/09/2013 Aluno: Rafael Vitor Prof. Kelly Instalando o IIS 7 no Windows Server 2008 Objetivo Esse tutorial tem como objetivo demonstrar como instalar e configurar o IIS 7.0 no Windows Server

Leia mais

Nome N Série: Ferramentas

Nome N Série: Ferramentas Nome N Série: Ferramentas Competências: Identificar e utilizar técnicas de modelagem de dados; Habilidades: Utilizar ferramentas de apoio ao desenvolvimento de software; Bases Tecnológicas: Metodologias

Leia mais

O conjunto é composto por duas seções: o App Inventor Designer e o App Inventor Blocks Editor, cada uma com uma função específica.

O conjunto é composto por duas seções: o App Inventor Designer e o App Inventor Blocks Editor, cada uma com uma função específica. Google App Inventor: o criador de apps para Android para quem não sabe programar Por Alexandre Guiss Fonte: www.tecmundo.com.br/11458-google-app-inventor-o-criador-de-apps-para-android-para-quem-naosabe-programar.htm

Leia mais

Introdução a lógica de programação. Aula 02: Linguagens de Programação e Introdução ao Visual C# Express

Introdução a lógica de programação. Aula 02: Linguagens de Programação e Introdução ao Visual C# Express Introdução a lógica de programação Aula 02: Linguagens de Programação e Introdução ao Visual C# Express Roteiro da aula Linguagem de Programação Visual C#: Introdução a C# através de comandos de entrada

Leia mais

Manual. Pedido Eletrônico

Manual. Pedido Eletrônico Manual Pedido Eletrônico ÍNDICE 1. Download... 3 2. Instalação... 4 3. Sistema de Digitação SantaCruz... 8 3.1. Configuração... 8 4. Utilização do Sistema Digitação SantaCruz... 11 4.1. Atualizar cadastros...11

Leia mais

Programando em C# Orientado a Objetos. By: Maromo

Programando em C# Orientado a Objetos. By: Maromo Programando em C# Orientado a Objetos By: Maromo Agenda Módulo 1 Plataforma.Net. Linguagem de Programação C#. Tipos primitivos, comandos de controle. Exercícios de Fixação. Introdução O modelo de programação

Leia mais

Neste tutorial apresentarei o serviço DFS Distributed File System. Veremos quais as vantagens

Neste tutorial apresentarei o serviço DFS Distributed File System. Veremos quais as vantagens Neste tutorial apresentarei o serviço DFS Distributed File System. Veremos quais as vantagens em utilizar este serviço para facilitar a administração de pastas compartilhadas em uma rede de computadores.

Leia mais

JavaScript 2.0X 1.0 3.0X 1.1 4.0 4.05 1.2 4.06 4.61 1.3 5.0 1.4 6.0 1.5

JavaScript 2.0X 1.0 3.0X 1.1 4.0 4.05 1.2 4.06 4.61 1.3 5.0 1.4 6.0 1.5 JavaScript Diego R. Frank, Leonardo Seibt FIT Faculdades de Informática de Taquara Fundação Educacional Encosta Inferior do Nordeste Av. Oscar Martins Rangel, 4500 Taquara RS Brasil difrank@terra.com.br,

Leia mais

Aplicações Desktop: Swing/SubMacroForms. Carlos Renato Alves Gouveia Novembro/2008 cgouveia@fes.br

Aplicações Desktop: Swing/SubMacroForms. Carlos Renato Alves Gouveia Novembro/2008 cgouveia@fes.br Aplicações Desktop: Swing/SubMacroForms Carlos Renato Alves Gouveia Novembro/2008 cgouveia@fes.br Carlos Renato Alves Gouveia Especialista em Engenharia de Web Sites pela UFMS; Professor Universitário

Leia mais

Dando um passeio no ASP.NET

Dando um passeio no ASP.NET Dando um passeio no ASP.NET Por Mauro Sant Anna (mas_mauro@hotmail.com). Mauro é um MSDN Regional Director, consultor e instrutor. O principal objetivo da arquitetura.net é permitir ao usuário o fácil

Leia mais

Testes de Software. Anne Caroline O. Rocha TesterCertified BSTQB NTI UFPB. Anne Caroline O. Rocha Tester Certified BSTQB NTI UFPB

Testes de Software. Anne Caroline O. Rocha TesterCertified BSTQB NTI UFPB. Anne Caroline O. Rocha Tester Certified BSTQB NTI UFPB Testes de Software 1 AULA 04 FERRAMENTAS DE AUTOMAÇÃO DE TESTES FUNCIONAIS Anne Caroline O. Rocha TesterCertified BSTQB NTI UFPB Conteúdo Programático Aula 04 Automação de testes funcionais Ferramentas

Leia mais

Delphi 7 Aula 01 Área do Triângulo

Delphi 7 Aula 01 Área do Triângulo Delphi 7 Aula 01 Área do Triângulo Prof. Gilbert Azevedo da Silva I. Objetivos Conhecer o Ambiente Integrado de Desenvolvimento (IDE) do Delphi 7, Desenvolver a primeira aplicação no Delphi 7, Aprender

Leia mais

Demoiselle Report Guide. Demoiselle Report. Marlon Carvalho. Rodrigo Hjort. Robson Ximenes

Demoiselle Report Guide. Demoiselle Report. Marlon Carvalho. <marlon.carvalho@gmail.com> Rodrigo Hjort. <rodrigo.hjort@gmail.com> Robson Ximenes Demoiselle Report Guide Demoiselle Report Marlon Carvalho Rodrigo Hjort Robson Ximenes Demoiselle Report... v 1. Configuração

Leia mais

PAV - PORTAL DO AGENTE DE VENDAS AGL Versão 2.0.6. Manual de Instalação e Demonstração AGL Sistemas Corporativos

PAV - PORTAL DO AGENTE DE VENDAS AGL Versão 2.0.6. Manual de Instalação e Demonstração AGL Sistemas Corporativos PAV - PORTAL DO AGENTE DE VENDAS AGL Versão 2.0.6 Manual de Instalação e Demonstração AGL Sistemas Corporativos Add-on responsável pela integração do SAP Business One com o setor comercial através da internet.

Leia mais

Mapas e Localização. Programação de Dispositivos Móveis. Mauro Lopes Carvalho Silva

Mapas e Localização. Programação de Dispositivos Móveis. Mauro Lopes Carvalho Silva Programação de Dispositivos Móveis Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do Maranhão Objetivos

Leia mais

Aula 01: Linguagens de Programação e Introdução ao Visual C# Express

Aula 01: Linguagens de Programação e Introdução ao Visual C# Express Aula 01: Linguagens de Programação e Introdução ao Visual C# Express EMENTA: Introdução ao Visual C#. Fundamentos da Linguagem. Estruturas de decisão e repetição. Modularização de Programas: Funções. Arrays

Leia mais

Este livro é protegido pela Lei do direito autoral. Todos os direitos reservados. Nenhuma parte desta publicação pode ser reproduzida, transmitida,

Este livro é protegido pela Lei do direito autoral. Todos os direitos reservados. Nenhuma parte desta publicação pode ser reproduzida, transmitida, Este livro é protegido pela Lei do direito autoral. Todos os direitos reservados. Nenhuma parte desta publicação pode ser reproduzida, transmitida, modificada, distribuída, por qualquer meio, seja eletrônico,

Leia mais

Arquivos de Textos no C - Básico

Arquivos de Textos no C - Básico OpenStax-CNX module: m47676 1 Arquivos de Textos no C - Básico Joao Carlos Ferreira dos Santos This work is produced by OpenStax-CNX and licensed under the Creative Commons Attribution License 3.0 TRABALHANDO

Leia mais

Programação Orientada a Objetos Prof. Rone Ilídio UFSJ/CAP

Programação Orientada a Objetos Prof. Rone Ilídio UFSJ/CAP Programação Orientada a Objetos Prof. Rone Ilídio UFSJ/CAP 1) Introdução Programação Orientada a Objetos é um paradigma de programação bastante antigo. Entretanto somente nos últimos anos foi aceito realmente

Leia mais

Vamos criar uma nova Página chamada Serviços. Clique em Adicionar Nova.

Vamos criar uma nova Página chamada Serviços. Clique em Adicionar Nova. 3.5 Páginas: Ao clicar em Páginas, são exibidas todas as páginas criadas para o Blog. No nosso exemplo já existirá uma página com o Título Página de Exemplo, criada quando o WorPress foi instalado. Ao

Leia mais

Outlook XML Reader Versão 8.0.0. Manual de Instalação e Demonstração UNE Tecnologia

Outlook XML Reader Versão 8.0.0. Manual de Instalação e Demonstração UNE Tecnologia Outlook XML Reader Versão 8.0.0 Manual de Instalação e Demonstração UNE Tecnologia Add-in para o Outlook 2003, 2007 e 2010 responsável pela validação e armazenamento de notas fiscais eletrônicas. Atenção,

Leia mais

Casa do Código Livros para o programador Rua Vergueiro, 3185-8º andar 04101-300 Vila Mariana São Paulo SP Brasil

Casa do Código Livros para o programador Rua Vergueiro, 3185-8º andar 04101-300 Vila Mariana São Paulo SP Brasil Casa do Código Todos os direitos reservados e protegidos pela Lei nº9.610, de 10/02/1998. Nenhuma parte deste livro poderá ser reproduzida, nem transmitida, sem autorização prévia por escrito da editora,

Leia mais

FERRAMENTAS NECESSÁRIAS PARA O DESENVOLVIMENTO EM C#

FERRAMENTAS NECESSÁRIAS PARA O DESENVOLVIMENTO EM C# FERRAMENTAS NECESSÁRIAS PARA O DESENVOLVIMENTO EM C# Camila Sanches Navarro 1,2, Willian Magalhães 2 ¹Universidade paranaense (Unipar) Paranavaí PR Brasil sanchesnavarro@gmail.com wmagalhaes@unipar.br

Leia mais

Programação para Dispositivos Móveis Aula 1. Prof. William Yamamoto

Programação para Dispositivos Móveis Aula 1. Prof. William Yamamoto Programação para Dispositivos Móveis Aula 1 Prof. William Yamamoto Visual Studio É uma ferramenta de desenvolvimento completa que atende praticamente a todas as plataformas de desenvolvimento, como: Web

Leia mais

Veja abaixo um exemplo de como os dados são mostrados quando usamos o

Veja abaixo um exemplo de como os dados são mostrados quando usamos o Objeto DataGridView O controle DataGridView é um dos objetos utilizados para exibir dados de tabelas de um banco de dados. Ele está disponível na guia de objetos Data na janela de objetos do vb.net. Será

Leia mais

Comparando Java e C#

Comparando Java e C# Por: Lincon Alexandre Marques Jonathan T. Dos Santos Ricardo Fumio Tanimoto Abril, 2009 Comparando Java e C# Introdução Escolhemos como tema deste artigo um comparativo entre as linguagens Java e C#, duas

Leia mais

TUTORIAL DE AMBIENTAÇÃO AO SGUS

TUTORIAL DE AMBIENTAÇÃO AO SGUS TUTORIAL DE TUTORIAL DE Sumário APRESENTAÇÃO 6 OBJETIVOS 8 CAPÍTULO 1 CONHECENDO OS MENUS DE NAVEGAÇÃO 10 CAPÍTULO 2 O SGUS NA PRÁTICA DOS GESTORES 22 CONCLUSÃO 28 REFERÊNCIAS 30 TUTORIAL DE Apresentação

Leia mais

Dominando Action Script 3

Dominando Action Script 3 Dominando Action Script 3 Segunda Edição (2014) Daniel Schmitz Esse livro está à venda em http://leanpub.com/dominandoactionscript3 Essa versão foi publicada em 2014-05-02 This is a Leanpub book. Leanpub

Leia mais

Vamos criar uma nova Página chamada Serviços. Clique em Adicionar Nova.

Vamos criar uma nova Página chamada Serviços. Clique em Adicionar Nova. 3.5 Páginas: Ao clicar em Páginas, são exibidas todas as páginas criadas para o Blog. No nosso exemplo já existirá uma página com o Título Página de Exemplo, criada quando o WorPress foi instalado. Ao

Leia mais

FAT32 ou NTFS, qual o melhor?

FAT32 ou NTFS, qual o melhor? FAT32 ou NTFS, qual o melhor? Entenda quais as principais diferenças entre eles e qual a melhor escolha O que é um sistema de arquivos? O conceito mais importante sobre este assunto, sem sombra de dúvidas,

Leia mais

Manual do Usuário. Sistema Financeiro e Caixa

Manual do Usuário. Sistema Financeiro e Caixa Manual do Usuário Sistema Financeiro e Caixa - Lançamento de receitas, despesas, gastos, depósitos. - Contas a pagar e receber. - Emissão de cheque e Autorização de pagamentos/recibos. - Controla um ou

Leia mais

Preparando o Ambiente e Instalando o System Center Configuration Manager 2012 R2

Preparando o Ambiente e Instalando o System Center Configuration Manager 2012 R2 Preparando o Ambiente e Instalando o System Center Configuration Manager 2012 R2 Artigo escrito por Walter Teixeira wteixeira.wordpress.com Sumário Cenário Proposto... 3 Preparação do Servidor SQL Server

Leia mais

Mini Curso DESCOMPLICANDO C# Professor Hélio

Mini Curso DESCOMPLICANDO C# Professor Hélio Mini Curso DESCOMPLICANDO C# Professor Hélio Requisitos Para o Curso Não é necessário conhecimentos prévios em programação Matemática Básica Nível básico de operador Bom senso Objetivos do Curso Esse curso

Leia mais

Barra de ferramentas padrão. Barra de formatação. Barra de desenho Painel de Tarefas

Barra de ferramentas padrão. Barra de formatação. Barra de desenho Painel de Tarefas Microsoft Power Point 2003 No Microsoft PowerPoint 2003, você cria sua apresentação usando apenas um arquivo, ele contém tudo o que você precisa uma estrutura para sua apresentação, os slides, o material

Leia mais

V O C Ê N O C O N T R O L E.

V O C Ê N O C O N T R O L E. VOCÊ NO CONTROLE. VOCÊ NO CONTROLE. O que é o Frota Fácil? A Iveco sempre coloca o desejo de seus clientes à frente quando oferece ao mercado novas soluções em transportes. Pensando nisso, foi desenvolvido

Leia mais

Afinal o que é HTML?

Afinal o que é HTML? Aluno : Jakson Nunes Tavares Gestão e tecnologia da informacão Afinal o que é HTML? HTML é a sigla de HyperText Markup Language, expressão inglesa que significa "Linguagem de Marcação de Hipertexto". Consiste

Leia mais

2QRYR&ODULRQ1(73DUWH,

2QRYR&ODULRQ1(73DUWH, 2QRYR&ODULRQ1(73DUWH, 3RU-XOLR&pVDU3HGURVR Gosto de escrever sobre FRLVDV QRYDV, sobre QRYDV WHFQRORJLDV, enfrentar desafios e pesquisas sobre o assunto. Afinal, de velho, basta eu! Como assinante da Clarion

Leia mais

Extensão ez Open Document Format (ezodf) Documentação. versão 2.0. experts em Gestão de Conteúdo

Extensão ez Open Document Format (ezodf) Documentação. versão 2.0. experts em Gestão de Conteúdo Extensão ez Open Document Format (ezodf) Documentação versão 2.0 Conteúdo 1. Introdução... 3 2 1.1 Público alvo... 3 1.2 Convenções... 3 1.3 Mais recursos... 3 1.4 Entrando em contato com a ez... 4 1.5

Leia mais

INTRODUÇÃO AO DESENVOLVIMENTO DE JOGOS COM LIBGDX. Vinícius Barreto de Sousa Neto

INTRODUÇÃO AO DESENVOLVIMENTO DE JOGOS COM LIBGDX. Vinícius Barreto de Sousa Neto INTRODUÇÃO AO DESENVOLVIMENTO DE JOGOS COM LIBGDX Vinícius Barreto de Sousa Neto Libgdx é um framework multi plataforma de visualização e desenvolvimento de jogos. Atualmente ele suporta Windows, Linux,

Leia mais

Sumário 1. SOBRE O NFGoiana DESKTOP... 3 1.1. Apresentação... 3 1.2. Informações do sistema... 3 1.3. Acessando o NFGoiana Desktop... 3 1.4.

Sumário 1. SOBRE O NFGoiana DESKTOP... 3 1.1. Apresentação... 3 1.2. Informações do sistema... 3 1.3. Acessando o NFGoiana Desktop... 3 1.4. 1 Sumário 1. SOBRE O NFGoiana DESKTOP... 3 1.1. Apresentação... 3 1.2. Informações do sistema... 3 1.3. Acessando o NFGoiana Desktop... 3 1.4. Interface do sistema... 4 1.4.1. Janela Principal... 4 1.5.

Leia mais

INTRODUÇÃO A PROGRAMAÇÃO ESTRUTURADA DE COMPUTADORES EM C

INTRODUÇÃO A PROGRAMAÇÃO ESTRUTURADA DE COMPUTADORES EM C INTRODUÇÃO A PROGRAMAÇÃO ESTRUTURADA DE COMPUTADORES EM C Prof. Msc. Helio Esperidião PROGRAMAS Um computador nada mais faz do que executar programas. Um programa é simplesmente uma seqüência de instruções

Leia mais

AULA APLICAÇÕES PARA WEB SESSÕES E LOGIN E SENHA

AULA APLICAÇÕES PARA WEB SESSÕES E LOGIN E SENHA Sumário Construção de sistema Administrativo... 1 Sistema de Login... 2 SQL INJECTION... 2 Técnicas para Evitar Ataques... 2 Formulário de Login e Senha fará parte do DEFAULT... 5 LOGAR... 5 boas... 6

Leia mais

Introdução ao Veridis Biometrics SDK VERIDIS

Introdução ao Veridis Biometrics SDK VERIDIS Introdução ao Veridis Biometrics SDK Versão do SDK: 5.0 2013 Veridis Biometrics VERIDIS BIOMETRICS Versão do Documento Versão Data Modificações 1 2 3 4 5 23/mar/2011 17/mai/2011 29/jul/2011 3/out/2011

Leia mais

Softwares de Sistemas e de Aplicação

Softwares de Sistemas e de Aplicação Fundamentos dos Sistemas de Informação Softwares de Sistemas e de Aplicação Profª. Esp. Milena Resende - milenaresende@fimes.edu.br Visão Geral de Software O que é um software? Qual a função do software?

Leia mais

Professor: Ronilson Morais Lobo. Salvador / 2015

Professor: Ronilson Morais Lobo. Salvador / 2015 Professor: Ronilson Morais Lobo Salvador / 2015 Introdução Motivação: Criar uma metodologia, Protótipar cenários reais, Proporcionar jogos divertidos, intuitivos e colaborativos. Tecnologia, Conceitos

Leia mais

MANUAL DO GERENCIADOR ESCOLAR WEB

MANUAL DO GERENCIADOR ESCOLAR WEB CNS LEARNING MANUAL DO GERENCIADOR ESCOLAR WEB Versão Online 13 Índice ÍNDICE... 1 VISÃO GERAL... 2 CONCEITO E APRESENTAÇÃO VISUAL... 2 PRINCIPAIS MÓDULOS... 3 ESTRUTURAÇÃO... 3 CURSOS... 4 TURMAS... 4

Leia mais

Guia de Consulta Rápida. PHP com XML. Juliano Niederauer. Terceira Edição. Novatec

Guia de Consulta Rápida. PHP com XML. Juliano Niederauer. Terceira Edição. Novatec Guia de Consulta Rápida PHP com XML Juliano Niederauer Terceira Edição Novatec Copyright 2002 da Novatec Editora Ltda. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida

Leia mais

ArpPrintServer. Sistema de Gerenciamento de Impressão By Netsource www.netsource.com.br Rev: 02

ArpPrintServer. Sistema de Gerenciamento de Impressão By Netsource www.netsource.com.br Rev: 02 ArpPrintServer Sistema de Gerenciamento de Impressão By Netsource www.netsource.com.br Rev: 02 1 Sumário INTRODUÇÃO... 3 CARACTERÍSTICAS PRINCIPAIS DO SISTEMA... 3 REQUISITOS DE SISTEMA... 4 INSTALAÇÃO

Leia mais

Asset Inventory Service (AIS)

Asset Inventory Service (AIS) Asset Inventory Service (AIS) Última revisão feita em 02 de Setembro de 2008. Objetivo Neste artigo veremos detalhes sobre o Asset Inventory Service (AIS), um serviço disponível através do System Center

Leia mais

Instalação, configuração e manual

Instalação, configuração e manual Cardápio Moura Instalação, configuração e manual Conteúdo Instalação... 4 Requisitos mínimos... 4 Windows 8... 5 Instalação do IIS no Windows 8... 5 Configuração do IIS no WINDOWS 8... 15 Windows 7...

Leia mais

Bem-vindo à apresentação do SAP Business One.

Bem-vindo à apresentação do SAP Business One. Bem-vindo à apresentação do SAP Business One. Neste tópico, responderemos à pergunta: O que é o Business One? Definiremos o SAP Business One e discutiremos as opções e as plataformas disponíveis para executar

Leia mais

CRIANDO BANCOS DE DADOS NO SQL SERVER 2008 R2 COM O SQL SERVER MANAGEMENT STUDIO

CRIANDO BANCOS DE DADOS NO SQL SERVER 2008 R2 COM O SQL SERVER MANAGEMENT STUDIO CRIANDO BANCOS DE DADOS NO SQL SERVER 2008 R2 COM O SQL SERVER MANAGEMENT STUDIO Antes de criarmos um novo Banco de Dados quero fazer um pequeno parênteses sobre segurança. Você deve ter notado que sempre

Leia mais

M a n u a l d o R e c u r s o Q m o n i t o r

M a n u a l d o R e c u r s o Q m o n i t o r M a n u a l d o R e c u r s o Q m o n i t o r i t i l advanced Todos os direitos reservados à Constat. Uso autorizado mediante licenciamento Qualitor Porto Alegre RS Av. Ceará, 1652 São João 90240-512

Leia mais

[MANUAL DE INTEGRAÇÃO PARA SITES DE MEMBROS]

[MANUAL DE INTEGRAÇÃO PARA SITES DE MEMBROS] 2011 [MANUAL DE INTEGRAÇÃO PARA SITES DE MEMBROS] Destinado a usuários que desejam vender conteúdo premium, disponível em sites de membros, através da plataforma Hotmart. Versão do documento: 1.0, 11/04/2011.

Leia mais

O melhor do PHP. Por que PHP? CAPÍTULO 1. Uma Pequena História do PHP

O melhor do PHP. Por que PHP? CAPÍTULO 1. Uma Pequena História do PHP CAPÍTULO 1 O melhor do PHP Este livro levou bastante tempo para ser feito. Venho usando agora o PHP por muitos anos e o meu amor por ele aumenta cada vez mais por sua abordagem simplista, sua flexibilidade

Leia mais

Cadastro de Orçamento Utilizando Tablet Android

Cadastro de Orçamento Utilizando Tablet Android Cadastro de Orçamento Utilizando Tablet Android Instalação, configuração e manual 1 Conteúdo Instalação... 4 Requisitos mínimos... 4 Windows 8... 5 Instalação do IIS no Windows 8... 5 Configuração do IIS

Leia mais

Manual. http://www.cobrebem.com Manual Técnico Solução CobreBemX Versão 1.0.13.10.18 1

Manual. http://www.cobrebem.com Manual Técnico Solução CobreBemX Versão 1.0.13.10.18 1 Manual http://www.cobrebem.com Manual Técnico Solução CobreBemX Versão 1.0.13.10.18 1 Prezado Cliente, O CobreBemX é um componente COM ''não visual'' distribuído sob a forma de DLL, possuindo as seguintes

Leia mais

Lógica de Programação

Lógica de Programação Lógica de Programação Unidade 4 Ambiente de desenvolvimento Java QI ESCOLAS E FACULDADES Curso Técnico em Informática SUMÁRIO A LINGUAGEM JAVA... 3 JVM, JRE, JDK... 3 BYTECODE... 3 PREPARANDO O AMBIENTE

Leia mais

Introdução a Banco de Dados

Introdução a Banco de Dados Introdução a Banco de Dados Ricardo Henrique Tassi - Departamento de Replicação Índice 1- Introdução... 03 2- Quais são os bancos de dados mais conhecidos hoje em dia...04 3- Quais são os tipos de banco...05

Leia mais

Memória Flash. PdP. Autor: Tiago Lone Nível: Básico Criação: 11/12/2005 Última versão: 18/12/2006. Pesquisa e Desenvolvimento de Produtos

Memória Flash. PdP. Autor: Tiago Lone Nível: Básico Criação: 11/12/2005 Última versão: 18/12/2006. Pesquisa e Desenvolvimento de Produtos TUTORIAL Memória Flash Autor: Tiago Lone Nível: Básico Criação: 11/12/2005 Última versão: 18/12/2006 PdP Pesquisa e Desenvolvimento de Produtos http://www.maxwellbohr.com.br contato@maxwellbohr.com.br

Leia mais

ENG1000 Introdução à Engenharia

ENG1000 Introdução à Engenharia ENG1000 Introdução à Engenharia Aula 04 Introdução a Linguagem Lua Edirlei Soares de Lima Linguagem Lua Lua é uma linguagem de programação projetada para dar suporte à programação

Leia mais

UMA ABORDAGEM COMPARATIVA ENTRE AS LINGUAGENS DE PROGRAMAÇÃO JAVA E C#

UMA ABORDAGEM COMPARATIVA ENTRE AS LINGUAGENS DE PROGRAMAÇÃO JAVA E C# UMA ABORDAGEM COMPARATIVA ENTRE AS LINGUAGENS DE PROGRAMAÇÃO JAVA E C# Robson Bartelli¹, Wyllian Fressatti¹. ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil robson_lpbartelli@yahoo.com.br,wyllian@unipar.br

Leia mais

TUTORIAIS COMO ABRIR UM DNS. Prof. Celso Masotti

TUTORIAIS COMO ABRIR UM DNS. Prof. Celso Masotti TUTORIAIS COMO ABRIR UM DNS Prof. Celso Masotti São Paulo - 2009 A estrutura completa de um nome para navegação é: www.dns.dpn.cctld Não entendeu? E se eu colocar dessa forma? www.parafusos.com.br I -

Leia mais

Criação de uma base de dados em MS SQL Server e acesso com VB 6. Professor Sérgio Furgeri

Criação de uma base de dados em MS SQL Server e acesso com VB 6. Professor Sérgio Furgeri OBJETIVOS DA AULA: Criação de uma base de dados em MS SQL Server e acesso com VB 6. Fazer uma breve introdução a respeito do MS SQL Server 7.0; Criar uma pequena base de dados no MS SQL Server 7.0; Elaborar

Leia mais

Manual de Atualização Versão 3.6.4.

Manual de Atualização Versão 3.6.4. Manual de Atualização Versão 3.6.4. Sumário 1. AVISO... 1 2. INTRODUÇÃO... 2 3. PREPARAÇÃO PARA ATUALIZAÇÃO... 3 4. ATUALIZANDO GVCOLLEGE E BASE DE DADOS... 7 5. HABILITANDO NOVAS VERSÕES DO SISTEMA....

Leia mais

Novell. Novell Teaming 1.0. novdocx (pt-br) 6 April 2007 EXPLORAR O PORTLET BEM-VINDO DESCUBRA SEU CAMINHO USANDO O NOVELL TEAMING NAVIGATOR

Novell. Novell Teaming 1.0. novdocx (pt-br) 6 April 2007 EXPLORAR O PORTLET BEM-VINDO DESCUBRA SEU CAMINHO USANDO O NOVELL TEAMING NAVIGATOR Novell Teaming - Guia de início rápido Novell Teaming 1.0 Julho de 2007 INTRODUÇÃO RÁPIDA www.novell.com Novell Teaming O termo Novell Teaming neste documento se aplica a todas as versões do Novell Teaming,

Leia mais

CRIANDO CERTIFICADOS E LIBERANDO PERMISSÕES PARA APLICAÇÕES JAVA Por: Fergo

CRIANDO CERTIFICADOS E LIBERANDO PERMISSÕES PARA APLICAÇÕES JAVA Por: Fergo 1. Introdução CRIANDO CERTIFICADOS E LIBERANDO PERMISSÕES PARA APLICAÇÕES JAVA Por: Fergo Neste tutorial vou demonstrar como criar os próprios certificados para aplicações J2ME em celulares. Quem já instalou

Leia mais

O Primeiro Programa em Visual Studio.net

O Primeiro Programa em Visual Studio.net O Primeiro Programa em Visual Studio.net Já examinamos o primeiro programa escrito em C que servirá de ponto de partida para todos os demais exemplos e exercícios do curso. Agora, aprenderemos como utilizar

Leia mais

Manual de Utilização do Sistema GRServer Cam on-line (Gerenciamento de Câmeras On-line)

Manual de Utilização do Sistema GRServer Cam on-line (Gerenciamento de Câmeras On-line) Manual de Utilização do Sistema GRServer Cam on-line (Gerenciamento de Câmeras On-line) Criamos, desenvolvemos e aperfeiçoamos ferramentas que tragam a nossos parceiros e clientes grandes oportunidades

Leia mais

AULA 2. Aspectos Técnicos. Luciano Roberto Rocha. www.lrocha.com. MBA em Marketing Digital SOCIAL GAMES

AULA 2. Aspectos Técnicos. Luciano Roberto Rocha. www.lrocha.com. MBA em Marketing Digital SOCIAL GAMES MBA em Marketing Digital SOCIAL GAMES AULA 2 Luciano Roberto Rocha Aspectos Técnicos Ponta Grossa, 31 de agosto de 2013 ROTEIRO Papéis Processos Plataformas Ferramentas 2 PAPÉIS O desenvolvimento de um

Leia mais

Aula: BrOffice Impress primeira parte

Aula: BrOffice Impress primeira parte Aula: BrOffice Impress primeira parte Objetivos Conhecer as características de um software de apresentação; Saber criar uma apresentação rápida com os recursos de imagem e texto; Saber salvar a apresentação;

Leia mais

Ferramentas RAD e DELPHI

Ferramentas RAD e DELPHI Origem: http://my.opera.com/maicokrause/blog/ferramentas-rad-e-delphi Data: 17 Nov 2009 Autor: Maico Krause Ferramentas RAD e DELPHI Thursday, 16. July 2009, 14:27:40 Desenvolvimento, Delphi, Engenharia

Leia mais

Agregador de feeds RSS para dispositivos móveis

Agregador de feeds RSS para dispositivos móveis Agregador de feeds RSS para dispositivos móveis Disciplina: Computação Móvel Professor: Mauro Nacif Rocha Data: 27/02/2007 Hadriel Toledo Lima 50290 Juliana Pinheiro Campos 47683 Luis Felipe Hussin Bento

Leia mais

A Estação da Evolução

A Estação da Evolução Microsoft Excel 2010, o que é isto? Micorsoft Excel é um programa do tipo planilha eletrônica. As planilhas eletrônicas são utilizadas pelas empresas pra a construção e controle onde a função principal

Leia mais

19/05/2009. Módulo 1

19/05/2009. Módulo 1 ASP.NET Módulo 1 Objetivo Mostrar os conceitos fundamentais da plataforma Microsoft.Net e suas ferramentas; Apresentar os conceitos fundamentais de aplicações web e seus elementos; Demonstrar de forma

Leia mais

2 echo "PHP e outros.";

2 echo PHP e outros.; PHP (Hypertext Preprocessor) Antes de qualquer coisa, precisamos entender o que é o PHP: O PHP(Hypertext Preprocessor) é uma linguagem interpretada gratuita, usada originalmente apenas para o desenvolvimento

Leia mais

CAPÍTULO 35 Como utilizar os componentes ColdFusion

CAPÍTULO 35 Como utilizar os componentes ColdFusion CAPÍTULO 35 Como utilizar os componentes ColdFusion Os componentes ColdFusion (CFC) permitem ao usuário encapsular lógicas de aplicação e de negócios (business logic) em unidades auto-controladas reutilizáveis.

Leia mais

Portal Contador Parceiro

Portal Contador Parceiro Portal Contador Parceiro Manual do Usuário Produzido por: Informática Educativa 1. Portal Contador Parceiro... 03 2. Acesso ao Portal... 04 3. Profissionais...11 4. Restrito...16 4.1 Perfil... 18 4.2 Artigos...

Leia mais

APOSTILA DE LINGUAGEM DE PROGRAMAÇÃO IV

APOSTILA DE LINGUAGEM DE PROGRAMAÇÃO IV APOSTILA DE LINGUAGEM DE PROGRAMAÇÃO IV CIÊNCIA DA COMPUTAÇÃO PROF. ERWIN ALEXANDER UHLMANN Universidade Guarulhos Página 1 Agradecimentos Agradeço a todos os alunos que com suas dúvidas me ajudaram a

Leia mais

Infracontrol versão 1.0

Infracontrol versão 1.0 Infracontrol versão 1.0 ¹Rafael Victória Chevarria ¹Tecnologia em Redes de Computadores - Faculdade de Tecnologia SENAC (Serviço Nacional de Aprendizagem Comercial) Rua Gonçalves Chaves 602-A Centro 96015-560

Leia mais

JSP - ORIENTADO A OBJETOS

JSP - ORIENTADO A OBJETOS JSP Orientação a Objetos... 2 CLASSE:... 2 MÉTODOS:... 2 Método de Retorno... 2 Método de Execução... 2 Tipos de Dados... 3 Boolean... 3 Float... 3 Integer... 4 String... 4 Array... 4 Primeira:... 4 Segunda:...

Leia mais

Capítulo 2 Introdução à ferramenta Flash

Capítulo 2 Introdução à ferramenta Flash Capítulo 2 Introdução à ferramenta Flash Índice 1. O uso da ferramenta Flash no projeto RIVED.... 1 2. História do Flash... 4 1. O uso da ferramenta Flash no projeto RIVED. É importante, antes de iniciarmos

Leia mais

Adobe Flex. Cainã Fuck dos Santos Thiago Vieira Puluceno Jonathan Kuntz Fornari Gustavo Nascimento Costa

Adobe Flex. Cainã Fuck dos Santos Thiago Vieira Puluceno Jonathan Kuntz Fornari Gustavo Nascimento Costa Adobe Flex Cainã Fuck dos Santos Thiago Vieira Puluceno Jonathan Kuntz Fornari Gustavo Nascimento Costa O que é Flex? Estrutura de Código aberto para a criação de aplicativos Web Utiliza o runtime do Adobe

Leia mais

COMO INSTALAR ZIM 8.50 WINDOWS

COMO INSTALAR ZIM 8.50 WINDOWS ZIM TECHNOLOGIES DO BRASIL COMO INSTALAR ZIM 8.50 WINDOWS Próx Antes de Iniciar O objetivo deste documento é apresentar os passos necessários para instalar a versão mais recente do Zim 8.50 para Windows.

Leia mais

Acessando um Banco de Dados

Acessando um Banco de Dados Acessando um Banco de Dados Introdução Agora que você já está craque em JSP e já instalou seu servidor, vamos direto para a parte prática! Neste tutorial vamos aprender a acessar um banco de dados. Para

Leia mais

Programação Orientada a Objetos em java. Polimorfismo

Programação Orientada a Objetos em java. Polimorfismo Programação Orientada a Objetos em java Polimorfismo Polimorfismo Uma característica muito importante em sistemas orientados a objetos Termo proveniente do grego, e significa muitas formas Em POO, significa

Leia mais

Desenvolvendo Websites com PHP

Desenvolvendo Websites com PHP Desenvolvendo Websites com PHP Aprenda a criar Websites dinâmicos e interativos com PHP e bancos de dados Juliano Niederauer 19 Capítulo 1 O que é o PHP? O PHP é uma das linguagens mais utilizadas na Web.

Leia mais