índice Delphi Delphi Editorial Desafio The Club Dicas Legenda maior festa popular. e festejar bastante! Sem se esquecer

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

Download "índice Delphi Delphi Editorial Desafio The Club Dicas Legenda maior festa popular. e festejar bastante! Sem se esquecer...04 05"

Transcrição

1 fevereiro 2012

2 fevereiro 2012

3 índice Editorial Delphi Delphi Chegou fevereiro e com ele a nossa Ler e exibir o Conteúdo de vários maior festa popular. arquivos de O Carnaval. Então vamos todos aproveitar DragDrop texto utilizando e festejar bastante! Sem se esquecer Autor: Eduardo Massud Criando uma aplicação Client- Server no Delphi 08 - Parte IV Autor: Luciano Pimenta Delphi Delphi Android - Criando uma tela de Venda Autor: Thiago C. Montebugnoli 14 Conexão ao Firebird em Lazarus Métodos RAVReport - de A a Z - 22 parte 4 26 Autor: Antonio Autor: Leonora Golin Spitaleri Neto Dicas Desafio The Club - Dicas Delphi 28 - Cruzada Legenda Iniciante Intermediário Avançado 30 fevereiro

4 Bem-vindo Chegou fevereiro e com ele chega nossa maior festa popular. O Carnaval. Então vamos todos aproveitar e festejar bastante! Sem se esquecer que depois da folia o trabalho prossegue. Então nada melhor que ler os artigos desse mês para que a volta ao batente seja bem produtiva. Para começar temos o artigo de nosso consultor Eduardo Massud mostrando como manipular arquivos no Delphi utilizando o recurso Drag and Drop. Na sequência temos o artigo Criando uma aplicação Client Server no Delphi parte 4 onde nosso colaborador Luciano Pimenta segue mostrando como desenvolver uma aplicação Delphi baseada na robustez da arquitetura Client Server. Para quem pretende se aventurar pela plataforma Android, nosso colaborador Thiago Montebugnoli traz esse mês como criar uma tela de venda nesse plataforma. Para finalizar, sigo mostrando a vocês a ferramenta Lazarus. Esse mês trago o artigo Conectando Firebird ao Lazarus, onde demonstro como manipular bases de dados Firebird em Lazarus. É isso. Bom carnaval a todos e até març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 Megazine 2009 Diretor Técnico Marcos César Silva Diagramação Eduardo Massud Capa Vitor Manuel Rodrigues Revisão Eliziane Valentim Colunistas Antonio Spitaleri Neto Eduardo Massud Leonora Golin Luciano Pimenta Thiago Cavalheiro Montebugnoli Impressão e acabamento: GRIL - Gráfica e Editora Taquarituba-SP - Tel. (14) Antonio Spitaleri Neto - 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 Borland International, as demais marcas citadas são registradas pelos seus respectivos proprietários. 04 fevereiro 2012

5 Delphi Ler e exibir o conteúdo de vários arquivos de texto utilizando o sistema de arrastar e soltar (Drag Drop). A função de arrastar e soltar tem tido grande viabilidade, por ser bem mais intuitiva de que a busca com a caixa de diálogo, utilizando um método muito mais simples e eficaz que agiliza no reconhecimento dos arquivos, interagindo e dinamizando nos modos de integração do aplicativo desenvolvido com o Sistema Operacional Ao criarmos a unit será implementada a procedure WMDropFiles(var Msg: TWMDropFiles); message WM_DROPFILES; ela é a responsável por interpretar e gerenciar todo arquivo que é arrastado para a aplicação. unit FmMain; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ComCtrls, StdCtrls, Menus, ExtCtrls, Grids, DBGrids, DB, DBClient, OleCtrls, SHDocVw; type TForm1 = class(tform) Memo1: TMemo; StatusBar1: TStatusBar; OpenDialog1: TOpenDialog; ListBox1: TListBox; DataSource1: TDataSource; WebBrowser1: TWebBrowser; procedure Open1Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure FormDestroy(Sender: TObject); procedure Close1Click(Sender: TObject); procedure ListBox1Click(Sender: TObject); procedure ListBox1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); private function ArquivoSuportado(const Extensao: string): fevereiro

6 Boolean; procedure Incluir(const Arquivo: string); procedure Exibir(I: Integer); procedure WMDropFiles(var Msg: TWMDropFiles); message WM_ DROPFILES; public { Public declarations } var Form1: TForm1; implementation Na clausula Uses da seção implementation devemos declarar as funções ShellAPI e UFileCatcher que serão responsáveis por reconhecer o arquivo recebido. uses ShellAPI, UFileCatcher; {$R *.dfm} Será incluída também uma constante com o nome de Extensões, que receberá todas as extensões que poderão permitir que os arquivos possam ser interpretados ao serem selecionados const Extensoes = '*.txt;*. log;*.html;*.htm;*.xml;'; { TForm1 } Para que possamos habilitar o sistema de arrastar e soltar devemos criar 3 procedimentos que serão de inicialização, finalização e do momento em que estes arquivos são transferidos, e outro que servirá para consultar se o arquivo é permitido ou inválido procedure TForm1. FormCreate(Sender: TObject); DragAcceptFiles(Self. Handle, True); procedure TForm1. FormDestroy(Sender: TObject); DragAcceptFiles(Self. Handle, False); procedure TForm1. WMDropFiles(var Msg: TWMDropFiles); var I: Integer; Catcher: TFileCatcher; inherited; Catcher := TFileCatcher. Create(Msg.Drop); try for I := 0 to Pred(Catcher.FileCount) do Incluir(Catcher. Files[I]); finally Catcher.Free; Msg.Result := 0; procedure TForm1. Incluir(const Arquivo: string); if ArquivoSuportado(Arquivo) then Exibir(ListBox1.Items. Add(Arquivo)) else ShowMessageFmt('Tipo de Arquivo não suportado', [Arquivo]); Ao fecharmos o executável, removemos todos os arquivos listados e abertos pelo ListBox, limpando-o procedure TForm1. Close1Click(Sender: TObject); var ItemIdx: Integer; ItemIdx := ListBox1. ItemIndex; if ItemIdx > -1 then ListBox1.Items. Delete(ItemIdx); if ItemIdx >= ListBox1.Items.Count then Dec(ItemIdx); Exibir(ItemIdx); Na procedure Exibir carregamos todos os arquivos para os componentes que irão permitir que sejam visualizados procedure TForm1.Exibir(I: Integer); var FileName: string; if I >= 0 then FileName := ListBox1. Items[I]; ListBox1.ItemIndex := I; Memo1.Lines. 06 fevereiro 2012

7 LoadFromFile(FileName); WebBrowser1. Navigate(FileName); StatusBar1.SimpleText := FileName; end else Memo1.Clear; StatusBar1.SimpleText := 'Nenhum arquivo selecionado!'; function TForm1. ArquivoSuportado(const Extensao: string): Boolean; Result := Pos('*' + ExtractFileExt(Extensao) + ';', Extensoes) > 0; Mesmo se tratando de um component Drag Drop, o Delphi executará algumas funções necessárias para que o arquivo seja recebido, como a listagem de registros ao selecionar o listbox e a utilização do componente OpenDialog, que irá reconhecer o caminho daquele arquivo. Figura 1 Aplicação em Execução procedure TForm1. ListBox1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); try if Key = VK_DELETE Then ListBox1.Items. Delete(ListBox1. Navigate('about:blank'); except end. Veja a Figura 1 Conclusão procedure TForm1. ListBox1Click(Sender: TObject); Exibir(ListBox1. ItemIndex); procedure TForm1. Open1Click(Sender: TObject); if (OpenDialog1.Execute) then Incluir(OpenDialog1. FileName); ItemIndex); Memo1.Clear; WebBrowser1. Sobre o autor Eduardo Massud Consultor Técnico The Club. O Sistema de arrastar e soltar sempre trouxe muito mais agilidade e simplicidade aos aplicativos por ser um método mais intuitivo ao usuário. fevereiro

8 Criando uma aplicação client-server no Delphi Parte IV Continuaremos neste artigo a criação da nossa aplicação client-server com o Delphi. Fizemos no artigo anterior uma das partes mais importante do sistema, o cadastro de orçamento. Agora, veremos outra parte importantíssima que é o cadastro de Ordem de serviço. No sistema, à pedido do nosso cliente, uma Ordem de serviço, esta vinculada a um orçamento. Criando a Ordem de serviço Precisamos saber qual o orçamento vincularemos a essa OS. Vamos pesquisar o orçamento, através da placa do veículo, uma das maneiras mais indicadas. Na tela da OS, utilizaremos novamente, a tela de pesquisa genérica. Mostraremos a mesma, quando a pesquisa pelo orçamento retornar mais de um para a mesma placa (é possível). Assim, ao escolher o orçamento, alguns dados serão mostrados em tela. Uma característica que precisamos ter aqui será de armazenar em memória, as peças/serviços adicionados para a OS. Seria problemático, em termos de performance, se fossemos adicionando ou removendo no banco, as peças/serviços que farão parte da OS. Vamos colocar os dados em memória, e quando o usuário finalizar a OS, incluiremos tudo no banco de dados. Usaremos nesse exemplo, Stored Procedure, juntamente com uma transação, para que possamos incluir a OS e suas peças/serviços sem termos problemas, caso algum erro ocorra. Sobre as vantagens das Stored Procedure, podemos inumerar: - Diminui a quantidade de tráfego na rede, pois podemos ou não usar parâmetros para a execução de todo o comando no servidor; - Plano de execução mais otimizado, pois a mesma é compilada no banco de dados; - Segurança: podemos dar acesso ao usuário do sistema para execução da Stored Procedure em vez de acesso a tabela do banco de dados; - Facilidade: se precisarmos fazer uma modificação na Stored Procedure, basta alterá-la no banco de dados que os clientes da aplicação já estarão aceitando/recebendo essas modificações (desde que não seja alterado os parâmetros da Stored Procedure); - Regras de negócio: isso é uma discussão muito grande, deixar as regras no banco ou aplicação. A minha opinião é de que, cada caso é um caso. Dependendo, teremos vantagens em ter a regra no banco, em outro projeto, a vantagem pode estar em ter a regra do negócio na aplicação. Criando as Stored Procedures Veja na Listagem 1 o código das duas Stored 08 fevereiro 2012

9 Procedures que criaremos. Listagem 1. Stored Procedures CREATE PROCEDURE SP_ORDEM_ int output AS BEGIN INSERT INTO OS (ncdveiculo, ncdorcamento, tdtordem, sdsobservacoes) ncdorcamento, sdsobservacoes) = from OS; END CREATE PROCEDURE SP_ORDEM_ numeric(9,2) AS BEGIN INSERT INTO OS_DETALHE (ncdordem, ncdpeca, nqtpeca, nvlunitario) ncdpeca, nvlunitario) END Note que na SP_ORDEM_SERVICO, temos no final um código para selecionar o valor inserido no campo chave (ncdordem) da tabela OS, que será retornado nos parâmetros (do tipo output) da Stored Procedure. Assim, com o retorno desse valor, podemos indicar para a SP_ORDEM_SERVICO_DETALHES que vai inserir os itens (peças/serviços), o código da OS Figura 1. Tela de cadastro da OS. que os itens estão vinculados. Tudo isso, dentro de uma transação, feita pela aplicação. Não podemos ter itens da OS inseridos, sem a vinculação do código da OS. Criando o cadastro Vamos criar agora, o cadastro da nossa OS. Veja na Figura 1 a tela de OS da aplicação. No Click do botão, usamos o código da Listagem 2 para pesquisar os dados do orçamento. Listagem 2. Pesquisa de Orçamento pela placa DM.cdsOrcamentoPlaca. Close; DM.cdsOrcamentoPlaca. Params[0].AsString := edtplaca.text; DM.cdsOrcamentoPlaca.Open; if DM.cdsOrcamentoPlaca. RecordCount > 1 then try frmpesquisa := TfrmPesquisa.Create(self); frmpesquisa.dspesquisa. DataSet := DM.cdsOrcamentoPlaca; frmpesquisa.descricao := 'Nome da peça/serviço'; frmpesquisa. ShowModal; finally frmpesquisa.free; if (DM.cdsOrcamentoPlaca. RecordCount > 1) or (DM.cdsOrcamentoPlaca. RecordCount = 1) then ncdorcamento := DM.cdsO rcamentoplacancdorcamento. AsInteger; ncdveiculo := DM.cdsOrcamentonCdVeiculo. AsInteger; Temos a mesma funcionalidade anterior, caso a consulta retorne mais de um registro, mostramos a tela de pesquisa genérica para que o usuário possa escolher o respectivo orçamento. Veja que no final fevereiro

10 do código, preenchemos variáveis auxiliares com o código do orçamento e veículo para serem usadas na confirmação da OS. O comando SQL do cdsorcamentoplaca que preenche os dados do orçamento: select O.nCdOrcamento, O.nCdVeiculo, O.sNmCliente, O.sDsParecer, V.sNmModelo from ORCAMENTO O INNER JOIN VEICULO V ON V.nCdVeiculo = O.nCdVeiculo WHERE V.sNrPlaca = :PLACA and O.nIdStatus = 1 Figura 4. Finalizando o formulário de cadastro de OS Um detalhe importante, veja que estamos pesquisando somente nos orçamentos ativos (nidstatus = 1), para que a pesquisa seja correta e não traga orçamentos que já foram usados no veículo. Usando a pesquisa genérica não precisamos criar outra tela de consulta, ganhamos assim produtividade em nossa aplicação. Adicionando peças/serviços na OS Precisamos adicionar em memória as peças/ serviços escolhidos pelo usuário. Não seria correto, ficar adicionando e excluindo os itens no banco de dados. Seria uma degradação de performance muito grande. Vamos adicionar um ClientDataSet no formulário que terá os seguintes campos: código da peça, nome da peça, quantidade e preço. Veja na Figura 3 os campos do ClientDataSet. Figura 3. Campos do cdsitens Figura 5. Menu de contexto no grid Criamos um campo calculado para saber o subtotal da peça (quantidade * preço). Adicione um DataSource no formulário e faça a ligação do mesmo com o ClientDataSet e também do DBGrid com o DataSource. Configure os campos do ClientDataSet no Grid. Veja na Figura 4 como ficou nosso formulário. Vamos agora implementar o método responsável por adicionar os itens em memória no ClientDataSet. Veja na Listagem 3, o método IncluirItem. Listagem 3. Incluindo o item em memória procedure TfrmOrdem. IncluirItem; //validações if edtpeca.text = '' then MessageDlg('Campo Peça/serviço: preenchimento obrigatório.', mterror, [mbno], 0) else if (edtquantidade. Text = '') then MessageDlg('Campo Quantidade: preenchimento obrigatório.', mterror, [mbno], 0) else if edtpreco.text = '' then MessageDlg('Campo Preço: preenchimento obrigatório.', mterror, [mbno], 0) else //verifica se ClientDataSet ativo 10 fevereiro 2012

11 Grid para que fique dentro do GroupBox, assim o mesmo também fica desabilitado. Você também pode desabilitar o campo Observações e o botão de confirmar. Uma melhoria bem legal que poderíamos fazer, mas deixo para você exercitar, seria o de trazer o valor da peça/serviço cadastrado no banco no campo Preço. Usaríamos apenas como sugestão, pois o usuário poderia modificar o valor. Vamos agora, confirmar nosso orçamento. Usando transação com o dbexpress Figura 6. Cadastro de orçamento em execução if not cdsitens.active then cdsitens. CreateDataSet; //inclui o item cdsitens.insert; cdsitensncdpeca. AsInteger := ncdpeca; cdsitenssnmpeca. AsString := edtpeca.text; cdsitensnqtde. AsInteger := StrToInt(edtQuantidade. Text); cdsitensnvlpeca.ascurrency := StrToCurr(edtPreco. Text); cdsitens.post; //limpa campos edtpeca.text := ''; edtquantidade.text := ''; edtpreco.text := ''; Veja que fizemos algumas validações simples, antes de inserir o item. Poderíamos ter mais validações, como valor e quantidade maior que zero etc. A inserção do item, é simples, primeiro verificamos se o ClientDataSet não esta ativo, assim, criamos o mesmo em memória usando o método CreateDataSet. Para inserir um registro no controle, chamamos o Insert, preenchemos os campos e por fim, executamos o método Post. Para excluir um item, vamos usar um menu de contexto. Adicione um PopupMenu no formulário. Crie um item de menu chamado Excluir. No evento OnClick do menu, digite o seguinte código: if cdsitens.active then cdsitens.delete; Estamos verificando se o ClientDataSet esta ativo, então chamamos o Delete para excluir o item da memória. Precisamos apenas vincular o controle com a propriedade PopupMenu do grid. Veja na Figura 5 o uso do menu de contexto no Grid. Para finalizarmos o nosso cadastro, vamos implementar algumas regras na tela para que o processo seja executado sem falhas. Vamos desabilitar (propriedade Enabled) o GroupBox com os dados do item para quando o usuário abrir o formulário, não possa adicionar itens, sem antes pesquisar um orçamento. Vamos habilitar o mesmo somente quando for encontrado um orçamento. Por isso, modifiquei o Como estamos usando o dbexpress, usar transação de dados com o mesmo, é muito fácil. Vamos primeiramente, adicionar e configurar dois SQLStoredProc no Data Module para vinculá-los com as Stored Procedures criadas anteriormente. Acesse a propriedade Params dos controles e veja que o mesmo já configura os parâmetros das Stored Procedures (Figura 7). Precisamos então criar um método que faça a inserção dos dados, usando Stored Procedure e transação. Na Listagem 4, temos o código do InserirOS criado no Data Module. Listagem 4.Inserindo a Ordem de serviço no banco function TDM. InserirOS(nCdOrcamento, ncdveiculo: integer; cdsitens: TClientDataSet; sdsobservacoes: string): Boolean; var TransDesc: TDBXTransaction; ncdordem: integer; i: integer; bretorno: Boolean; bretorno := false; //inicia a transação TransDesc := SysCar. Transaction(TDBXIsolations. ReadCommitted); try //insere o orçamento fevereiro

12 Caso tenha alguma dúvida sugiro uma pesquisa para entender o funcionamento de transação no dbexpress. Figura 7. Parâmetros das Stored Procedures configurados no componente Nota: a partir da versão 2010 do Delphi, essa é a implementação para utilização de transação no dbexpress. Em versões anteriores, a lógica é a mesma, apenas muda as classes e métodos. spos.params[0].asinteger := ncdveiculo; spos.params[1]. AsInteger := ncdorcamento; spos.params[2]. AsString := sdsobservacoes; spos.execproc; //armazena o valor inserido no banco ncdordem := spos. Params[3].AsInteger; //percorre os itens e insere no banco for i := 0 to cdsitens. RecordCount - 1 do //insere os itens spos_itens. Params[0].AsInteger := ncdordem; spos_itens. Params[1].AsInteger := cdsitens. FieldByName('nCdPeca'). AsInteger; spos_itens. Params[2].AsInteger := cdsitens. FieldByName('nQtde'). AsInteger; spos_itens. Params[3].AsCurrency := cdsitens. FieldByName('nVlPeca'). AsInteger; spos_itens. ExecProc; bretorno := true; except //caso ocorra algum erro, da roolback SysCar.RollbackInco mpletefreeandnil(transde sc); //comita as alterações no banco SysCar. ommitfreeandnil(transdesc); Result := bretorno; O código esta comentado, mas vamos entender seu funcionamento. Primeiro, declaramos algumas variáveis para auxiliar-nos. A variável do tipo TDBXTransaction, é parâmetro para o método que inicia a transação. Dentro de um bloco try...except, configuramos os parâmetros necessários para a inserção da OS e de seus itens. Algo bastante simples, como podemos perceber. A Stored Procedure que insere a OS, retorna o código da mesma em seu último parâmetro. Assim, armazenamos esse valor para usá-lo na inserção dos itens da OS. O bloco except, será executado, caso ocorra algum erro, assim, chamamos o RollbackIncompleteFreeAndNil para não efetivar nada no banco de dados. Se não ocorrer nenhum problema, o fluxo continuará, sem executar o roolback e assim, executará o CommitFreeAndNil, que é a inserção dos dados, efetivamente, no banco. Veja que criamos uma function, que retorna um boolean, para sabermos se a inserção foi realizada corretamente. Usamos uma variável, que é preenchida como false, pois se ocorrer erro, o retorno deverá ser falso. Preenchemos a variável com true, somente se o fluxo ocorreu corretamente e não gerou erro. Cadastrando uma OS Para finalizar nosso cadastro, vamos codificar o Confirmar na tela de OS, para que chame o método do Data Module, conforme a Listagem 5. Listagem 5. Chamando a inserção da OS if (not cdsitens.active) or (cdsitens.recordcount = 0) then MessageDlg('É necessário incluir peças/serviços para confirmar a Ordem de serviço.', mterror, [mbno], 0) else if DM.InserirOS(nCdOrcamento, ncdveiculo, cdsitens, mmobservacoes.text) then MessageDlg('Registro inserido com sucesso.', mtinformation, [mbno], 0); dsorcamento.dataset. Close; cdsitens.close; end else MessageDlg('Ocorreu um erro. Contate o suporte', mterror, [mbno], 0) Veja que validamos se o ClientDataSet esta ativo ou se existem itens cadastrados. Em caso negativo, emitimos uma mensagem, senão, chamamos a função para inserir. Assim, verificamos se a mesma retornou com sucesso, para emitir a devida mensagem. 12 fevereiro 2012

13 Poderíamos emitir a mensagem retornada para o usuário. Fica a seu critério implementar isso. Execute o projeto e faça um teste (Figura 8). Poderíamos incrementar nosso cadastro, validando os campos Quantidade e Preço. Caso você deseje alterar a ordem de serviço, teríamos que rever a parte do carregamento de itens, onde apenas precisaríamos preencher o cdsitens com as peças/serviços cadastrado no banco. Teríamos que ter também, obviamente, uma pesquisa para que o usuário possa escolher a ordem de serviço que deseja alterar. Para finalizar completamente, após confirmar, precisamos mudar o status do orçamento vinculado a OS. Caso você deseje implementar a funcionalidade de editar os itens da OS, você deve atentar para mudar a lógica referente a status do Orçamento e da OS. Listagem 6. Alterando o status do Orçamento Data module procedure TDM.AlterarStat usorcamento(ncdorcamento: integer); var sql: string; Query: TSQLQuery; sql := 'update ORCAMENTO set nidstatus = 0 where ncdorcamento = ' + IntToStr(nCdOrcamento); Query := TSQLQuery. Create(nil); try Query.SQLConnection := SysCar; Query.SQL.Clear; Query.SQL.Add(sql); Query.ExecSQL(); finally Query.Free; Formulário da OS... MessageDlg('Registro inserido com sucesso.', mtinformation, [mbno], 0); DM.AlterarStatusOrcamento(nCdOrcamento);... Figura 8. Salvando uma ordem de serviço que se refere a cadastros, pois já implementamos os principais. Criamos os cadastros que podemos chamar de auxiliares (cliente, peças e veículos), pois eles abastecem os cadastros principais, bem como os cadastros que são os principais (orçamento e ordem de serviço) do nosso projeto. Luciano Pimenta Sobre o autor É Técnico em Processamento de Dados, desenvolvedor Delphi/C# para aplicações Web com ASP.NET e Windows com Win32 e Windows Forms. Palestrante da 4ª edição da Borland Conference (BorCon). Autor de mais de 60 artigos e de mais de 300 vídeos aulas publicadas em revistas e sites especializados. É consultor da FP2 Tecnologia (www.fp2.com.br) onde ministra cursos de programação e banco de dados. É desenvolvedor da Paradigma Web Bussiness em Florianópolis-SC. No próximo e último artigo, vamos finalizar o projeto com a parte de relatórios, onde criaremos listagens, relatórios com parâmetros etc. Um grande abraço a todos e até a próxima! Conclusões Finalizamos neste artigo a nossa aplicação no fevereiro

14 Android Criando uma tela de Venda Neste artigo montaremos uma tela simples de venda de produtos, no nosso caso utilizaremos como exemplo o The Club. A intenção desta matéria é de trabalhar com alguns componentes, mostrando suas funcionalidades na prática e algumas classes úteis ao decorrer do desenvolvimento deste artigo. Eu considero este tipo de assunto um passo importante para quem está começando a trabalhar com o Sistema Android, para quem não sabe, programação em Android nada mais é que uma mistura do XML com o Java. Portanto, especificamente neste artigo trabalharemos com o XML e programaremos alguma coisa em Java, a fim de possibilitar um aprendizado fácil e intuitivo. Conceitos Básicos e Essenciais 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. A primeira tela que vemos quando estamos criando um projeto em Android é a clássica telinha Hello World, que todo mundo já está careca de saber e montar como primeiro projeto de exemplo. Mas explicarei alguns detalhes interessantes em relação da mesma, para isto clique em seu código XML e teremos um idêntico com este abaixo: <?xml version= 1.0 encoding= utf-8?> <LinearLayout xmlns:android= 14 fevereiro 2012

15 schemas.android.com/apk/res/android android:orientation= vertical android:layout_width= fill_parent android:layout_height= fill_parent > <TextView android:layout_width= fill_parent android:layout_height= wrap_content /> </LinearLayout> <string name= hello >Hello World!</string> <string name= app_name >Vendas The Club</string> </resources> Figura 02: Hierarquia de Componentes Utilizados. Bem, como este não é nosso primeiro projeto, esta variável hello não será utilizada, portanto podemos excluí-la tanto de nossa tela de recursos quanto na tela principal. Figura 01: Recursos no Sistema Android. Pergunta: O que seria a na linha string/hello? Resposta: É uma referência que temos no nosso arquivo de recursos strings.xml encontrado no caminho /res/values. Para entendermos melhor dê um clique no mesmo e verá uma tela parecida com a Figura 01. Temos aqui uma tela de recursos para o Sistema Android, ou seja, podemos mudar nosso valor da variável hello ou da app_name que seria o título de nosso exemplo. Em Resources Elements temos vários elementos que podemos trabalhar e explorar nos possibilitando a criação e manipulação de variáveis muito úteis ao decorrer de nossa necessidade. Neste mesmo artigo criaremos uma do tipo Array que iremos aprender um pouco mais adiante. É importante também ter em mente que podemos realizar este trabalho por XML, veja o código equivalente a Figura 01. <?xml version= 1.0 encoding= utf-8?> <resources> Criando uma interface gráfica Para construirmos nossa tela, é obrigatório saber que o primeiro componente que devemos inserir na tela são os denominados Layouts, os quais definem a orientação da inserção dos componentes na tela. Ele pode ser encontrado na paleta com o mesmo nome. Os mais utilizados são: LinearLayout(Vertical): Possibilita a disposição vertical dos componentes da tela. Exemplo: <LinearLayout android:orientation= vertical > <LinearLayout> LinearLayout(Horizontal): Possibilita a disposição horizontal dos componentes da tela. Exemplo: <LinearLayout android:orientation= horizontal > <LinearLayout> fevereiro

16 A tela de venda possuirá a seguinte estrutura: Nome Cliente Cidade Estado Produtos o The Club Lite (Delphi) o The Club Lite (C#,.NET) o The Club Professional o The Club Student Botão Efetuar Compra Para obtermos um resultado legal trabalharemos corretamente com os componentes de Layouts acima descritos. Por padrão nosso projeto é criado com um LinearLayout(Vertical). A descrição dos componentes utilizados e a disposição em nossa tela principal. Veja a Figura 02 para melhores detalhes. É importante entender o funcionamento destes dois principais tipos de componentes de layouts, pois é possível manejá-los da forma que desejar, colocando um dentro do outro, entre outros tipos de configurações. Podemos conferir o código XML correspondente abaixo: <?xml version= 1.0 encoding= utf-8?> <LinearLayout xmlns:android= schemas.android.com/apk/res/android android:orientation= vertical android:layout_width= fill_parent android:layout_height= fill_parent > <LinearLayout android:layout_ height= wrap_content android:orientation= vertical android:layout_width= wrap_content > <TextView android:layout_ width= wrap_content android:text= Nome Cliente: android:layout_height= wrap_ content ></TextView> <EditText android:layout_ width= 316dp android:layout_height= wrap_ content ></EditText> </LinearLayout> <LinearLayout android:layout_ height= wrap_content android:layout_width= match_parent android:orientation= horizontal > <LinearLayout android:layout_ height= match_parent android:orientation= vertical android:layout_width= wrap_content > <TextView android:layout_ width= wrap_content android:layout_height= wrap_ content android:text= Cidade ></TextView> <EditText edtcidade android:layout_height= wrap_ content android:layout_width= 206dp ></ EditText> </LinearLayout> <LinearLayout android:layout_ height= match_parent android:orientation= vertical android:layout_width= match_ parent > <TextView android:layout_ width= wrap_content android:layout_height= wrap_ content android:text= Estado ></TextView> <Spinner spnestado android:layout_height= wrap_ content android:layout_width= match_ parent ></Spinner> </LinearLayout> </LinearLayout> <TextView android:textappearance=?and roid:attr/textappearancemedium android:layout_height= wrap_ content android:text= PRODUTOS android:layout_width= wrap_content 16 fevereiro 2012

17 android:layout_gravity= center ></ TextView> <RadioGroup xmlns:android= android.com/apk/res/android android:orientation= vertical android:layout_width= fill_parent android:layout_height= wrap_ content > <RadioButton rblitedelphi android:layout_width= wrap_content android:layout_height= wrap_content android:text= The Club Lite (Delphi) - R$ 59,90 ></RadioButton> <RadioButton rblitec android:layout_width= wrap_content android:layout_height= wrap_ content android:text= The Club Lite (C#,. NET) - R$ 59,90 ></RadioButton> <RadioButton rbprofessional android:layout_width= wrap_content android:layout_height= wrap_ content android:text= The Club Professional - R$ 88,00 ></RadioButton> <RadioButton rbstudent android:layout_width= wrap_content android:layout_height= wrap_ content android:text= The Club Student - R$ 25,00 ></RadioButton> </RadioGroup> <Button android:layout_height= wrap_content android:layout_width= match_parent android:text= Efetuar Venda ></Button> </LinearLayout> O componente Spinner é parecido com o Combobox do Delphi, ou seja, podemos armazenar uma lista de Strings nele. Neste caso armazenaremos via XML todos os estados do Brasil, para isto acesse o caminho \values\strings.xml e adicionaremos uma variável do tipo Array. Podemos fazer isto via código XML ou utilizando a interface gráfica. Veja abaixo o XML correspondente: <string-array name= uf > <item >AC </item> <item >AL </item> <item >AM </item> <item >BA </item> <item >CE </item> <item >ES </item> <item >GO </item> <item >MA </item> <item >MT </item> <item >MS </item> <item >MG </item> <item >PA </item> <item >PB </item> <item >PR </item> <item >PE </item> <item >PI </item> <item >RJ </item> <item >RN </item> <item >RS </item> <item >RO </item> <item >RR </item> <item >SC </item> <item >SP </item> <item >SE </item> <item >TO </item> </string-array> Prontinho... Criamos agora mais um recurso no Android que poderá ser utilizado em qualquer tela que precisarmos, não é legal? Para carregarmos estes recursos utilizamos a função entries, veja abaixo o XML completo deste componente. Podemos rodar o exemplo e teremos uma tela parecida com a da Figura 03 Devemos dar uma atenção especial no componente RadioButton em conjunto com o RadioGroup, ele nos possibilita a criação de um grupo que permite apenas selecionar um tipo de Produto, que no nosso caso específico é o que devemos fazer. <Spinner android:layout_height= wrap_ content android:layout_ width= match_parent > </Spinner> fevereiro

18 Criando uma classe para armazenar os registros Para guardar nossos dados em memória deveremos criar uma classe para esta finalidade e consequentemente aprenderemos como criar uma classe no Java. Para isto clique com o botão direito no pacote Pct.Tela_Venda_Artigo localizado no diretório / src e escolha new/class e deixe e escolha o Nome Registro. Ver Figura 04. Adicionaremos algumas variáveis para armazenar o registro, sendo três do tipo string cliente, cidade e estado e uma do tipo inteiro para o curso escolhido, sendo: 1 - The Club Lite (Delphi) 2 - The Club Lite (C#,.NET) 3 - The Club Professional 4 - The Club Student Código correspondente: package Pct.Tela_Venda_Artigo; public class Registro Figura 03: Tela de Vendas. { String cliente, cidade, estado; int curso; } Codificando o Botão Efetuar Compra O primeiro passo é abrir o arquivo principal.java, localizado em /src/pct. Tela_Venda_Artigo. Importaremos a classe Widget para criarmos nossas variáveis. Import android.widget; O código comentado ficou da seguinte maneira: public class Tela_Venda_ArtigoActivity extends Activity { //Variáveis que serão úteis no exemplo RadioGroup rgcursos; Figura 04: Criando uma classe Registro. RadioButton rblitedelphi, rblitec, rbprofessional, rbstudent; TextView txtcliente, txtcidade, txtestado; Spinner spestado; Button btefetuar; 18 fevereiro 2012

19 @Override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); //Fazendo o denominado casting dos componentes utilizados rgcursos = (RadioGroup) findviewbyid(r.id.rgcursos); rblitedelphi = (RadioButton) findviewbyid(r.id.rblitedelphi); rblitec = (RadioButton) findviewbyid(r.id.rblitec); rbprofessional = (RadioButton) findviewbyid(r.id.rbprofessional); rbstudent = (RadioButton) findviewbyid(r.id.rbstudent); txtcliente = (TextView) findviewbyid(r.id.edtcliente); txtcidade = (TextView) findviewbyid(r.id.edtcidade); spestado = (Spinner) findviewbyid(r.id.spnestado); btefetuar = (Button) findviewbyid(r.id.btnefetuar); //Acionar o evento setonclicklistener para o botão Efetuar btefetuar.setonclicklistener(new View.OnClickListener() public void onclick(view arg0) { //Instanciar a classe Registro para atribuir os dados digitados pelo usuário Registro reg = new Registro(); reg.cliente = txtcliente.gettext().tostring(); reg.cidade = txtcidade. gettext().tostring(); reg.estado = spestado. getselecteditem().tostring(); //Utilizar o Id do RadioGroup para identificar o tipo de curso switch (rgcursos. getcheckedradiobuttonid()) { case R.id. rblitedelphi : reg.curso = 1; break; : reg.curso = 2; case R.id.rbLiteC break; case R.id. rbprofessional : reg.curso = 3; break; case R.id. rbstudent : reg.curso = 4; break; } //Utilização da Classe Builder para emitirmos um Alerta ao usuário MensagemAlerta( Resultado, Venda Efetuada com sucesso! + \n Cliente: + reg. cliente + \n + Cidade: + reg. cidade + / Estado: + reg. estado + \n + Cód. Curso: + reg.curso); } }); } //Implementação de uma função genérica para utilizar no nosso projeto public void MensagemAlerta(String titulo, String corpo) { AlertDialog.Builder inforesultado = new AlertDialog.Builder(Tela_Venda_ ArtigoActivity.this); inforesultado.settitle(titulo); inforesultado.setmessage(corpo); inforesultado.setneutralbutton( Ok,null); inforesultado.show(); } fevereiro

20 Conclusão Este artigo nos demonstrou várias ideias e conceitos em relação ao Sistema Android. Como sabemos que é uma mistura de XML com o Java, primeiramente exploramos os denominados resources com exemplos e utilizações práticas do mesmo. Procurei trabalhar com componentes diversificados a fim de proporcionar um melhor aprendizado. Trabalhei em cima do evento setonclicklistener para finalmente explorar um pouco da classe Builder que é muito utilizada. Como se trata de um exemplo prático foi criado uma classe para armazenar os registros e futuramente consultá-los ou até mesmo gravar em uma base de dados. Espero que vocês estejam gostando desta série de Artigos de Android, vou ficando por aqui, um forte abraço e até o mês que vem! Sobre o autor Thiago Cavalheiro Montebugnoli Thiago Cavalheiro Montebugnoli é tecnólogo, formado pela Faculdade de Tecnologia de Botucatu SP (FATEC) foi consultor técnico do The Club, já desenvolveu softwares utilizando a plataforma.net, Delphi junto com Banco de Dados SQL Server e Firebird. Atualmente trabalha no Centro de Processamento de Dados da Prefeitura Municipal de Itaí-SP. Possui as seguintes certificações: MCP - Microsoft Certified Professional, MCTS - Microsoft Certified Technology Specialist, MCAD - Microsoft Certified Application Developer e MCSD - Microsoft Certified Solution Developer. 20 fevereiro 2012

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

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

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

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

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

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

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

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

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

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

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

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

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

Sistema básico de cadastro em Delphi com banco de dados InterBase.

Sistema básico de cadastro em Delphi com banco de dados InterBase. Sistema básico de cadastro em Delphi com banco de dados InterBase. Nesta apostila vamos abordar o uso do banco de dados Interbase e o acesso nativo com os componentes da paleta InterBase do Delphi, eu

Leia mais

Entradas Digitais. PdP. Autores: Luís Fernando Patsko e Tiago Lone Nível: Intermediário Criação: 27/12/2005 Última versão: 18/12/2006

Entradas Digitais. PdP. Autores: Luís Fernando Patsko e Tiago Lone Nível: Intermediário Criação: 27/12/2005 Última versão: 18/12/2006 TUTORIAL Entradas Digitais Autores: Luís Fernando Patsko e Tiago Lone Nível: Intermediário Criação: 27/12/2005 Última versão: 18/12/2006 PdP Pesquisa e Desenvolvimento de Produtos http://www.maxwellbohr.com.br

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

Neste capítulo discutiremos o que é uma DLL, seus aspectos e tipos e ainda, porquê é tão importante para as aplicações Windows

Neste capítulo discutiremos o que é uma DLL, seus aspectos e tipos e ainda, porquê é tão importante para as aplicações Windows DINAMIC LINK LIBRARIES Capítulo 7 Neste capítulo discutiremos o que é uma DLL, seus aspectos e tipos e ainda, porquê é tão importante para as aplicações Windows O QUE É UMA DLL? Dinamic Link Libraries

Leia mais

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

ETEC DR. EMÍLIO HENRNANDEZ AGUILAR PROGRAMAÇÃO DE COMPUTADORES I PROFESSOR RAFAEL BARRETO ETEC DR. EMÍLIO HENRNANDEZ AGUILAR PROGRAMAÇÃO DE COMPUTADORES I PROFESSOR RAFAEL BARRETO DELPHI - UTILIZANDO OPENDIALOG PARA ARMAZENAR IMAGENS EM BANCO DE DADOS Criaremos uma solução simples para criar

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

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

Prof. Omero, pág. 63. Banco de Dados InterBase.

Prof. Omero, pág. 63. Banco de Dados InterBase. Prof. Omero, pág. 63 O que é o InterBase? O InterBase é um SGBDR - Sistema Gerenciador de Banco de Dados Cliente/Servidor Relacional 1 que está baseado no padrão SQL ANSI-9, de alta performance, independente

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

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

Escrito por Neri Neitzke Qua, 12 de Outubro de 2011 21:40 - Última atualização Seg, 26 de Março de 2012 03:50

Escrito por Neri Neitzke Qua, 12 de Outubro de 2011 21:40 - Última atualização Seg, 26 de Março de 2012 03:50 Preço R$ 129.00 Compre aqui Finalmente um ótimo curso de Android no Brasil - Clique aqui para ver o cronograma das aulas - Clique aqui para ver as imagens deste curso - Clique aqui para ver algumas videoaulas

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

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

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

Projeto Supermercado - Manutenção

Projeto Supermercado - Manutenção OBJETIVO: Este projeto possibilitará fazer a manutenção dos dados das tabelas que compõem todo o Sistema. Didaticamente, ele permite ao programador iniciante ter os primeiros contatos com os objetos de

Leia mais

Desenvolvimento com Android Studio. Aula 02 Widgets, Manipulação de Dados e Programação de Eventos

Desenvolvimento com Android Studio. Aula 02 Widgets, Manipulação de Dados e Programação de Eventos Desenvolvimento com Android Studio Aula 02 Widgets, Manipulação de Dados e Programação de Eventos Widgets TextView O Widget TextView é utilizado para apresentar um texto não editável na tela. Qualquer

Leia mais

Adicionando Propriedades e Funcionalidades aos Componentes Parte II

Adicionando Propriedades e Funcionalidades aos Componentes Parte II Adicionando Propriedades e Funcionalidades aos Componentes Parte II Quantas vezes eu não lamentei por este componente não ter uma propriedade que guardasse uma lista paralela a lista que é mostrada em

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

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

Uma vez no form, dê um clique duplo sobre o objeto e insira a tela conforme abaixo. Não esqueça do & e das teclas de atalho.

Uma vez no form, dê um clique duplo sobre o objeto e insira a tela conforme abaixo. Não esqueça do & e das teclas de atalho. Exercício 03 Construir um programa em Delphi com um menu, cadastrando informações de clientes de um banco, conforme tela abaixo. Para tal, inserir, na paleta Standard clicar em menu. Uma vez no form, dê

Leia mais

MÓDULOS GAVETEIROS MGI-20/MGI-40 AC MGI 2000 AC. Manual de Instruções

MÓDULOS GAVETEIROS MGI-20/MGI-40 AC MGI 2000 AC. Manual de Instruções MÓDULOS GAVETEIROS MGI-20/MGI-40 AC MGI 2000 AC Manual de Instruções Leia com Atenção Cód. Menno: 833020001 Rev.: 7 1. Apresentação A linha tradicional de módulos gaveteiros da MENNO sempre foi direcionada

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

Manual de Instalação e Configuração do SQL Express

Manual de Instalação e Configuração do SQL Express Manual de Instalação e Configuração do SQL Express Data alteração: 19/07/11 Pré Requisitos: Acesse o seguinte endereço e faça o download gratuito do SQL SRVER EXPRESS, conforme a sua plataforma x32 ou

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

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

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

Manual de Instalação e Configuração e Configuração MyABCM 4.0 Versão 4.00-1.00 2 Copyright MyABCM. Todos os direitos reservados Reprodução Proibida Índice Introdução... 5 Arquitetura, requisitos e cenários de uso do MyABCM... 7 Instalação

Leia mais

Criando Banco de Dados, Tabelas e Campos através do HeidiSQL. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011

Criando Banco de Dados, Tabelas e Campos através do HeidiSQL. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011 Criando Banco de Dados, Tabelas e Campos através do HeidiSQL Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011 Edição 2 Pedreiros da Informação Criando Banco de Dados, Tabelas e Campos através do HeidiSQL

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

Delphi IDE. Jocélio Passos joceliodpassos@bol.com.br. Delphi - IDE. Integrad Development Enviroment Ambiente de Desenvolvimento Integrado

Delphi IDE. Jocélio Passos joceliodpassos@bol.com.br. Delphi - IDE. Integrad Development Enviroment Ambiente de Desenvolvimento Integrado Delphi Integrad Development Enviroment Ambiente de Desenvolvimento Integrado IDE Jocélio Passos joceliodpassos@bol.com.br Iniciar Programas Borland Delphi X Delphi X 2/2/2007 2 Primeiro Projeto Menu File

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

COMPONENTES DA BIBLIOTECA ZEOSLIB. Paleta Zeos Access no Lazarus. TZConnection

COMPONENTES DA BIBLIOTECA ZEOSLIB. Paleta Zeos Access no Lazarus. TZConnection COMPONENTES DA BIBLIOTECA ZEOSLIB Paleta Zeos Access no Lazarus TZConnection É o componente que estabelece a conexão com o banco de dados e possui a capacidade de manipular ou controlar transações. Todo

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

Display de Cristal Líquido

Display de Cristal Líquido TUTORIAL Display de Cristal Líquido Autor: Tiago Lone Nível: Básico Criação: 09/03/2006 Última versão: 18/12/2006 PdP Pesquisa e Desenvolvimento de Produtos http://www.maxwellbohr.com.br contato@maxwellbohr.com.br

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

User Manager 1.0. edtusuario Nome do novo Usuário a ser criado edtsenha Senha do novo usuário Label

User Manager 1.0. edtusuario Nome do novo Usuário a ser criado edtsenha Senha do novo usuário Label Montando o Código: User Manager 10 Neste artigo vou abordar um pequeno problema que temos normalmente com nossos usuários, a criação de usuários e senhas para Interbase e Firebird, a demanda de trabalho

Leia mais

Structure Query Language SQL Guilherme Pontes lf.pontes.sites.uol.com.br

Structure Query Language SQL Guilherme Pontes lf.pontes.sites.uol.com.br 1. Abordagem geral Structure Query Language SQL Guilherme Pontes lf.pontes.sites.uol.com.br Em primeiro plano, deve-se escolher com qual banco de dados iremos trabalhar. Cada banco possui suas vantagens,

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

SIGEP WEB - Gerenciador de Postagens dos Correios Manual do Usuário

SIGEP WEB - Gerenciador de Postagens dos Correios Manual do Usuário MANUAL DO USUÁRIO 2 ÍNDICE 1. PRÉ REQUISITOS PARA UTILIZAÇÃO DO SIGEP WEB 04 2. PROCEDIMENTOS PARA DOWNLOAD DO SISTEMA 04 3. INSTALANDO O SIGEP WEB 07 4. CONFIGURAÇÕES DO SISTEMA 09 COMPARTILHANDO O BANCO

Leia mais

Adicionando Propriedades e Funcionalidades aos Componentes

Adicionando Propriedades e Funcionalidades aos Componentes Adicionando Propriedades e Funcionalidades aos Componentes Você já não precisou de uma determinada propriedade (que não foi implementada) num componente? Por exemplo: Quem nunca precisou de uma propriedade

Leia mais

DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO. PROFa. GILENE BORGES GOMES. Home page: http://www.gomeshp.com E-mail: gilene@gomeshp.com

DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO. PROFa. GILENE BORGES GOMES. Home page: http://www.gomeshp.com E-mail: gilene@gomeshp.com APOSTILA DE DELPHI 7.0 DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO. PROFa. GILENE BORGES GOMES. Home page: http://www.gomeshp.com E-mail: gilene@gomeshp.com 1. INTRODUÇÃO Delphi possui um ambiente de desenvolvimento

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

CRIAÇÃO DE RELATÓRIOS EM DELPHI

CRIAÇÃO DE RELATÓRIOS EM DELPHI PROGRAMAÇÃO DE COMPUTADORES II PROFESSOR RAFAEL BARRETO CRIAÇÃO DE RELATÓRIOS EM DELPHI Relatórios são tão importantes quanto as consultas, com a vantagem de poder imprimir os valores armazenados nos Bancos

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

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

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

Índice. Tutorial para Desenvolvimento de Conduits em Delphi

Índice. Tutorial para Desenvolvimento de Conduits em Delphi Índice Índice...1 Desenvolvendo Conduits...2 (Passo a Passo)...2 Criando um Arquivo.mdb... 2 Arquivos...6 Instalando os componentes... 7 Recompilando os Comonentes do Delphi...13 Configurando a Conexão

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

MANUAL PARA USO DO SISTEMA GCO Gerenciador Clínico Odontológico

MANUAL PARA USO DO SISTEMA GCO Gerenciador Clínico Odontológico MANUAL PARA USO DO SISTEMA GCO Gerenciador Clínico Odontológico O GCO é um sistema de controle de clínicas odontológicas, onde dentistas terão acesso a agendas, fichas de pacientes, controle de estoque,

Leia mais

A multimídia para ambiente Windows foi desenvolvida a poucos anos atrás e hoje é lugar comum, nesta seção discutimos alguns itens genéricos.

A multimídia para ambiente Windows foi desenvolvida a poucos anos atrás e hoje é lugar comum, nesta seção discutimos alguns itens genéricos. MULTIMÍDIA Capítulo 8 Neste capítulo apresentaremos alguns elementos de multimídia, tais como: sons e vídeos e também como utilizar os recursos usando o controle de multimídia do ambiente Delphi. O Delphi

Leia mais

Acesso à Dados ZEOS x Delphi. Professor Anderson

Acesso à Dados ZEOS x Delphi. Professor Anderson Acesso à Dados ZEOS x Delphi Professor Anderson Introdução O ZEOS é uma biblioteca que provê o acesso à uma base de dados em MYSQL. Através dessa Library, podemos realizar operações de manipulação da base

Leia mais

SQL Server Triggers Aprenda a utilizar triggers em views e auditar as colunas atualizadas em uma tabela

SQL Server Triggers Aprenda a utilizar triggers em views e auditar as colunas atualizadas em uma tabela SQL Server Triggers Aprenda a utilizar triggers em views e auditar as colunas atualizadas em uma tabela Certamente você já ouviu falar muito sobre triggers. Mas o quê são triggers? Quando e como utilizá-las?

Leia mais

Framework InterLattes Construção de Módulos. Marcelo Domingos

Framework InterLattes Construção de Módulos. Marcelo Domingos Construção de Módulos Marcelo Domingos Sumário 1 INTRODUÇÃO... 3 2 PRÉ-REQUISITOS... 5 2.1 Perfil da equipe... 5 2.2 Infra-estrutura... 5 3 TECNOLOGIA... 6 4 AÇÕES E EVENTOS INTERLATTES... 12 4.1 Eventos

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

Tutorial de Computação Robô Bípede Programa de Controle em Delphi v2010.10

Tutorial de Computação Robô Bípede Programa de Controle em Delphi v2010.10 Tutorial de Computação Robô Bípede Programa de Controle em Delphi v2010.10 Linha de Equipamentos MEC Desenvolvidos por: Maxwell Bohr Instrumentação Eletrônica Ltda. Rua Porto Alegre, 212 Londrina PR Brasil

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

Android Banco de Dados. Ivan Nicoli

Android Banco de Dados. Ivan Nicoli Android Banco de Dados Ivan Nicoli SQLite O Android tem suporte ao SQLite (http://www.sqlite.org), um leve e poderoso banco de dados. Cada aplicação pode criar um ou mais banco de dados, que ficam localizados

Leia mais

Instalando o Lazarus e outros sistemas de suporte. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011

Instalando o Lazarus e outros sistemas de suporte. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011 Instalando o Lazarus e outros sistemas de suporte Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011 Edição 1 Levante e ande - Instalando o Lazarus e outros sistemas de suporte. Ano: 02/2011 Nesta Edição

Leia mais

Curso Básico de Delphi Por Edwar Saliba Júnior. Índice:

Curso Básico de Delphi Por Edwar Saliba Júnior. Índice: Índice: - Escopo... 3 - Apresentação e Introdução ao Delphi... 4 o Exemplo_1 (Projeto ShowMessage)... 4 - Conceitos Básicos da Linguagem Obejct Pascal... 6 o Exemplo_2 (Projeto Frase)... 7 o Exemplo_3

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

Centro Universitário do Triângulo Introdução ao Ambiente Delphi

Centro Universitário do Triângulo Introdução ao Ambiente Delphi Centro Universitário do Triângulo Introdução ao Ambiente Delphi A figura abaixo mostra a tela inicial do Delphi 7 e nos dá uma visão geral de seu ambiente de desenvolvimento, composto de múltiplas janelas

Leia mais

Introdução a Banco de Dados em Delphi

Introdução a Banco de Dados em Delphi Introdução a Banco de Dados em Delphi Daniela Caio André Gomes Roberto Scalco 2013 3 Sumário CAPÍTULO 1 ELEMENTOS DE UM BANCO DE DADOS... 4 1. O ARQUIVO DADOS... 4 2. CONCEITOS BÁSICOS DE BANCOS DE DADOS...

Leia mais

Curso de Delphi Projeto de Sistema. SISLFV Sistema de Locação de Fitas de Vídeo

Curso de Delphi Projeto de Sistema. SISLFV Sistema de Locação de Fitas de Vídeo Curso de Delphi Projeto de Sistema SISLFV Sistema de Locação de Fitas de Vídeo Jackson Pires de Oliveira Santos Júnior 2002 - 1 - Curso de Delphi Projeto de Sistema - 1º Passo (Iniciando o Projeto) - 1)

Leia mais

Introdução ao Sistema. Características

Introdução ao Sistema. Características Introdução ao Sistema O sistema Provinha Brasil foi desenvolvido com o intuito de cadastrar as resposta da avaliação que é sugerida pelo MEC e que possui o mesmo nome do sistema. Após a digitação, os dados

Leia mais

Configuração de NFe. Acesse o módulo Administrativo.

Configuração de NFe. Acesse o módulo Administrativo. Configuração de NFe Para definir as configurações (Parâmetros) de cada empresa ou filial cadastrada no sistema para envios de NF-e, proceda da seguinte forma: Acesse o módulo Administrativo. Clique no

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

Introdução. Nesta guia você aprenderá:

Introdução. Nesta guia você aprenderá: 1 Introdução A criação de uma lista é a primeira coisa que devemos saber no emailmanager. Portanto, esta guia tem por objetivo disponibilizar as principais informações sobre o gerenciamento de contatos.

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

SISTEMA EXPERIMENTALL 15/11/2009. Olá! A partir de agora vamos conhecer a IDE NetBeans 6.7.1 efetuando um micro projeto swing.

SISTEMA EXPERIMENTALL 15/11/2009. Olá! A partir de agora vamos conhecer a IDE NetBeans 6.7.1 efetuando um micro projeto swing. 15/11/2009 Olá! A partir de agora vamos conhecer a IDE NetBeans 6.7.1 efetuando um micro projeto swing. Crie um novo projeto clicando em arquivo e em novo projeto. Escolha a opção java, aplicativo java

Leia mais

Programação para a Plataforma Android Aula 11. Banco de Dados

Programação para a Plataforma Android Aula 11. Banco de Dados Programação para a Plataforma Android Aula 11 Banco de Dados Introdução a linguagem SQL O banco de dados SQLite Como criar e manipular um banco de dados em Android Como apresentar dados na tela do aparelho

Leia mais

SSE 3.0 Guia Rápido Parametrizando o SISTEMA DE SECRETARIA Nesta Edição Configurando a Conexão com o Banco de Dados

SSE 3.0 Guia Rápido Parametrizando o SISTEMA DE SECRETARIA Nesta Edição Configurando a Conexão com o Banco de Dados SSE 3.0 Guia Rápido Parametrizando o SISTEMA DE SECRETARIA Nesta Edição 1 Configurando a Conexão com o Banco de Dados 2 Primeiro Acesso ao Sistema Manutenção de Usuários 3 Parametrizando o Sistema Configura

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

Coleção de Dicas sobre programação Delphi. Retiradas do E-Zine Grandes Dicas em Delphi

Coleção de Dicas sobre programação Delphi. Retiradas do E-Zine Grandes Dicas em Delphi Coleção de Dicas sobre programação Delphi. Retiradas do E-Zine Grandes Dicas em Delphi Por Ramos de Souza Janones www.ramosdainformatica.com.br 1 Índice 1 Índice... 2 Descobrindo o código ASCII de uma

Leia mais

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza ROTEIRO Introdução App de exemplo Implementação do exemplo Testes realizados

Leia mais

MANUAL DO ADMINISTRADOR DO MÓDULO

MANUAL DO ADMINISTRADOR DO MÓDULO MANUAL DO ADMINISTRADOR DO MÓDULO ÍNDICE Relatórios Dinâmicos... 3 Requisitos de Sistema... 4 Estrutura de Dados... 5 Operadores... 6 Tabelas... 7 Tabelas x Campos... 9 Temas... 13 Hierarquia Relacionamento...

Leia mais

SUMÁRIO 1. AULA 7 INTRODUÇÃO À REDES PONTO A PONTO = PARTE 1:... 2

SUMÁRIO 1. AULA 7 INTRODUÇÃO À REDES PONTO A PONTO = PARTE 1:... 2 SUMÁRIO 1. AULA 7 INTRODUÇÃO À REDES PONTO A PONTO = PARTE 1:... 2 1.1 Introdução... 2 1.2 Montando Redes Ponto-a-Ponto... 3 1.2.1 Parte lógica... 3 1.2.2 Escolhendo o sistema operacional... 3 1.2.3 Instalação

Leia mais

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza ROTEIRO Introdução App de exemplo Implementação do exemplo Testes realizados

Leia mais

Conteúdo O que é?... 4 Histórico... 4 Onde Baixar?... 4 Diferença entre Firebird e o Interbase... 4 Como instalar?... 4 Instalando o Ibexpert...

Conteúdo O que é?... 4 Histórico... 4 Onde Baixar?... 4 Diferença entre Firebird e o Interbase... 4 Como instalar?... 4 Instalando o Ibexpert... Apostila FIREBIRD 1 Firebird Equipe: BARBARA CAROLINE SOUZA DE OLIVEIRA Nº 04 GUILHERME ROBERTO PINTO DE SOUZA Nº 16 JOSÉ ROSA MARTINS NETO Nº 22 RAFAEL ALVES DE SOUSA Nº 36 WELLINGTON COSTA SANTOS OLIVEIRA

Leia mais

UTILIZANDO CÓDIGO JAVA EM BANCO DE DADOS ORACLE

UTILIZANDO CÓDIGO JAVA EM BANCO DE DADOS ORACLE bd oracle_ UTILIZANDO CÓDIGO JAVA EM BANCO DE DADOS ORACLE Como criar procedimentos e funções em banco de dados Oracle utilizando Java O SGBD (Sistema de Gerenciamento de Banco de Dados) da Oracle possui,

Leia mais

Apresentação de um Processo Cria4vo de Desenvolvimento de uma App Android. Realização de Dinâmica Hands- On para Construção de uma App Android

Apresentação de um Processo Cria4vo de Desenvolvimento de uma App Android. Realização de Dinâmica Hands- On para Construção de uma App Android Apresentação de um Processo Cria4vo de Desenvolvimento de uma App Android Realização de Dinâmica Hands- On para Construção de uma App Android Dr. Eduardo Manuel de Freitas Jorge, PMP Realização de Dinâmica

Leia mais

Desenvolvendo Aplicações Web com NetBeans

Desenvolvendo Aplicações Web com NetBeans Desenvolvendo Aplicações Web com NetBeans Aula 3 Cap. 4 Trabalhando com Banco de Dados Prof.: Marcelo Ferreira Ortega Introdução O trabalho com banco de dados utilizando o NetBeans se desenvolveu ao longo

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

Neste capítulo, vamos utilizar as funções de API para o serviço de FTP, que permitirá o acesso a uma máquina remota para enviar arquivos.

Neste capítulo, vamos utilizar as funções de API para o serviço de FTP, que permitirá o acesso a uma máquina remota para enviar arquivos. Capítulo 11 Transmissão do arquivo de pedidos por FTP Neste capítulo, vamos utilizar as funções de API para o serviço de FTP, que permitirá o acesso a uma máquina remota para enviar arquivos. FTP File

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

Evitando conflitos em aplicações multi-thread no Delphi/Kylix

Evitando conflitos em aplicações multi-thread no Delphi/Kylix LABORATÓRIO DE ORIENTAÇÃO A OBJETOS - OOLAB Evitando conflitos em aplicações multi-thread no Delphi/Kylix Edmilson dos Santos de Jesus Salvador, março de 2002. ÍNDICE Agradecimentos............ 2 Aplicações

Leia mais

Utilizaremos a última versão estável do Joomla (Versão 2.5.4), lançada em

Utilizaremos a última versão estável do Joomla (Versão 2.5.4), lançada em 5 O Joomla: O Joomla (pronuncia-se djumla ) é um Sistema de gestão de conteúdos (Content Management System - CMS) desenvolvido a partir do CMS Mambo. É desenvolvido em PHP e pode ser executado no servidor

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

SCIM 1.0. Guia Rápido. Instalando, Parametrizando e Utilizando o Sistema de Controle Interno Municipal. Introdução

SCIM 1.0. Guia Rápido. Instalando, Parametrizando e Utilizando o Sistema de Controle Interno Municipal. Introdução SCIM 1.0 Guia Rápido Instalando, Parametrizando e Utilizando o Sistema de Controle Interno Municipal Introdução Nesta Edição O sistema de Controle Interno administra o questionário que será usado no chek-list

Leia mais