Delphi. Monkey - Utilizando mestre/detalhe e. formulário pesquisa - Parte II. Autor: Lucas de Oliveira. Delphi - Parte VII. Autor: Luciano Pimenta

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

Download "Delphi. Monkey - Utilizando mestre/detalhe e. formulário pesquisa - Parte II. Autor: Lucas de Oliveira. Delphi - Parte VII. Autor: Luciano Pimenta"

Transcrição

1 outubro 2012

2 outubro 2012

3 índice Editorial Delphi C# Android 04 Fire Monkey - Utilizando mestre/detalhe e 05 formulário pesquisa - Parte II Autor: Lucas de Oliveira Delphi Linguagem C# - Herança de Classes 11 Autor: Marcos César Silva Android - Download e Upload de arquivos via FTP 15 Autor: Thiago C. Montebugnoli Delphi - Parte VII Autor: Luciano Pimenta 23 Dicas Desafio The Club Legenda Iniciante Intermediário Avançado outubro

4 Bem-vindo Olá amigos do The Club, especialmente neste mês de Outubro, um mês festivo e de comemorações de muitas datas importantes como o dia das Crianças, dia de Nossa Senhora Aparecida e outras interessantes como o mês que se comemora o Halloween e o dia dos Professores, desejamos saudações para todas estas datas. Na edição deste mês, nosso colaborador Luciano Pimenta continua com a série de artigos relacionados ao Delphi e vem com a sétima parte desta importante série trazendo novidades e dicas para quem utiliza o Delphi XE 2. Já nosso consultor técnico Lucas de Oliveira continua escrevendo sobre artigos relacionados ao Fire Monkey utilizando Mestre/ Detalhe e formulário de Pesquisa, muito interessante para quem utiliza esta tecnologia. Marcos César Silva continua a caminhada com artigos relacionados à Linguagem C#, sendo que neste proporciona o uso de Herança de Classes, sendo um dos recursos mais importantes na Programação Orientada a Objetos. Eu continuo escrevendo sobre o Sistema Android, uma tecnologia que vem se difundindo muito rapidamente pelo mundo afora. Abordo como trabalhar com FTP utilizando bibliotecas específicas para esta tarefa. Aproveite também e desfrute de nossa clássica seção de Dicas Delphi. Desejo a todos uma boa leitura e que tirem o maior proveito de nossos artigos. Lembrando que nossa equipe está sempre aberta a críticas e sugestões. Um Forte abraço, Av. Profº Celso Ferreira da Silva, 190 Jd. Europa - Avaré - SP - CEP Informações e Suporte: (14) Internet Cadastro: Suporte: Informações: Skype Cadastro: theclub_cadastro Skype Suporte: theclub_linha1 theclub_linha2 theclub_linha3 Copyright The Club 2012 Diretor Técnico Marcos César Silva Diagramação Eduardo Massud Arte Vitor M. Rodrigues Revisão Cíntia Amaral Colunistas Marcos César Silva Thiago Cavalheiro Montebugnoli Lucas de Oliveira Luciano Pimenta Impressão e acabamento: GRIL - Gráfica e Editora Taquarituba-SP - Tel. (14) Thiago Montebugnoli - Editor Chefe Reprodução A utilização, reprodução, apropriação, armazenamento em banco de dados, sob qualquer forma ou meio, de textos, fotos e outras criações intelectuais em cada publicação da revista The Club Megazine são terminantemente proibidos sem autorização escrita dos titulares dos direitos autorais. Delphi é marca registrada da Embarcadero Technologies, as demais marcas citadas são registradas pelos seus respectivos proprietários. 04 outubro 2012

5 Android Fire Monkey Utilizando mestre/ detalhe e formulário pesquisa - Parte II Olá pessoal, como prometido, aqui está a continuação do artigo onde iremos criar um projeto Firemonkey HD Application - Delphi no Delphi XE2. Na primeira parte do artigo foi feito a criação do banco de dados utilizado para o exemplo, foi feito também a conimagemção e o relacionamento mestre detalhe dos componentes de acesso aos dados, foram criadas as telas de cadastro de clientes e produtos além é claro da tela de vendas. Neste artigo iremos criar uma tela de pesquisa padrão utilizando como referência um artigo da revista TheClub, que citado logo mais, mostraremos como será feita a chamada desta pesquisa tanto para uma simples consulta como para uma consulta onde referencia um código de identificação do registro pesquisado para a tela de onde partiu a pesquisa, e falta também a manipulação do detalhe da tela de vendas, os seus itens, além é claro dos cálculos dos totais de ambas as telas. Vamos então seguir com o exemplo. Ainda não fizemos nenhuma programação em nenhum dos formulários, e por se tratar de uma tela de vendas é evidente que exigirá alguns cálculos dos valores dos registros, porém, o que ainda está faltando para o nosso exemplo ficar bem funcional é criarmos uma tela de pesquisa padrão, para possibilitar buscas de registros em cada tela, por exemplo, na tela de venda ao clicar no botão de pesquisa de clientes, e localizar o cliente correto na tela de pesquisa, basta dar um ok para fechar a tela de pesquisa e o cliente já ficar vinculado à venda em questão. O artigo Criando um formulário de pesquisa padrão com o Delphi XE da revista The Club do mês de julho de 2012, aborda uma forma simples e rápida de se criar uma tela de pesquisa padrão para o nosso projeto. Porém neste artigo, o exemplo foi criado no Delphi XE, e para podermos utilizá-lo aqui neste exemplo FireMonkey teremos que fazer algumas adaptações. Lembrando que todos os artigos da revista The Club citados aqui como referência, estão disponíveis também na sessão de revista do site outubro

6 Criando uma tela de pesquisa no FireMonkey A tela de pesquisa será totalmente baseada no artigo citado acima, mas como foi dito será feito algumas adaptações para ajustá-lo a nossa situação. A ideia principal do formulário de pesquisa padrão é criar uma tela que realize uma pesquisa através de alguns parâmetros passados a ela. No artigo citado foram utilizadas as variáveis públicas CDS, TABELA, CAMPO_CHAVE, CAMPO_BUSCA e DESCRICAO, e as variáveis privadas SQL, WHERE_ISNULL e WHERE_PARAMETRO. As variáveis públicas são os parâmetros que o formulário de pesquisa recebe para executar a busca. A primeira adaptação é bem simples, no artigo do Delphi XE os parâmetros são passados durante o evento oncreate (quando cria em memória) e tratados durante o evento onshow (quando exibe o formulário), do formulário de pesquisa. No FireMonkey não temos a opção de trabalharmos com o evento onshow, a adaptação será escrever os códigos do evento onshow, do artigo de referência, para o evento onactivate deste exemplo, porém este evento pode ocorrer várias vezes enquanto o formulário estiver exibido na tela do usuário, por isso será adicionado mais uma variável na sessão private do frmpesquisa, chamada COUNT_ACTIVATE do tipo inteiro. Será apenas um contador de vezes que o formulário foi ativado, e os parâmetros apenas serão tratados na primeira ativação, ou seja, quando COUNT_ACTIVATE for igual a 1. As outras adaptações foram duas variáveis criadas neste mesmo formulário de pesquisa, uma variável ORER_BY do tipo string na sessão private, onde o próprio nome já indica a sua função, e outra variável na sessão pública do formulário chamada SQL_PADRAO também do tipo string, ela receberá uma consulta mais complexa que um SELECT * FROM TABELA, como é o caso da venda, ao invés de trazer o ID_CLIENTE da tabela de venda, esta consulta irá listar também o seu nome, pegando da tabela de clientes. A lista de componentes do frmpesquisa compõe-se de 1 Edit (Standard) edtpesquisa, 1 SpeedButton (Additional) splimparpesquisa, 1 StringGrid (Grids) sgpesquisa, 1 DataSource (DataAccess) dspesquisa, 1 BindScopeDB (LiveBindings) e um BindingsList (LiveBindings). A conimagemção da grid é a mesma das demais descritas anteriormente, basta ela estar ligada ao BindScopeDB através de um BindDBGridLink e o escopo estar ligado ao dspesquisa. Seguem na listagem 1 os códigos utilizados no formulário de pesquisa deste exemplo. Private //sessão de variáveis privadas Private declarations SQL, WHERE_ISNULL, WHERE_PARAMETRO, ORDER_BY : string; COUNT_ACTIVATE : integer; Public //sessão de variáveis públicas Public declarations CDS : TClientDataSet; SQL_PADRAO, TABELA, CAMPO_CHAVE, CAMPO_BUSCA, DESCRICAO : string; // evento onactivate do frmpesquisa procedure TfrmPesquisa. FormActivate(Sender: TObject); // Conta quantas vezes está sendo ativado o formulário COUNT_ACTIVATE := COUNT_ACTIVATE + 1; // Só executa o código caso seja a primeira ativação do form if (COUNT_ACTIVATE = 1) then SQL := Format( SELECT * FROM %s, [TABELA]); WHERE_ISNULL := Format( WHERE %s IS NULL, [CAMPO_CHAVE]); WHERE_PARAMETRO := Format( WHERE %s LIKE :P, [CAMPO_BUSCA]); ORDER_BY := Format( ORDER BY %s ASC, [CAMPO_BUSCA]); CDS.Close; if SQL_PADRAO <> then CDS.CommandText := SQL_PADRAO + + WHERE_ISNULL else CDS.CommandText := SQL + + WHERE_ISNULL; CDS.Open; dspesquisa.dataset := CDS; if DESCRICAO <> then Label1.Text := DESCRICAO else Label1.Text := Pesquisa de registros padrão ; edtpesquisa.setfocus; // Evento onkeydown do edtpesquisa procedure TfrmPesquisa. edtpesquisakeydown(sender: TObject; var Key: Word; var KeyChar: Char; Shift: TShiftState); if (Key in [vkup, vkdown]) and not(cds. IsEmpty) then sgpesquisa.setfocus; if (Key = vkreturn) and (edtpesquisa. Text <> ) then CDS.Close; if SQL_PADRAO <> then CDS.CommandText := SQL_PADRAO + + WHERE_PARAMETRO + + ORDER_BY else CDS.CommandText := SQL + + WHERE_PARAMETRO + + ORDER_BY; 06 outubro 2012

7 CDS.Params.ParamByName( P ).Value := % + AnsiUpperCase(edtPesquisa.Text) + % ; CDS.Open; if (CDS.RecordCount < 1) then ShowMessage( Nenhum registro encontrado para a busca + edtpesquisa. Text); // Evento onclick do botão de limpar a pesquisa procedure TfrmPesquisa. splimparpesquisaclick(sender: TObject); CDS.Close; if SQL_PADRAO <> then CDS.CommandText := SQL_PADRAO + + ORDER_BY else CDS.CommandText := SQL + + ORDER_ BY; CDS.Open; edtpesquisa.text := ; sgpesquisa.setfocus; // Evento onkeydown da StringGrid procedure TfrmPesquisa. sgpesquisadblclick(sender: TObject); if not (CDS.IsEmpty)then ModalResult := mrok; // Evento onclose do frmpesquisa procedure TfrmPesquisa.FormClose(Sender: TObject; var Action: TCloseAction); // cancela a consulta se não selecionar nenhum registro if ((CDS.RecordCount < 1) or (ModalResult <> mrok)) then ModalResult := mrcancel; Listagem 1 Codificação do formulário de pesquisa Além das alterações citadas anteriormente, foi adicionado no evento onclose um bloco de códigos que garantem que a consulta será cancelada caso não seja selecionado nenhum registro na grid sgpesquisa. Os demais procedimentos seguem a mesma lógica do artigo de referência, portanto não Imagem 1 Sugestão de layout para o formulário de pesquisa há necessidade de um detalhamento maior. Agora vamos codificar as chamadas do formulário de pesquisa pelos demais formulários. Veja na Imagem 1 o layout sugerido para o formulário de pesquisa. Chamando o formulário de pesquisa Agora vamos acrescentar o recurso de pesquisa de clientes na tela de vendas. A ideia é bem simples e possibilitará duas formas de pesquisa, uma ao clicar no botão... para abrir a tela de pesquisa e selecionar o cliente certo, e a outra forma é o usuário digitar o número do ID_CLIENTE no edtidcliente e ao sair do componente realiza via código uma pesquisa trazendo o cliente caso exista o código ou um aviso caso não exista. Mas vamos primeiro focar em chamar o formulário de pesquisa ao clicar no botão, segue na listagem 2 a codificação a ser feita no evento onclick do sbpesqcliente. procedure TfrmVendas. sbpesqclienteclick(sender: TObject); //Cria o formulário em memória frmpesquisa := TfrmPesquisa. Create(self); // Passa-se os parâmetros para o form de pesquisa frmpesquisa.cds := dm.cdsclientes; frmpesquisa.tabela := CLIENTES ; frmpesquisa.campo_chave := ID_CLIENTE ; frmpesquisa.campo_busca := NOME ; frmpesquisa.descricao := Pesquisa de clientes por nome ; // Exibe o formulário em ShowModal frmpesquisa.showmodal; // Se modalresult for OK atribui o id_ cliente da pesquisa para o id_cliente da venda outubro

8 if (frmpesquisa.modalresult = mrok) then if not (dm.cdsvendas.state = dsedit) then dm.cdsvendas.edit; dm.cdsvendasid_cliente.asinteger := dm.cdsclientesid_cliente.asinteger; dm.cdsvendascliente.asstring := dm.cdsclientesnome.asstring; end else // se modalresult diferente de ok exibe mensagem ShowMessage( Nenhum cliente foi selecionado ); edtidcliente.setfocus; dm.cdsclientes.close; Listagem 2 Codificando o botão de pesquisa de clientes A lógica deste código é a mesma utilizada no botão de pesquisa de produtos da tela de itens, ou seja, da mesma forma que fizer aqui, pode-se fazer no form de itens de venda bastando passar os parâmetros referentes à tabela de produtos. Na listagem 3 seguem as codificações do evento onexit do componente edtidcliente, que fará a consulta do cliente pelo código. Para usar o formulário de pesquisa padrão nas telas de cadastro de clientes e produtos também basta seguir esta mesma lógica, criando primeiramente o frmpesquisa em memória e em seguida passando os seus parâmetros, e por fim fazendo a sua chamada e livrando-o de memória. then // deixa o dataset vendas em edição if not (dm.cdsvendas.state = dsedit) then dm.cdsvendas.edit; dm.cdsvendasid_cliente.asinteger := dm.cdsclientesid_cliente.asinteger; dm.cdsvendascliente.asstring := dm.cdsclientesnome.asstring; end // se não retornar resultados, exibe mensagem else ShowMessage( Cliente não encontrado ); edtidcliente.text := ; Listagem 3 Codificando a consulta do edtidcliente Digo novamente que esta lógica pode ser usada na tela de itens para pesquisar o produto e listar o seu ID e sua descrição. Esta consulta é bem mais simples por que ela faz a busca diretamente pela chave primária da tabela, ou seja, no máximo retornará 1 registro.na listagem 4 segue o exemplo da pesquisa da tela de vendas, onde se faz o uso da variável pública do frmpesquisa SQL_PADRAO. Note que ao passar a SQL_PADRAO não foi preciso passar o parâmetro TABELA. procedure TfrmVendas. edtidclienteexit(sender: TObject); // se conter algum valor no Edit e este valor for diferente do valor atual do ID_ CLIENTE, realiza a consulta if (edtidcliente.text <> ) and (dm.cdsvendasid_cliente.asinteger <> StrToInt(edtIdCliente.Text))then dm.cdsclientes.close; dm.cdsclientes.commandtext := SELECT * FROM CLIENTES WHERE ID_CLIENTE = :P ; dm.cdsclientes.params. ParamByName( P ).Value := edtidcliente. Text; dm.cdsclientes.open; // se a consulta retornou algum resultado, altera o valor do ID_CLIENTE e do CLIENTE(campo virtual nome) if (dm.cdsclientes.recordcount > 0) procedure TfrmVendas. sbpesquisavendaclick(sender: TObject); frmpesquisa := TfrmPesquisa. Create(self); frmpesquisa.sql_padrao := SELECT C.NOME AS CLIENTE, V.* + FROM VENDAS V + LEFT OUTER JOIN CLIENTES C ON V.ID_ CLIENTE = C.ID_CLIENTE ; frmpesquisa.campo_chave := V.ID_VENDA ; frmpesquisa.campo_busca := C.NOME ; frmpesquisa.cds := dm.cdsvendas; frmpesquisa.descricao := Pesquisa de Vendas por clientes ; frmpesquisa.showmodal; FreeAndNil(frmPesquisa); Listagem 4 Chamada da pesquisa de vendas 08 outubro 2012

9 Mosso exemplo está quase no final, ainda falta codificar a manipulação dos itens de venda, porém antes vamos criar um procedimento que servirá para atualizar o total da venda, este que é exibido apenas como texto pelo componente lbltotalvenda. Veja na listagem 5 os códigos deste procedimento chamado de AtualizaTotal. procedure TfrmVendas.AtualizaTotal; var query : TSQLQuery; query := TSQLQuery.Create(nil); query.sqlconnection := DM.FIREMONKEY; with query do Close; CommandText := UPDATE VENDAS SET VALOR_TOTAL = + (SELECT SUM(TOTAL_ITEM) FROM ITENS_VENDA WHERE ID_VENDA = :ID_VENDA) + WHERE ID_VENDA = :ID_VENDA ; Params.ParamByName( ID_VENDA ).Value := dm.cdsvendasid_venda.asinteger; ExecSQL; DM.cdsVendas.Refresh; Listagem 5 Procedimento AtualizaTotal Note que foi criado um componente TSQLQuery em tempo de execução, e com ele foi realizado um UPDATE no campo VALOR_TOTAL da tabela de vendas passando como valor a soma da coluna TOTAL_ITEM da tabela de itens de venda. No final atualiza os dados do dataset vendas com o comando refresh. É um procedimento bem simples que supre necessidade deste exemplo, ele será chamado em cada alteração do dataset itens de venda. Manipulando os registros dos itens de venda Antes de fazer a chamada do formulário de itens pela tela de vendas vamos primeiro conimagemr os eventos dos componentes da tela de itens para realizarem os cálculos dos valores. Lembrando que na tela de itens além dos componentes que fazem a ligação aos dados, contém 5 Edit (edtidproduto, edtprodutonome (Enabled = False), edtqtde, edtvalorunitario e edtvalortotal (Enabled = False)) e 3 SpeedButton (sbpesqproduto, sbcancelar e sbconfirmar). Na listagem 6 segue a codificação a ser implementada no evento onexit do edtqtde. procedure TfrmItensVenda. edtqtdeexit(sender: TObject); if (edtqtde.text <> ) then dm.cdsitensvendaqtde.asinteger := StrToInt(edtQtde.Text); dm.cdsitensvendavalor_item.asfloat := StrToFloat(edtValorUnitario.Text); dm.cdsitensvendatotal_item.asfloat := dm.cdsitensvendavalor_item.asfloat * dm.cdsitensvendaqtde.asinteger; Listagem 6 Codificação no evento onexit do edtqtde Este evento será o responsável pelo cálculo do valor total do item, e os demais componentes, edtidproduto e edtvalorunitario deverão fazer a chamada deste evento em seu próprio evento onexit, no final do código, para garantir que qualquer atualização de valor ou quantidade o total será recalculado. No evento onexit do edtidproduto já terá o código da pesquisa de produto pelo ID, e ao atribuir os dados da tabela de produtos para a tabela de itens deve se passar também o valor do preço de venda do produto para o campo valor unitário do item, sugerindo um preço ao usuário. Veja na listagem 7 como fazer a chamada do evento onexit do edtqtde nos outros componentes, e também uma verificação no botão sbconfirmar para garantir que o modalresult será ok apenas se os dados estiverem preenchidos corretamente e no evento onclose do frmitensvenda uma verificação para caso o usuário não tenha selecionado nenhum registro, o modalresult retorne mrcancel. procedure TfrmItensVenda. edtvalorunitarioexit(sender: TObject); // garante que o valor será atualizado dm.cdsitensvendavalor_item.asfloat := StrToFloat(edtValorUnitario.Text); edtqtdeexit(sender); procedure TfrmItensVenda. sbconfirmarclick(sender: TObject); // verifica se todos os campos foram preenchidos corretamente if ((edtidproduto.text <> ) and (edtqtde.text <> ) and (StrToInt(edtQtde.Text) > 0) and (edtvalorunitario.text <> ) and (StrToFloat(edtValorUnitario.Text) > 0)) then ModalResult := mrok else ShowMessage( Preencha corretamente os campos ); outubro

10 procedure TfrmItensVenda. FormClose(Sender: TObject; var Action: TCloseAction); // Atribui ao modalresult cancel caso não tenha sido selecionado nenhum registro da grid if ModalResult <> mrok then ModalResult := mrcancel; Listagem 7 Chamada do cálculo e verificação dos dados Depois de concluído os códigos da listagem 7 a tela de itens já está funcional, o que nos resta agora é a chamada desta tela pelo formulário de vendas, e para isso iremos utilizar os botões sbincluiritem, sbeditaritem e sbexcluiritem localizado na tela de venda. Na listagem 8 mostra esta última implementação do nosso exemplo. // Evento onclick do botão Incluir Item procedure TfrmVendas. sbincluirprodutoclick(sender: TObject); frmitensvenda := TfrmItensVenda. Create(self); // deixa o dataset item em modo e inserção dm.cdsitensvenda.insert; frmitensvenda.showmodal; // se modalresult ok salva e atualiza o total if (frmitensvenda.modalresult = mrok) then dm.cdsitensvenda.post; AtualizaTotal; end else dm.cdsitensvenda.cancel; FreeAndNil(frmItensVenda); // Evento onclick do botão Excluir Item procedure TfrmVendas. sbexcluirprodutoclick(sender: TObject); // se mensagem retorna sim deleta o item e atualiza o total if (MessageDlg( Deseja excluir este item?, TMsgDlgType.mtConfirmation, [TMsgDlgBtn.mbYes, TMsgDlgBtn.mbNo], 0) = mryes) then dm.cdsitensvenda.delete; AtualizaTotal; Listagem 8 Codificação dos botões incluir e excluir item da tela de vendas No botão de editar segue o mesmo código do botão de incluir, com a diferença de ao invés de deixar o dataset item em modo de inserção com o método Insert, será utilizado o método edit para deixa-lo em modo de edição. E este foi o último passo para o nosso exemplo, agora pode executá-lo e ver as funcionalidades do sistema de busca padrão, o método de busca para atribuir um registro a outra tabela e o sistema mestre/detalhe do formulário de vendas com a manipulação dos itens. Conclusão Neste segundo artigo foi demonstrado como criar um formulário de pesquisa padrão no FireMonkey, como utilizá-lo para pesquisas simples ou pesquisas onde é necessário referenciar o registro da pesquisa a uma outra tela do sistema, e também foi finalizado o formulário mestre/detalhe, o formulário de vendas, com todos os seus recursos de cálculos e de manipulação de itens. Falando no total do artigo, eu procurei mostrar uma forma de trazer as mais variadas funcionalidades que são utilizadas na já tradicional VCL para o FireMonkey, onde além de poder trabalhar com formulários mestre/detalhe e telas padrões de pesquisa, você pode deixar o layout de suas aplicações bem mais atraentes para o usuário final com tantos recursos presentes nesta nova plataforma de desenvolvimento do Delphi XE2. Não era minha intenção tornar este artigo tão extenso, mas com as funcionalidades adicionadas a ele, não foi possível simplificar muito. Não deixem de ler os artigos referenciados aqui, pois eles abordam com mais detalhamento seus respectivos assuntos. Espero que tenham gostado e que este artigo tenha sido útil a vocês leitores. Um abraço a todos e até a próxima. Sobre o autor Lucas Vieira de Oliveira Consultor Técnico The Club. 10 outubro 2012

11 Linguagem C# Herança de Classes Trataremos de um assunto muito utilizado no ambiente de Programação Orientado a Objetos, o uso de Herança de Classes. Este tipo de recurso é utilizado para descrever uma relação entre uma classe e outra permitindo reutilizar o código existente economizando tempo de programação. Devemos ter em mente um conceito importante no âmbito de herança de classes, todos os atributos e métodos também serão herdados, podendo também estender sua funcionalidade. A classe que cede os membros para a outra classe é chamada superclasse ou classe pai. Já a classe que herda os membros de outra classe é chamada de subclasse ou classe derivada. Para utilizarmos este recurso de herança de classes no C# é muito fácil, em seguida segue um modelo simples de como devemos utilizar este recurso. Ver Imagem 01 para maiores detalhes. Imagem 01: Herança entre Classes. SuperClasse public class Pai outubro

12 //Construtor //Destrutor da classe //Atributos/Propriedades //Métodos public override void ExecutarMétodo() //Código referente à classe Pai base.executarmétodo(); //Código referente à classe Filho Criando um Exemplo prático SubClasse Crie uma aplicação Windows Forms e adicione um botão no formulário. A tela deverá ficar idêntica a Imagem 02. public class Filho: Pai //Neste caso podemos programar atributos e métodos adicionais A SubClasse Filho herda todas as propriedades e métodos da SuperClasse Pai. Neste caso é utilizado : (dois pontos) para implementar a herança de classes. Uma nota importante que devemos ressaltar é que na linguagem C# não podemos implementar a múltipla herança de Classes, ou seja, podemos herdar apenas de uma classe. Operador Overrive Entenda-se Override como a reescrita de métodos herdados da classe da qual deriva, possuindo o mesmo nome e com os mesmos parâmetros. Todos os métodos que podem ser sobrescritos devem obrigatoriamente possuir o operador virtual. Podemos conferir a sintaxe em seguida. SuperClasse public class Pai public virtual void ExecutarMétodo() //Código referente à classe Pai SubClasse public class Filho: Pai public override void ExecutarMétodo() //Código referente à classe Filho Quando fazemos o override temos a escolha de reescrever o método por completo ou também podemos aproveitar rotinas da classe Pai. Para isto usaremos o operado base. Imagem 02: Formulário Padrão. Para criação de classes seguimos as dicas contidas no mês anterior, clicando com o botão direito e escolhendo Add/Add New Item.../Class. Defina a classe como Pessoa e clique em Adicionar. Esta será a nossa SuperClasse. Para fins didáticos defino alguns atributos e métodos e o uso do operador virtual no Método ExecutaMetodo, o qual será sobrescrito posteriormente na SubClasse. using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows.Forms; namespace WindowsFormsApplication1 public class Pessoa public Pessoa() ~Pessoa() private string nome; private string cpf; private string rg; 12 outubro 2012

13 public string Nome get return nome; set nome = value; public string Cpf get return cpf; set cpf = value; public string Rg get return rg; set rg = value; public void CadastrarPessoa() MessageBox.Show( Cadastrando Pessoa! ); public virtual void ExecutarMétodo() MessageBox.Show( Executando o método da Classe Pessoa! ); Para criar a subclasse utilize os mesmos passos descritos acima. A subclasse será denominada Funcionario. Herdaremos todas as funcionalidades da superclasse Pessoa, ou seja, os atributos Nome, CPF e RG e os métodos CadastrarPessoa() e ExecutarMetodo(). get return codigo; set codigo = value; public string Tipo get return tipo; set tipo = value; public void TarefasFuncionario() Tarefas! ); MessageBox.Show( Executando public override void ExecutarMétodo() base.executarmétodo(); MessageBox.Show( Executando o Método da Classe Funcionário! ); Foram adicionados alguns atributos como Nome e Código e um método TarefasFuncionario. Estamos sobrescrevendo o método ExecutarMétodo(), como foi explicado anteriormente. O operador base servirá pra reutilizar o método ExecutarMétodo() da classe Pessoa. Principal trecho do código abordado: public class Funcionario: Pessoa Para executar o exemplo utilize o código: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows.Forms; namespace WindowsFormsApplication1 public class Funcionario: Pessoa public Funcionario() ~Funcionario() private int codigo; private string tipo; public int Codigo private void button1_click(object sender, EventArgs e) Funcionario func = new Funcionario(); func.nome = Thiago Montebugnoli ; func.cpf = ; func.rg = ; func.codigo = 1000; func.tipo = Desenvolvedor ; func.cadastrarpessoa(); func.tarefasfuncionario(); func.executarmétodo(); No código criado anteriormente primeiramente instancio a classe Funcionario e logo em seguida preenchemos os atributos Nome, Cpf e Rg. Percebam que estes atributos pertencem a classe Pessoa, a qual herdamos. Já os atributos Codigo e Tipo foram implementados na classe Funcionario. O método CadastrarPessoa() é originário da classe Base. O método outubro

14 TarefasFuncionario() foi implementado na própria classe Funcionario. Utilizamos o Override para o método ExecutarMetodo(). Ver Imagem 03 e 04. Conclusão Neste artigo abordei os principais itens em se tratando de herança de Classes na linguagem C#. Na realidade, POO envolve várias teorias e recursos que se torna muito maçante para tratar em um único artigo. Espero que esta seqüência de pequenos artigos proporcione um aprendizado e aprofundamento no assunto um tão quanto fácil para os senhores. Neste procurei abrir um leque de aprendizado em relação à Herança de Classes. Falado um pouco sobre Override, a Sobrescrita, que está diretamente ligado a este assunto. Vou ficando por aqui, um forte abraço e até o mês que vem. Imagem 03: Exemplo em Run-Time. (Método da classe Pessoa e da classe Funcionário) Sobre o autor Marcos César Silva Consultor de Sistemas na consultoria de sistemas DataSmart e Consultor Técnico do The Club, Bacharel em Ciência da Computação, MBA em Gestão Empresarial, Certificações MCAD (Microsoft Certified Application Developer) e MCSD. NET (Microsoft Certified Solution Developer.NET) Imagem 04: Exemplo em Run-time. (Override de Método) 14 outubro 2012

15 ANDROID Download e Upload de arquivos via FTP Olá Amigos do The Club, neste artigo abordarei um assunto interessante para quem deseja realizar a troca de arquivos do Android para outro sistema utilizando o protocolo FTP. Para quem não conhece, qual seria o significado da sigla FTP? Baixando a Biblioteca Para conciliarmos esta integração do Android junto com tarefas de transferência de arquivos via FTP deveremos baixar uma biblioteca do Apache no link a seguir. Ver Imagem 01. FTP significa File Transfer Protocol que traduzindo para o português seria: Protocolo de Transferência de Arquivos, é uma forma bastante rápida e versátil de transferir arquivos, sendo uma das mais usadas na internet. Nada mais é do que um sistema de transferência de arquivos cliente/servidor. Isto quer dizer, que utilizando este protocolo você poderá enviar e receber arquivos do seu computador (cliente) para o host (servidor) onde fica hospedado o seu site, blog, entre outros. O Sistema Android, junto com outras bibliotecas nos fornece todo o aparato necessário para trabalharmos com este tipo de transferência. Imagem 01: Endereço do Site. outubro

16 Utilizaremos a versão 3.1 que até a data de hoje é a mais estável e atual. O nome do arquivo baixado deverá ser semelhante a commons-net-3.1-bin. zip. Descompacte-o em uma pasta e observe três arquivos importantes que será importado mais adiante: - commons-net-3.1.jar - commons-net-3.1-sources.jar - commons-net-examples-3.1.jar Importando a Biblioteca Para isto abra seu Eclipse e clique em File/New/Android Project e crie um projeto em Android, recomendo a criação na versão 2.2 ou 2.3 utilizando o nome que desejar. No meu caso criei como AndroidFTP. Clique com o botão direito sobre o mesmo e escolha Propriedades, Ver Imagem 02. Imagem 03: Adicionando as bibliotecas necessárias. Imagem 04: Biblioteca importada com sucesso. Para isto clique com o botão direito e escolha Add/New/Class e defina o nome como classe_ftp. Importe os seguintes pacotes: Imagem 02: Propriedades do Projeto. Navegue até o item Java Build Path e na aba Libraries adicione os arquivos.jar citados anteriormente. Recomendo criar uma pasta no projeto para uma melhor organização, no meu caso foi criada como bibliotecas. Ver Imagem 03. Na estrutura do projeto teremos uma Referenced Libraries, que nada mais é do que as bibliotecas adicionadas anteriormente. Ver Imagem 04. Desenvolvendo um exemplo prático Dividiremos o exemplo em duas partes, na primeira criaremos uma classe com os métodos responsáveis por fazer a integração com o FTP e a segunda uma Atividade para utilizar estes métodos. Criando a Classe FTP import java.io.fileinputstream; import java.io.fileoutputstream; import org.apache.commons.net.ftp.ftp; import org.apache.commons.net.ftp. FTPClient; import org.apache.commons.net.ftp.ftpfile; import org.apache.commons.net.ftp. FTPReply; import android.os.environment; import android.util.log; Defina duas variáveis globais: FTPClient mftp; String TAG = classeftp ; Segue em seguida a classe completa e com os métodos devidamente comentados para melhores detalhes. 16 outubro 2012

17 public class classe_ftp FTPClient mftp; private String TAG = classeftp ; public FTPFile[] Dir(String Diretorio) try FTPFile[] ftpfiles = mftp. listfiles(diretorio); return ftpfiles; catch(exception e) Log.e(TAG, Erro: não foi possível listar os arquivos e pastas do diretório + Diretorio +. + e.getmessage()); return null; O método Dir é responsável por listar os arquivos e diretórios de um determinado caminho. Tem como parâmetro de entrada uma String Diretorio, onde inserimos o diretório para o qual irá ser listado dos arquivos e como saída uma variável do tipo FTPFile[] que nada mais é que uma variável idêntica ao tipo File[], responsável por armazenar o nome dos arquivos/diretórios. public boolean MudarDiretorio(String Diretorio) try mftp.changeworkingdirectory(diret orio); catch(exception e) Log.e(TAG, Erro: não foi possível mudar o diretório para + Diretorio); return false; Este método é utilizado quando desejamos utilizar o mesmo diretório corrente. O método changeworkingdirectory() que realize esta tarefa. public boolean Desconectar() try mftp.disconnect(); mftp = null; return true; catch (Exception e) Log.e(TAG, Erro: ao desconectar. + e.getmessage()); return false; O método Desconectar(), como o próprio nome diz, faz o trabalho de desconectar ou encerrar a conexão do servidor FTP usando o método disconnect(). public boolean Conectar(String Host, String Usuario, String Senha, int Porta) try mftp = new FTPClient(); mftp.connect(host, Porta); if (FTPReply. ispositivecompletion(mftp.getreplycode))) boolean status = mftp. login(usuario, Senha); TYPE); mftp.setfiletype(ftp.binary_file_ mftp.enterlocalpassivemode(); return status; catch(exception e) Log.e(TAG, Erro: não foi possível conectar + Host); return false; Já o método Conectar() inicia uma sessão com o servidor FTP, possuindo como parâmetro de entrada o servidor FTP, o usuário, a senha e a porta utilizada. Esta função nos retorna uma variável do tipo booleana para nos certificarmos que a conexão foi efetuada com sucesso outubro

18 public boolean Download(String DiretorioOrigem, String ArqOrigem, String ArqDestino) try em); boolean status = false; MudarDiretorio(DiretorioOrig FileOutputStream desfilestream = new FileO utputstream(arqdestino);; mftp.setfiletype(ftp.binary_file_type); mftp.enterlocalactivemode() mftp.enterlocalpassivemode(); status = mftp.retrievefile(arqorigem, desfilestream); desfilestream.close(); Desconectar(); return status; catch (Exception e) Log.e(TAG, Erro: Falha ao efetuar download. + e.getmessage()); return status; setfiletransfermode(ftpclient.stream_ TRANSFER_MODE); mftp.setfiletype(ftpclient. STREAM_TRANSFER_MODE); mftp.storefile(nomearquivo, arqenviar); Desconectar(); return status; catch (Exception e) Log.e(TAG, Erro: Falha ao efetuar Upload. + e.getmessage()); return status; O método Upload faz o inverso, ou seja, estamos salvando os dados do Android para o Servidor FTP, tendo como parâmetro de entrada o diretório e o nome do arquivo e de saída uma variável do tipo booleana. Foi criado uma variável do tipo FileInputStream para armazenar o arquivo a enviar e logo em seguida usamos o setfiletype e SetFileTransferMode para indicar o tipo de transferência de arquivos, que no caso usaremos como Stream. Finalmente transferimos o arquivo usando o método storefile seguindo o Desconectar. Todos os métodos implementados anteriormente foi utilizado o bloco de comandos Try..Catch e Log.e para nos dar mais detalhes caso exista alguma falha no decorrer de sua execução. Montando o Lay-Out O método Download recebe os seguintes parâmetros: O diretório de origem, o arquivo de origem e o de destino. É criada uma variável do tipo Outputstream para o arquivo ser passado como parâmetro, logo em seguida definimos o tipo de arquivo como BINARY_FILE_TYPE. O método mais importante é o RetrieveFile sendo responsável por baixar o arquivo. Após estas etapas executamos o método Desconectar(). Temos como retorno um booleano que indica se ocorreu tudo corretamente. public boolean Upload(String diretorio, String nomearquivo) boolean status = false; try FileInputStream arqenviar = new FileInputStream(Environment. getexternalstoragedirectory() + diretorio); mftp. Imagem 05: Sugestão de Lay-Out. 18 outubro 2012

19 O exemplo utilizará os seguintes componentes: - 2 Spinners - 4 TextViews - 2 Buttons A Imagem 05 nos dá uma idéia do Lay-out. O XML correspondente ficou da seguinte maneira: <?xml version= 1.0 encoding= utf-8?> <LinearLayout xmlns:android= schemas.android.com/apk/res/android android:layout_width= fill_parent android:layout_height= fill_parent android:orientation= vertical > <TextView android:layout_height= wrap_ content android:layout_width= wrap_content android:textappearance=?android:attr/ textappearancelarge android:text= Download de Arquivos > </TextView> <TextView android:layout_height= wrap_ content android:layout_width= wrap_content android:textappearance=?android:attr/ textappearancemedium android:text= Lista de Arquivos do FTP: > </TextView> <Spinner android:layout_width= 310dp android:layout_height= 50dp > </Spinner> <Button android:text= Efetuar Download android:layout_width= 140dp android:layout_height= wrap_content android:onclick= Download_click android:layout_gravity= center_ horizontal > </Button> <TextView android:layout_height= wrap_ content android:layout_width= wrap_content android:textappearance=?android:attr/ textappearancelarge android:text= Upload de Arquivos > </TextView> <TextView android:layout_height= wrap_ content android:layout_width= wrap_content android:textappearance=?android:attr/ textappearancemedium android:text= Lista de Arquivos do Celular: > </TextView> <Spinner android:layout_width= 310dp android:layout_height= 50dp > </Spinner> <Button android:text= Efetuar Upload android:layout_width= 140dp android:layout_height= wrap_content android:onclick= Upload_click android:layout_gravity= center_ horizontal > </Button> </LinearLayout> Codificando a Atividade Principal A atividade será composta de algumas funções para Downloads e Uploads. Usaremos também Threads para indicar o processamento das tarefas. Comentarei o código a seguir para melhor entendimento. Utilizaremos as seguintes bibliotecas: package pct.androidftp; import android.app.activity; import android.app.progressdialog; import android.os.bundle; import java.io.file; import java.util.arraylist; import org.apache.commons.net.ftp.ftpfile; import android.os.environment; import android.view.view; import android.widget.arrayadapter; import android.widget.edittext; import android.widget.spinner; import android.widget.toast; public class AndroidFTPActivity extends Activity Spinner SpnListarArquivosFTP; ArrayList<String> ArquivosFTP = new ArrayList<String>(); Spinner SpnListarArquivosCelular; ArrayList<String> ArquivosCelular = new ArrayList<String>(); ProgressDialog dialog; outubro

20 Estas são as variáveis globais que utilizaremos ao decorrer do desenvolvimento, o Spinner e o ArrayList serão responsáveis por armazenar os nomes dos arquivos localizados tanto no celular quanto no servidor public void oncreate(bundle savedinstancestate) super.oncreate(savedinstancestate); setcontentview(r.layout.main); SpnListarArquivosFTP = (Spinner) findviewbyid(r.id.spinner1); SpnListarArquivosCelular = (Spinner) findviewbyid(r.id.spinner2); ListarArquivosdoFTP(); ListarArquivosdoCelular(); No evento OnCreate é inicializado os listeners SpnListarArquivosFTP e SpnListarArquivosCelular. Também são invocadas os métodos ListarArquivosFTP() e ListarArquivosdoCelular() que são respectivamente responsáveis por listar os arquivos do servidor e do celular. public void ListarArquivosdoFTP() classe_ftp ClienteFTP = new classe_ FTP(); ClienteFTP.Conectar( ftp.teste.com.br, the club, 123mudar, 21); FTPFile[] arquivos = ClienteFTP. Dir( /thiago ); if(arquivos!= null) int length = arquivos.length; for(int i = 0; i < length; ++i) FTPFile f = arquivos[i]; if(f.isfile()) ArquivosFTP.add(f. getname()); ArrayAdapter<String> arrayadapter = new ArrayAdapter<String>(this,android.R.layout.simple_dropdown_item_1line, ArquivosFTP); SpnListarArquivosFTP. setadapter(arrayadapter); Método que trás os arquivos que estão localizados no servidor FTP. Inicialmente instanciamos a classe_ftp e usamos o método Conectar(), passando os seguintes parâmetros: Nome do Servidor FTP: ftp.teste.com.br Usuário: the club Senha: 123mudar Porta: 21 Estes mesmos dados serão utilizados posteriormente. O método ClienteFTP.Dir() recebe como parâmetro o nome da pasta que iremos utilizar para listar os arquivos, no nosso caso utilizei uma chamada / thiago para fins de testes. Por final faremos um for nestes arquivos para adicionarmos no Spinner (SpnListarArquivosFTP). public void ListarArquivosdoCelular() File diretorio = new File( /mnt/ sdcard ); File[] arquivos = diretorio. listfiles(); if(arquivos!= null) int length = arquivos.length; for(int i = 0; i < length; ++i) File f = arquivos[i]; if(f.isfile()) ArquivosCelular.add(f. getname()); ArrayAdapter<String> arrayadapter = new ArrayAdapter<String>(this,android.R.layout.simple_dropdown_item_1line, ArquivosCelular); SpnListarArquivosCelular. setadapter(arrayadapter); Este método é bem parecido com o descrito anteriormente, só que estamos listando os arquivos que estão localizados dentro do celular ou do tablet. No caso estamos passando como parâmetro o caminho /mnt/sdcard que é o caminho padrão de armazenamento externo. public void Efetuar_Download() String lstrarq = ; 20 outubro 2012

Programação para Android. Aula 08: Persistência de dados SQL

Programação para Android. Aula 08: Persistência de dados SQL Programação para Android Aula 08: Persistência de dados SQL Persistência de dados Na maioria das aplicações precisamos ter algum tipo de persistência de dados. Para guardar informações de forma persistente

Leia mais

ETEC DR. EMÍLIO HENRNANDEZ AGUILAR PROGRAMAÇÃO DE COMPUTADORES II PROFESSOR RAFAEL BARRETO DELPHI FORMULÁRIO COM ABAS E BUSCAS DE REGISTROS

ETEC DR. EMÍLIO HENRNANDEZ AGUILAR PROGRAMAÇÃO DE COMPUTADORES II PROFESSOR RAFAEL BARRETO DELPHI FORMULÁRIO COM ABAS E BUSCAS DE REGISTROS ETEC DR. EMÍLIO HENRNANDEZ AGUILAR PROGRAMAÇÃO DE COMPUTADORES II PROFESSOR RAFAEL BARRETO DELPHI FORMULÁRIO COM ABAS E BUSCAS DE REGISTROS FORMULÁRIOS COM ABAS Trabalhar com abas (ou guias) é um recurso

Leia mais

Trabalhando com conexão ao banco de dados MySQL no Lazarus. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011

Trabalhando com conexão ao banco de dados MySQL no Lazarus. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011 Trabalhando com conexão ao banco de dados MySQL no Lazarus Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011 Edição 4 O Componente Trabalhando com conexão ao banco de dados MySQL no Lazarus Ano: 03/2011

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

Usando o evento OnFilterRecord para filtrar ClientDataSets

Usando o evento OnFilterRecord para filtrar ClientDataSets Usando o evento OnFilterRecord para filtrar ClientDataSets O objetivo mais importante no desenvolvimento de um programa é fornecer ao cliente maior liberdade para usar as interfaces e ao mesmo tempo tornar

Leia mais

AMBIENTE. FORMULÁRIO: é a janela do aplicativo apresentada ao usuário. Considere o formulário como a sua prancheta de trabalho.

AMBIENTE. FORMULÁRIO: é a janela do aplicativo apresentada ao usuário. Considere o formulário como a sua prancheta de trabalho. DELPHI BÁSICO VANTAGENS Ambiente de desenvolvimento fácil de usar; 1. Grande Biblioteca de Componentes Visuais (VCL - Visual Component Library), que são botões, campos, gráficos, caixas de diálogo e acesso

Leia mais

Programa de Dispositivos Móveis

Programa de Dispositivos Móveis Aula 02 - Exercício Programa de Dispositivos Móveis PDM - Aula02 - Exercício- Ver 02-04/06/2014 08:56 Criando Aplicação Android (BasicView) Vamos continuar a criar interfaces gráficas (UI) básicas com

Leia mais

ETEC DR. EMÍLIO HENRNANDEZ AGUILAR PROGRAMAÇÃO DE COMPUTADORES II PROFESSOR RAFAEL BARRETO

ETEC DR. EMÍLIO HENRNANDEZ AGUILAR PROGRAMAÇÃO DE COMPUTADORES II PROFESSOR RAFAEL BARRETO ETEC DR. EMÍLIO HENRNANDEZ AGUILAR PROGRAMAÇÃO DE COMPUTADORES II PROFESSOR RAFAEL BARRETO DELPHI CRIANDO UMA AUTENTICAÇÃO DE USUÁRIO UTILIZANDO O COMPONENTE QUERY A autenticação de usuários serve para

Leia mais

1 REQUISITOS BÁSICOS PARA INSTALAR O SMS PC REMOTO

1 REQUISITOS BÁSICOS PARA INSTALAR O SMS PC REMOTO 1 ÍNDICE 1 REQUISITOS BÁSICOS PARA INSTALAR O SMS PC REMOTO... 3 1.1 REQUISITOS BASICOS DE SOFTWARE... 3 1.2 REQUISITOS BASICOS DE HARDWARE... 3 2 EXECUTANDO O INSTALADOR... 3 2.1 PASSO 01... 3 2.2 PASSO

Leia mais

Tutorial de Computação Introdução a Programação Gráfica em Lazarus Para MEC 1100 v2010.10

Tutorial de Computação Introdução a Programação Gráfica em Lazarus Para MEC 1100 v2010.10 Tutorial de Computação Introdução a Programação Gráfica em Lazarus Para MEC 1100 v2010.10 Linha de Equipamentos MEC Desenvolvidos por: Maxwell Bohr Instrumentação Eletrônica Ltda. Rua Porto Alegre, 212

Leia mais

Criando uma aplicação Web em C# usando o NHibernate

Criando uma aplicação Web em C# usando o NHibernate Criando uma aplicação Web em C# usando o NHibernate Apresento neste artigo como criar uma aplicação web totalmente orientada a objetos usando o framework NHibernate e a linguagem C#. Nossa meta é construir

Leia mais

NOVIDADES DO JAVA PARA PROGRAMADORES C

NOVIDADES DO JAVA PARA PROGRAMADORES C PROGRAMAÇÃO SERVIDOR EM SISTEMAS WEB NOVIDADES DO JAVA PARA PROGRAMADORES C Prof. Dr. Daniel Caetano 2012-1 Objetivos Apresentar o Conceito de Classes e Objetos Capacitar para a criação de objetos simples

Leia mais

Desenvolvimento para Android Prá3ca 3. Prof. Markus Endler

Desenvolvimento para Android Prá3ca 3. Prof. Markus Endler Desenvolvimento para Android Prá3ca 3 Prof. Markus Endler Exercício 3.1 Solicitando permissão para abrir uma página Web ü Criaremos uma Ac.vity com um EditText (para entrada de uma URL), um Bu?on e uma

Leia mais

Revisando sintaxes SQL e criando programa de pesquisa. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011

Revisando sintaxes SQL e criando programa de pesquisa. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011 Revisando sintaxes SQL e criando programa de pesquisa. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011 Edição 5 SELECT * FROM Minha_memoria Revisando Sintaxes SQL e Criando programa de Pesquisa Ano:

Leia mais

índice Delphi Editorial Desafio The Club Dicas Legenda Iniciante Intermediário Avançado

índice Delphi Editorial Desafio The Club Dicas Legenda Iniciante Intermediário Avançado agosto 2012 agosto 2012 índice Editorial C# Delphi Android 04 Linguagem C# - Criando Classes e Objetos 05 Autor: Marcos César Silva Delphi Criando aplicações com FireMonkey e acesso a 10 banco de dados

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

Despachante Express - Software para o despachante documentalista veicular DESPACHANTE EXPRESS MANUAL DO USUÁRIO VERSÃO 1.1

Despachante Express - Software para o despachante documentalista veicular DESPACHANTE EXPRESS MANUAL DO USUÁRIO VERSÃO 1.1 DESPACHANTE EXPRESS MANUAL DO USUÁRIO VERSÃO 1.1 1 Sumário 1 - Instalação Normal do Despachante Express... 3 2 - Instalação do Despachante Express em Rede... 5 3 - Registrando o Despachante Express...

Leia mais

Projeto Supermercado - Produtos

Projeto Supermercado - Produtos OBJETIVO: Este projeto possibilitará fazer a manutenção dos dados da tabela de Produtos. Didaticamente, ele permite ao programador iniciante ter os primeiros contatos com os objetos de visualização individual

Leia mais

Moodle FTEC Versão 2.0 Manual do Usuário Acesse a área de LOGIN do site da FTEC www.ftec.com.br

Moodle FTEC Versão 2.0 Manual do Usuário Acesse a área de LOGIN do site da FTEC www.ftec.com.br Moodle FTEC Versão 2.0 Manual do Usuário Acesse a área de LOGIN do site da FTEC www.ftec.com.br Índice Como acessar o Moodle Editando seu PERFIL Editando o curso / disciplina no Moodle Incluindo Recursos

Leia mais

Interface para Regras de Negócios em Multi-Banco

Interface para Regras de Negócios em Multi-Banco 1 Interface para Regras de Negócios em Multi-Banco MARCELO JALOTO (marcelo@jaloto.net) é graduado no curso superior Projetos e Gestão de Redes de Computadores e formado no curso Técnico em Processamento

Leia mais

Conectando Bancos de Dados Microsoft Access no BrOffice.org Base. fornecido pelo Projeto de Documentação do BrOffice.org

Conectando Bancos de Dados Microsoft Access no BrOffice.org Base. fornecido pelo Projeto de Documentação do BrOffice.org Conectando Bancos de Dados Microsoft Access no BrOffice.org Base fornecido pelo Projeto de Documentação do BrOffice.org Índice 1 Introdução...2 1.1 Versão... 2 1.2 Licenciamento...2 1.3 Mensagem do Projeto

Leia mais

Unidade 9: Middleware JDBC para Criação de Beans

Unidade 9: Middleware JDBC para Criação de Beans Programação Servidor para Sistemas Web 1 Unidade 9: Middleware JDBC para Criação de Beans Implementando MVC Nível 1 Prof. Daniel Caetano Objetivo: Preparar o aluno para construir classes de entidade com

Leia mais

Listando itens em ComboBox e gravando os dados no Banco de Dados MySQL.

Listando itens em ComboBox e gravando os dados no Banco de Dados MySQL. Listando itens em ComboBox e gravando os dados no Banco de Dados MySQL. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2012 Edição 7 Listando e Gravando Listando itens em ComboBox e gravando os dados no

Leia mais

Android Core. Felipe Silveira felipesilveira.com.br. Aula 6

Android Core. Felipe Silveira felipesilveira.com.br. Aula 6 Android Core Felipe Silveira felipesilveira.com.br Aula 6 Aplicações I Desenvolvimento de Aplicações Android SDK SDK https://developer.android.com/sdk Android SDK Android SDK: Eclipse + ADT plugin + Android

Leia mais

Podemos agora ver no IDE do Morfik os objetos que já incorporamos ao nosso projeto :

Podemos agora ver no IDE do Morfik os objetos que já incorporamos ao nosso projeto : Podemos agora ver no IDE do Morfik os objetos que já incorporamos ao nosso projeto : O form Index A tabela Fotos A query Q_seleção_de_fotos Vide figura 46. Figura 46 O próximo passo é criar um form que

Leia mais

ANDROID APPLICATION PROJECT

ANDROID APPLICATION PROJECT Criando um programa Abrindo o programa Eclipse, clique na opção [FILE], depois em [NEW], selecione a opção [PROJECT], uma janela de opção do tipo de projeto irá se abrir, escolha [ANDROID] logo depois

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

Índice. Atualizado em: 01/04/2015 Página: 1

Índice. Atualizado em: 01/04/2015 Página: 1 MANUAL DO USUÁRIO Índice 1. Introdução... 3 2. Acesso ao Sistema... 4 2.1. Instalação... 4 2.1.1. Servidor - Computador Principal... 4 2.1.2. Estação - Computador na Rede... 6 2.1.3. Estação - Mapeamento

Leia mais

Inserindo Dados no Banco de Dados Paradox.

Inserindo Dados no Banco de Dados Paradox. Inserindo Dados no Banco de Dados Paradox. - Construção do Banco de Dados: Para podermos inserir algo em um banco precisaremos de um Banco de Dados, para isto iremos montar um utilizando o Programa Database

Leia mais

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS Componentes Visuais Gerenciadores de Layouts Professor: Danilo Giacobo OBJETIVOS DA AULA Apresentar os conceitos básicos da programação de interfaces visuais para Android

Leia mais

Fortes Report Parte 1 Desenvolvendo o Primeiro Relatório

Fortes Report Parte 1 Desenvolvendo o Primeiro Relatório Fortes Report Parte 1 1 Fortes Report Parte 1 Desenvolvendo o Primeiro Relatório Amigos, fazer relatórios é o famoso mal necessário, que particularmente eu não me incomodo em desenvolver, até porque, geralmente

Leia mais

Desenvolvimento com Android Studio Aula 01 Instalação e Configuração do Ambiente de Desenvolvimento, Estrutura de um projeto Android

Desenvolvimento com Android Studio Aula 01 Instalação e Configuração do Ambiente de Desenvolvimento, Estrutura de um projeto Android Desenvolvimento com Android Studio Aula 01 Instalação e Configuração do Ambiente de Desenvolvimento, Estrutura de um projeto Android Instalação e Configuração do Ambiente de Desenvolvimento Instalação

Leia mais

DESENVOLVIMENTO DE SOFTWARE

DESENVOLVIMENTO DE SOFTWARE VARIAÁ VEL Antes de iniciarmos os comandos referentes a Banco de Dados, precisamos de uma breve descrição técnica sobre Variáveis que serão uma constante em programação seja qual for sua forma de leitura.

Leia mais

Android Binding. Implementando o padrão de projeto MVVM com MVVM_. Saiba como criar um projeto utilizando o padrão de projeto MVVM no Android

Android Binding. Implementando o padrão de projeto MVVM com MVVM_. Saiba como criar um projeto utilizando o padrão de projeto MVVM no Android MVVM_ Implementando o padrão de projeto MVVM com Android Binding Saiba como criar um projeto utilizando o padrão de projeto MVVM no Android O padrão de projeto MVVM O MVVM (Model-View-ViewModel) foi divulgado

Leia mais

PROJECT 1 Delphi Project (Extensão. DPR)

PROJECT 1 Delphi Project (Extensão. DPR) CAPÍTULO2 1. A ESTRUTURA DE UM APLICATIVO Quando iniciamos uma aplicação em Delphi ele interpreta que iremos desenvolver um projeto. Este gerencia um conjunto de recursos como Forms, Units, objetos, funções

Leia mais

Desenvolvimento Android. http://www.larback.com.br

Desenvolvimento Android. http://www.larback.com.br Desenvolvimento Android http://www.larback.com.br Introdução ao Android O Android é a resposta da Google ao mercado crescente de dispositivos móveis. É uma nova plataforma de desenvolvimento baseado no

Leia mais

Descrição. Implementação. Departamento de Informática e Estatística Universidade Federal de Santa Catarina LAB 4 Transferência de Arquivos

Descrição. Implementação. Departamento de Informática e Estatística Universidade Federal de Santa Catarina LAB 4 Transferência de Arquivos Departamento de Informática e Estatística Universidade Federal de Santa Catarina LAB 4 Transferência de Arquivos Descrição Implemente nesta atividade de laboratório um programa em Java utilizando threads

Leia mais

SisLegis Sistema de Cadastro e Controle de Leis

SisLegis Sistema de Cadastro e Controle de Leis Sistema de Cadastro e Controle de Leis Desenvolvido por Fábrica de Software Coordenação de Tecnologia da Informação Pág 1/22 Módulo: 1 Responsável: Desenvolvimento Ti Data: 01/11/2012 Versão: 1.0 Empresa:

Leia mais

Programação para Android. Aula 06: Activity, menus e action bar

Programação para Android. Aula 06: Activity, menus e action bar Programação para Android Aula 06: Activity, menus e action bar Activity A classe Activity é quem gerencia a interface com o usuário. Ela quem recebe as requisições, as trata e processa. Na programação

Leia mais

Avançado. Visão geral do ambiente do VBA Retornar à planilha Excel

Avançado. Visão geral do ambiente do VBA Retornar à planilha Excel Avançado Trabalhando com VBA Descubra a linguagem de programação do Microsoft Office e torne-se um expert no desenvolvimento de funções, macros e planilhas eletrônicas Nas edições anteriores da revista

Leia mais

Display de 7. PdP. Autor: Tiago Lone Nível: Básico Criação: 16/12/2005 Última versão: 18/12/2006. Pesquisa e Desenvolvimento de Produtos

Display de 7. PdP. Autor: Tiago Lone Nível: Básico Criação: 16/12/2005 Última versão: 18/12/2006. Pesquisa e Desenvolvimento de Produtos TUTORIAL Display de 7 Segmentos Autor: Tiago Lone Nível: Básico Criação: 16/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

Manual de Configuração e Utilização TabFisc Versão Mobile 09/2013 Pag. 1 MANUAL DE UTILIZAÇÃO TABLET VERSÃO MOBILE

Manual de Configuração e Utilização TabFisc Versão Mobile 09/2013 Pag. 1 MANUAL DE UTILIZAÇÃO TABLET VERSÃO MOBILE Pag. 1 MANUAL DE UTILIZAÇÃO TABLET VERSÃO MOBILE Pag. 2 INTRODUÇÃO Esse documento contém as instruções básicas para a utilização do TabFisc Versão Mobile (que permite ao fiscal a realização do seu trabalho

Leia mais

Apostila de Delphi 7.0 Profa. Gilene B. Gomes

Apostila de Delphi 7.0 Profa. Gilene B. Gomes 7. CAIXAS DE DIÁLOGO PREDEFINIDAS O Delphi oferece vários comandos para a exibição de caixas de diálogo comuns, como caixas de mensagem (Message Boxes) e caixas de entrada (Input Boxes). Esses comandos

Leia mais

Front-End Uso da Linguagem Turbo Delphi para Acesso ao Banco de Dados Mysql

Front-End Uso da Linguagem Turbo Delphi para Acesso ao Banco de Dados Mysql Universidade Federal de Mato Grosso-UFMT Sistemas de Informação Laboratório de Programação Visual Prof. Clóvis Júnior Front-End Uso da Linguagem Turbo Delphi para Acesso ao Banco de Dados Mysql Estrutura

Leia mais

END OF FILE: Tutorial Chat Em Delphi

END OF FILE: Tutorial Chat Em Delphi END OF FILE: Tutorial Chat Em Delphi fórum: http://offile.umforum.net site: http://fts315.xp3.biz autor: kõdo no kami (www.facebook.com/hacker.fts315) - skype: hackefts315 greetz: mmxm, sir.rafiki, suspeit0@virtual,

Leia mais

Android e Bancos de Dados

Android e Bancos de Dados (Usando o SQLite) 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

Leia mais

Aula Extra Conexão ODBC para aplicações Delphi 7 que usam SQL Server 2005

Aula Extra Conexão ODBC para aplicações Delphi 7 que usam SQL Server 2005 Nome Número: Série Aula Extra Conexão ODBC para aplicações Delphi 7 que usam SQL Server 2005 Proposta do projeto: Competências: Compreender a orientação a objetos e arquitetura cliente-servidor, aplicando-as

Leia mais

Servidores REST usando TMS Aurelius e DataSnap

Servidores REST usando TMS Aurelius e DataSnap Servidores REST usando TMS Aurelius e DataSnap Introdução Em artigo anterior a framework na Active Delphi, apresentados o TMS Aurelius, uma framework para mapeamento objeto-relacional (ORM) e mostramos

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

C# - Conexão com MySQL

C# - Conexão com MySQL E S T A A P R E S E N T A Ç Ã O F O I E L A B O R A D A COMO M A T E R I A L DE A P O I O À A U L A DO P R O F E S S O R L E O L A R B A C K A O S A L U N O S DA E S C O L A T É C N I C A P O L I M I G.

Leia mais

Centro de Computação - Unicamp Gerência de Atendimento ao Cliente (e-mail:apoio@turing.unicamp.br) Sumário

Centro de Computação - Unicamp Gerência de Atendimento ao Cliente (e-mail:apoio@turing.unicamp.br) Sumário Sumário Conceitos Microsoft Access 97... 01 Inicialização do Access... 02 Convertendo um Banco de Dados... 03 Criando uma Tabela... 06 Estrutura da Tabela... 07 Propriedades do Campo... 08 Chave Primária...

Leia mais

Universidade Federal de Viçosa CPD - Central de Processamento de Dados Divisão de Desenvolvimento de Sistemas

Universidade Federal de Viçosa CPD - Central de Processamento de Dados Divisão de Desenvolvimento de Sistemas Universidade Federal de Viçosa CPD - Central de Processamento de Dados Divisão de Desenvolvimento de Sistemas Manual de padrões e convenções para desenvolvimento de sistemas PHP Versão Conteúdo 1.

Leia mais

( TIAGO DOS SANTOS MENDES ) PROGRAMAÇÃO DISPOSITIVOS MOVEIS ANDROID STUDIO

( TIAGO DOS SANTOS MENDES ) PROGRAMAÇÃO DISPOSITIVOS MOVEIS ANDROID STUDIO Serviço Nacional de Aprendizagem Comercial E.E.P. Senac Pelotas Centro Histórico Programa Nacional de Acesso ao Ensino Técnico e Emprego Curso Técnico em Informática ( TIAGO DOS SANTOS MENDES ) PROGRAMAÇÃO

Leia mais

SECRETARIA DE ESTADO DA FAZENDA. Documento de Arrecadação Estadual DAE. Manual do Usuário. Versão 1.0.0 SECRETARIA DE ESTADO DA FAZENDA

SECRETARIA DE ESTADO DA FAZENDA. Documento de Arrecadação Estadual DAE. Manual do Usuário. Versão 1.0.0 SECRETARIA DE ESTADO DA FAZENDA 1 SECRETARIA DE ESTADO DA FAZENDA Documento de Arrecadação Estadual DAE Manual do Usuário Versão 1.0.0 SECRETARIA DE ESTADO DA FAZENDA 66.053-000 Av. Visconde de Souza Franco, 110 Reduto Belém PA Tel.:(091)

Leia mais

Programa de Dispositivos Móveis

Programa de Dispositivos Móveis Aula 02 Programa de Dispositivos Móveis A Classe Activity A classe Actvity é similar a classe JFrame do Swing representa basicamente uma tela. Quase todas as atividades interagem com o usuário, então ela

Leia mais

Persistência de Classes em Tabelas de Banco de Dados

Persistência de Classes em Tabelas de Banco de Dados UTFPR DAELN - Disciplina de Fundamentos de Programação II ( IF62C ). 1 Persistência de Classes em Tabelas de Banco de Dados 1) Introdução! Em algumas situações, pode ser necessário preservar os objetos

Leia mais

Delphi. Delphi. Editorial. C# Android. Desafio The Club. Dicas. Legenda. Iniciante Intermediário Avançado

Delphi. Delphi. Editorial. C# Android. Desafio The Club. Dicas. Legenda. Iniciante Intermediário Avançado novembro 2012 novembro 2012 índice Editorial Delphi Delphi 04 Delphi Parte VIII 05 Autor: Luciano Pimenta FireMonkey - Formulário base de cadastro com barra 12 de ferramentas - Parte I Autor: Lucas de

Leia mais

Drive MySql de conexão para Eclipse

Drive MySql de conexão para Eclipse Drive MySql de conexão para Eclipse de Setembro de 0 Olá, neste artigo iremos focar em como utilizar o drive de conexão do Mysql na IDE eclipse. Veremos passo-a-passo como instalar, o que é uma coisa muito

Leia mais

Criação de Applets com o JBuilder Professor Sérgio Furgeri

Criação de Applets com o JBuilder Professor Sérgio Furgeri OBJETIVOS DA AULA: Apresentar o processo de criação em uma interface gráfica para a Internet; Fornecer subsídios para que o aluno possa compreender onde aplicar Applets; Demonstrar a criação de uma Applet

Leia mais

1. Introdução pág.3 2. Apresentação do sistema Joomla! pág.4 3. Acessando a administração do site pág.4 4. Artigos 4.1. Criando um Artigo 4.2.

1. Introdução pág.3 2. Apresentação do sistema Joomla! pág.4 3. Acessando a administração do site pág.4 4. Artigos 4.1. Criando um Artigo 4.2. 1. Introdução pág.3 2. Apresentação do sistema Joomla! pág.4 3. Acessando a administração do site pág.4 4. Artigos 4.1. Criando um Artigo 4.2. Editando um Artigo 4.3. Excluindo um Artigo 4.4. Publicar

Leia mais

Programação para Android

Programação para Android Programação para Android Aula 02 Parte 01: Tipos de Layouts: RelativeLayout, LinearLayout, TableLayout Widgets: TextView, EditText, ImageView, Button Na aula anterior... Visão geral do Android Kit de desenvolvimento:

Leia mais

Controle Patrimonial WEB

Controle Patrimonial WEB Cccc Controle Patrimonial WEB Manual Unidade de Guarda Conteúdo 1. Acessar o Controle Patrimonial - Web... 4 1.1. Login... 4 1.2. Esquecer sua senha?... 5 2. Alterar a senha... 6 3. Cadastrar novo usuário...

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

Introdução ao X3. Exercício 1: Criando um registro de Contato

Introdução ao X3. Exercício 1: Criando um registro de Contato Introdução ao X3 Exercício 1: Criando um registro de Contato Inicie por adicionar um novo registro de Contato. Navegue para a tabela de Contato clicando na aba de Contato no alto da página. Existem duas

Leia mais

Procedimentos para Reinstalação do Sisloc

Procedimentos para Reinstalação do Sisloc Procedimentos para Reinstalação do Sisloc Sumário: 1. Informações Gerais... 3 2. Criação de backups importantes... 3 3. Reinstalação do Sisloc... 4 Passo a passo... 4 4. Instalação da base de dados Sisloc...

Leia mais

Conecta S_Line. 2.2 Downloads Para instalar o Conecta S_Line, basta acessar www.sline.com.br/downloads.aspx

Conecta S_Line. 2.2 Downloads Para instalar o Conecta S_Line, basta acessar www.sline.com.br/downloads.aspx 1 Introdução O Conecta S_Line permite que o laboratório envie à Central S_Line os resultados de exames gerados pelo Sistema de Informação Laboratorial (LIS) em forma de arquivos digitais. Todo o processo

Leia mais

Para que o NSBASIC funcione corretamente em seu computador, você deve garantir que o mesmo tenha as seguintes características:

Para que o NSBASIC funcione corretamente em seu computador, você deve garantir que o mesmo tenha as seguintes características: Cerne Tecnologia www.cerne-tec.com.br Conhecendo o NSBASIC para Palm Vitor Amadeu Vitor@cerne-tec.com.br 1. Introdução Iremos neste artigo abordar a programação em BASIC para o Palm OS. Para isso, precisaremos

Leia mais

Tutorial. O Trade e a Nota Fiscal Eletrônica

Tutorial. O Trade e a Nota Fiscal Eletrônica Tutorial O Trade e a Nota Fiscal Eletrônica Este tutorial explica como configurar o Trade Solution e realizar as principais atividades relacionadas à emissão e ao gerenciamento das Notas Fiscais Eletrônicas

Leia mais

Tutorial. O Trade e a Nota Fiscal Eletrônica

Tutorial. O Trade e a Nota Fiscal Eletrônica Tutorial O Trade e a Nota Fiscal Eletrônica Este tutorial explica como configurar o Trade Solution e realizar as principais atividades relacionadas à emissão e ao gerenciamento das Notas Fiscais Eletrônicas

Leia mais

Criando um carrinho de compras

Criando um carrinho de compras Criando um carrinho de compras Um carrinho de compras feito em ASP.NET para você adaptar ao seu negócio e incluir no seu site. Além de aprender conceitos importantes relacionados a tecnologia ASP.NET vai

Leia mais

BI Citsmart Fornece orientações necessárias para instalação, configuração e utilização do BI Citsmart.

BI Citsmart Fornece orientações necessárias para instalação, configuração e utilização do BI Citsmart. 16/08/2013 BI Citsmart Fornece orientações necessárias para instalação, configuração e utilização do BI Citsmart. Versão 1.0 19/12/2014 Visão Resumida Data Criação 19/12/2014 Versão Documento 1.0 Projeto

Leia mais

DESENVOLVIMENTO DE SOFTWARE

DESENVOLVIMENTO DE SOFTWARE VARIAÁ VEL Antes de iniciarmos os comandos referentes a Banco de Dados, precisamos de uma breve descrição técnica sobre Variáveis que serão uma constante em programação seja qual for sua forma de leitura.

Leia mais

Consulta de endereço através do Cep

Consulta de endereço através do Cep --------------------------------------------------------------------------------------------- Por: Giancarlo Fim giancarlo.fim@gmail.com Acesse: http://giancarlofim.wordpress.com/ ---------------------------------------------------------------------------------------------

Leia mais

02 - Usando o SiteMaster - Informações importantes

02 - Usando o SiteMaster - Informações importantes 01 - Apresentação do SiteMaster - News Edition O SiteMaster foi desenvolvido para ser um sistema simples de gerenciamento de notícias, instalado em seu próprio computador e com configuração simplificada,

Leia mais

Criando uma agenda simples com NetBeans 6.5

Criando uma agenda simples com NetBeans 6.5 Criando uma agenda simples com NetBeans 6.5 (Swing application framework e Beansbinding) Já faz algum tempo que escrevi uma agenda simples usando o Eclipse com o Visual Class Editor. Demorei em torno de

Leia mais

Programação de Dispositivos Móveis

Programação de Dispositivos Móveis Aula 04 Programação de Dispositivos Móveis A Classe Activity É obrigatório que cada activity do projeto esteja declarada no arquivo AndroidManisfest.xml, caso contrário não é possível utilizá-la. Para

Leia mais

Excel 2010 Modulo II

Excel 2010 Modulo II Excel 2010 Modulo II Sumário Nomeando intervalos de células... 1 Classificação e filtro de dados... 3 Subtotais... 6 Validação e auditoria de dados... 8 Validação e auditoria de dados... 9 Cenários...

Leia mais

FTIN FORMAÇÃO TÉCNICA EM INFORMÁTICA. Módulo de Programação Prof. Bruno Maciel

FTIN FORMAÇÃO TÉCNICA EM INFORMÁTICA. Módulo de Programação Prof. Bruno Maciel FTIN FORMAÇÃO TÉCNICA EM INFORMÁTICA Módulo de Programação Prof. Bruno Maciel Competências a serem trabalhadas nessa aula Criação da Base de Dados (MySQL) Criação de Tabelas Tipo de Dados Chave Primária

Leia mais

Sistematic Tecnologia e Sistemas de Informação LTDA

Sistematic Tecnologia e Sistemas de Informação LTDA Manual do Usuário SisCommercePDV NFC-e Sistematic Tecnologia e Sistemas de Informação LTDA MANUAL DO USUÁRIO SisCommercePDV Emissor de Nota Fiscal do Consumidor Eletrônica (NFC-e) *Manual em desenvolvimento

Leia mais

PROGRAMANDO ANDROID NA IDE ECLIPSE GABRIEL NUNES, JEAN CARVALHO TURMA TI7

PROGRAMANDO ANDROID NA IDE ECLIPSE GABRIEL NUNES, JEAN CARVALHO TURMA TI7 Serviço Nacional de Aprendizagem Comercial do Rio Grande do Sul Informação e Comunicação: Habilitação Técnica de Nível Médio Técnico em Informática Programação Android na IDE Eclipse PROGRAMANDO ANDROID

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

4 Criação de macros e introdução à linguagem VBA

4 Criação de macros e introdução à linguagem VBA 4 Criação de macros e introdução à linguagem VBA Vinicius A. de Souza va.vinicius@gmail.com São José dos Campos, 2011. 1 Sumário Tópicos em Microsoft Excel 2007 Introdução à criação de macros...3 Gravação

Leia mais

BCValidador VALIDAÇÃO DE ARQUIVOS XML RECEBIDOS PELO BANCO CENTRAL DO BRASIL

BCValidador VALIDAÇÃO DE ARQUIVOS XML RECEBIDOS PELO BANCO CENTRAL DO BRASIL BCValidador VALIDAÇÃO DE ARQUIVOS XML RECEBIDOS PELO BANCO CENTRAL DO BRASIL Deinf/Dine4 Versão 1.3 20/05/2013 Histórico de Revisão Data Versão Descrição Autor 06/11/2007 1.0 Elaboração da primeira versão

Leia mais

Grifon Alerta. Manual do Usuário

Grifon Alerta. Manual do Usuário Grifon Alerta Manual do Usuário Sumário Sobre a Grifon Brasil... 4 Recortes eletrônicos... 4 Grifon Alerta Cliente... 4 Visão Geral... 4 Instalação... 5 Pré-requisitos... 5 Passo a passo para a instalação...

Leia mais

Programação para Dispositivos Móveis

Programação para Dispositivos Móveis Programação para Dispositivos Móveis Fatec Ipiranga Análise e Desenvolvimento de Sistemas Aula 05 Programando formularios, activities e intents. Dalton Martins dmartins@gmail.com São Paulo, Março, 2012

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

Para desenvolver a atividade a atividade desta aula utilizaremos o ambiente de desenvolvimento integrado NetBeans.

Para desenvolver a atividade a atividade desta aula utilizaremos o ambiente de desenvolvimento integrado NetBeans. 1 - Criando uma classe em Java Para desenvolver a atividade a atividade desta aula utilizaremos o ambiente de desenvolvimento integrado NetBeans. Antes de criarmos a(s) classe(s) é necessário criar o projeto

Leia mais

SISTEMA DE PRODUTOS E SERVIÇOS CERTIFICADOS. MÓDULO DO CERTIFICADOR MANUAL DE OPERAÇÃO Versão 2.4.6

SISTEMA DE PRODUTOS E SERVIÇOS CERTIFICADOS. MÓDULO DO CERTIFICADOR MANUAL DE OPERAÇÃO Versão 2.4.6 SISTEMA DE PRODUTOS E SERVIÇOS CERTIFICADOS Versão 2.4.6 Sumário Fluxograma básico do processo de envio de remessa... 5 Criar novo certificado... 6 Aprovar certificado... 16 Preparar e enviar remessa...

Leia mais

MANUAL DO USUÁRIO PORTAL TISS. Manual. Usuário. Versão 1.3 atualizado em 13/06/2013

MANUAL DO USUÁRIO PORTAL TISS. Manual. Usuário. Versão 1.3 atualizado em 13/06/2013 Manual do Usuário Versão 1.3 atualizado em 13/06/2013 1. CONFIGURAÇÕES E ORIENTAÇÕES PARA ACESSO... 4 2 GUIAS... 11 2.1 DIGITANDO AS GUIAS... 11 2.2 SALVANDO GUIAS... 12 2.3 FINALIZANDO UMA GUIA... 13

Leia mais

Autor: Luciano Pimenta. Biometria - Uma abordagem prática para impressão digital. Autor: Victory Fernandes e Murilo

Autor: Luciano Pimenta. Biometria - Uma abordagem prática para impressão digital. Autor: Victory Fernandes e Murilo dezembro 2012 dezembro 2012 índice Editorial C# Android 04 Visual Banco de Dados Studio 201205 Autor: Luciano Pimenta Delphi Android - Arquivo de Configuração 10 Autor: Thiago Cavalheiro Montebugnoli FireMontkey

Leia mais

MANUAL DE UTILIZAÇÃO

MANUAL DE UTILIZAÇÃO MANUAL DE UTILIZAÇÃO Módulo de operação Ativo Bem vindo à Vorage CRM! Nas próximas paginas apresentaremos o funcionamento da plataforma e ensinaremos como iniciar uma operação básica através do nosso sistema,

Leia mais

Treinamento sobre SQL

Treinamento sobre SQL Treinamento sobre SQL Como Usar o SQL Os dois programas que você mais utilizara no SQL Server são: Enterprise Manager e Query Analyzer. No Enterprise Manager, você pode visualizar e fazer alterações na

Leia mais

ÍNDICE. Sobre o SabeTelemarketing 03. Contato. Ícones comuns à várias telas de gerenciamento. Verificar registros 09. Tela de relatórios 09

ÍNDICE. Sobre o SabeTelemarketing 03. Contato. Ícones comuns à várias telas de gerenciamento. Verificar registros 09. Tela de relatórios 09 ÍNDICE Sobre o SabeTelemarketing 03 Ícones comuns à várias telas de gerenciamento Contato Verificar registros 09 Telas de cadastro e consultas 03 Menu Atalho Nova pessoa Incluir um novo cliente 06 Novo

Leia mais

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE ALAGOAS CURSO TECNICO EM INFORMATICA DISCIPLINA:

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE ALAGOAS CURSO TECNICO EM INFORMATICA DISCIPLINA: INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE ALAGOAS CURSO TECNICO EM INFORMATICA DISCIPLINA: PROGRAMAÇÃO ORIENTADA A OBJETOS PROFESSOR: REINALDO GOMES ASSUNTO: REVISÃO DA INTRODUÇÃO A ORIENTAÇÃO

Leia mais

TABELAS RELACIONADAS: CAPTURANDO VALOR DE OUTRA TABELA ATRAVÉS DE DBGRID

TABELAS RELACIONADAS: CAPTURANDO VALOR DE OUTRA TABELA ATRAVÉS DE DBGRID PROGRAMAÇÃO DE COMPUTADORES II PROFESSOR RAFAEL BARRETO TABELAS RELACIONADAS: CAPTURANDO VALOR DE OUTRA TABELA ATRAVÉS DE DBGRID Imagine que estejamos trabalhando com tabelas relacionadas e que, em determinado

Leia mais

AULA 2 INTERAÇÃO COM O BANCO DE DADOS

AULA 2 INTERAÇÃO COM O BANCO DE DADOS AULA 2 INTERAÇÃO COM O BANCO DE DADOS BANCO DE DADOS POSTGRESQL O PostgreSQL é um sistema gerenciador de banco de dados dos mais robustos e avançados do mundo. Seu código é aberto e é totalmente gratuito,

Leia mais

MANUAL DO PVP SUMÁRIO

MANUAL DO PVP SUMÁRIO Manual PVP - Professores SUMÁRIO 1 INTRODUÇÃO... 6 2 ACESSANDO O PVP... 8 3 TELA PRINCIPAL... 10 3.1 USUÁRIO... 10 3.2 INICIAL/PARAR... 10 3.3 RELATÓRIO... 10 3.4 INSTITUIÇÕES... 11 3.5 CONFIGURAR... 11

Leia mais