Índice. A utilização de Kanban com a metodologia ágil Scrum

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

Download "Índice. A utilização de Kanban com a metodologia ágil Scrum"

Transcrição

1 fevereiro 2009

2 fevereiro 2009

3 Índice Editorial Fábio Câmara Delphi Neste mês de folia dando continuidade ao artigo publicado no mês passado por Alessandro Ferreira levo até vocês a segunda parte do artigo Pacotes: Teoria e Prática - Conhecendo seus benefícios e aplicações A utilização de Kanban com a metodologia ágil Scrum O título Kanban ou SCRUM Board são desconhecidos para a maioria das empresas brasileiras, porém a utilização das técnicas em projetos de software são simples, intuitivas e com resultados positivos verificados nas primeiras semanas. 05 Criando relatório com quebra de grupo no Rave Report Delphi Prism - A nova solução de desenvolvimento.net Pacotes: Teoria e Prática Conhecendo seus benefícios e aplicações - Parte II NET Dicas Delphi Dicas.NET jquery e Microsoft Como deletar uma pasta e todos os seus arquivos Como deletar uma pasta e todos os seus arquivos Legenda 22 Buscar textos em um DB Memo 27 Buscar textos em um DB Memo 28 Desafio The CLub Iniciante Intermediário Avançado Teste seus conhecimentos. 30 fevereiro

4 Bem-vindo Neste mês de folia dando continuidade ao artigo publicado no mês passado por Alessandro Ferreira levo até vocês a segunda parte do artigo Pacotes: Teoria e Prática - Conhecendo seus benefícios e aplicações, onde o leitor poderá se aprofundar ainda mais nos recursos do uso de pacotes no Delphi. No artigo de abertura de nossa revista Fabio Câmara está de volta com seu artigo teórico A utilização de Kanban com metodologia ágil Scrum, o título Kanban ou SCRUM Board são desconhecidos para a maioria das empresas brasileiras, porém a utilização das técnicas em projetos de software é simples, intuitivas e com resultados positivos. Espero que gostem desta abordagem. O consultar técnico do The Club Antonio Spitaleri escreve em nossa revista a respeito da criação de relatórios com quebra de grupos utilizando o gerador de relatório Rave Report. Neste mês o consultar Luiz Alexandre escreve sobre o mais novo lançamento da Embarcadeiro, a solução de desenvolvimento para.net, o recém lançado Delphi Prism, onde neste artigo introdutório o autor mostra as principais características e funcionalidades desta nova ferramenta como também as novidades da linguagem. Na sua coluna mensal Fabiano Belmont finalmente escreve sobre jquery e Microsoft, JQuery como biblioteca de JavaScript open source que será distribuída juntamente com o Visual Studio. Estatisticamente é visível como o numero de solicitações de suporte aumenta sensivelmente após os festejos de carnaval, assim podemos concluir que realmente para alguns o trabalho só começa após esta data. Av. Profº Celso Ferreira da Silva, 190 Jd. Europa - Avaré - SP - CEP Informações: (14) Suporte: (14) Internet Cadastro: Suporte: Informações: Skype Cadastro: theclub_cadastro Skype Suporte: theclub_linha1 theclub_linha2 Copyright The Club Megazine 2008 Diretor Técnico Marcos César Silva Diagramação e Arte Vitor M. Rodrigues Revisão Marcos César Silva Colunistas Antonio Spitaleri Neto Fabiano Belmonte Luís Alexandre de Oliveira Marco Antonio Armando Marcos César Silva Ramos de Souza Janones Impressão e acabamento: GRIL - Gráfica e Editora Rua São Paulo, nº 447 Cep: Taquarituba-SP Tel. (14) 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. Para quem gosta da folia, aproveitem o carnaval, pois depois disto o ano vai começar para valer! Marcos César Silva - Editor Chefe Delphi é marca registrada da Borland International, as demais marcas citadas são registradas pelos seus respectivos proprietários. 04 fevereiro 2009

5 Fábio Câmara A utilização de Kanban com a metodologia ágil SCRUM O título Kanban ou SCRUM Board são desconhecidos para a maioria das empresas brasileiras, porém a utilização das técnicas em projetos de software são simples, intuitivas e com resultados positivos verificados nas primeiras semanas. Introdução a história do Kanban Kanban é uma palavra japonesa que pode significar registro, cartão visível ou etiqueta. A primeira implementação de Kanban foi feita em 1956 por uma pequena indústria japonesa de caminhões chamada Toyota (hoje maior empresa automotiva do mundo), o responsável por essa implementação foi seu principal executivo, o engenheiro Taiichi Ohno. Taiichi Ohno foi muito além de fazer uso Kanban, foi também o principal responsável pelo que hoje conhecemos por Sistema Toyota de Produção. Esse método de produção e automação de processos foi responsável por uma grande quebra de paradigma nos modelos de produção usados pela industria nas automobilistas na Europa e principalmente nos Estados Unidos (para as pessoas que realmente tiverem interesse em se aprofundar neste modelo de produção, nós recomendamos o livro Toyota Production System: beyond large-scale production do próprio Taiichi Ohno). Voltando ao Kanban, essa metodologia desenvolvida por Ohno tem como objetivo administrar os fluxos de produção de uma fábrica através do uso de cartões de sinalização e quadros. Um modelo muito simples e objetivo, onde os cartões eram colocados em quadros indicando onde as peças estavam na linha de produção. Estes cartões e quadro substituíram, na linha de produção da Toyota, o preenchimento de uma serie formulários que acabavam sendo apenas uma burocracia inútil utilizada pelas fábricas. Obviamente isso é apenas uma idéia resumida da metodologia criada Ohno. Esse metodologia é base elementar da filosofia de JUST-IN-TIME na indústria automobilística. Considerando que o objetivo desse artigo não é a história das técnicas de produção da Toyota, apresentaremos o link ¹Por mais que não seja habitual para muitos autores utilizar o termo XP Board, consideramos útil neste artigo para fins de diferenciação entre Kanban, XP Board e SCRUM Board. com projetos de software e metodologias ágeis no próximo tópico. Uso do Kanban em Metodologias Ágeis Uma das primeiras metodologias ágeis a usar o Kanban prática elementar foi o XP (extreme Programming). A idéia principal por trás do XP Board¹ é colocar os cartões com as user stories em um quadro. Conforme os desenvolvedores vão terminando estas user stories, os cartões vão mudando de local no quadro. A proposta é muito interessante porém, em nossa humilde opinião, os cartões com as user stories muitas vezes tornam o quadro muito poluído pelo excesso de informações. Esta questão acaba dificultando a real visibilidade de como estão sendo executadas as tarefas. Outro ponto negativo que destacamos é a relação das user stories com as entregas dos desenvolvedores, isso pode causar certa confusão tanto no time de desenvolvimento como nos outros colaboradores envolvidos no projeto. fevereiro

6 Inspirado nos dois modelos, Kanban e XP Board, alguns técnicos de SCRUM também denominados SCRUM Master adaptaram o uso do Kanban dentro dos seus Sprints. Oportunamente este quadro recebeu o nome de SCRUM Board. Contextualizando SCRUM O principal objetivo deste artigo é explanar um caso prático de utilização de SCRUM Board através do registro das experiências dos autores em cenários de desenvolvimento de software locais (tradicionais, ou seja, todos os membros da equipe no mesmo espaço de trabalho) e cenários com equipes remotas. Consideramos que nosso leitor imaginário² possui conhecimentos básicos de SCRUM, apesar de em nossa mente acreditarmos que este artigo só interessaria a técnicos com conhecimentos mais avançados, possivelmente SCRUM Masters, pois o assunto abordado permite um refinamento produtivo da utilização das técnicas de SCRUM. Conclusivamente, homologamos a necessidade de escrever algumas linhas sobre SCRUM de forma sintética, com foco em bases elementares a compreensão do artigo e a utilização das técnicas. A mudança de paradigma defendida pelo conceitos de SCRUM conflitam entre o modelo cascata de desenvolvimento de projetos (waterfall model) e um novo modelo denominado por muitos autores de modelo de valor (value model). O texto de Hirotaka Takeuchi e Ikujiro Nonaka³ apresenta uma analogia que nos permite esta compreensão entre as diferenças dos modelos: O estilo de corrida de revezamento aplicado ao desenvolvimento de produtos pode conflitar com os objetivos de velocidade e flexibilidade máximas. Ao invés disto, um estilo holístico, onde a equipe busca, como em um jogo de futebol, de forma integrada, chegar ao gol, com passes de bola, pode servir melhor às atuais necessidades competitivas. SCRUM, em sua essência, é um processo ágil que permite manter o foco na entrega do maior ²Definimos como leitor imaginário porque ao escrever o artigo visualizamos o leitor interagindo conosco. Neste exercício abstrato de interação, formalizamos as características de nosso possível leitor. ³Os japoneses Hirotaka Takeuchi e Ikujiro Nonaka utilizaram pela primeira vez o nome SCRUM para uma metodologia de desenvolvimento de projetos em Neste texto entitulado The New New Product Development Game descrevia um tipo de processo de desenvolvimento de produto utilizado no Japão. Considera-se também que o nome SCRUM foi escolhido pela similaridade entre o jogo de Rugby e o tipo de desenvolvimento de produto comentado. Ambos são adaptativos, rápidos e promovem a auto-organização. valor de negócio, no menor tempo possível. Isto permite a rápida e contínua inspeção do software em produção (em intervalos de duas a quatro semanas). Para que isso funcione, serão as necessidades do negócio é que determinam as prioridades do desenvolvimento de um sistema. As equipes se auto-organizam para definir a melhor maneira de entregar as funcionalidades de maior prioridade. Entre cada duas a quatro semanas todos podem ver o real software em produção, decidindo se o mesmo deve ser liberado ou continuar a ser aprimorado por mais um Sprint 4. O ponto forte do sucesso da utilização do SCRUM é a autonomia técnica e a senioridade do SCRUM Master. Podemos definir o SCRUM Master como o participante do projeto comprometido com (ou responsável por): Representa a gerência para o projeto; Responsável pela aplicação dos valores e práticas do SCRUM; Remove obstáculos (retira os impedimentos); Garante a plena funcionalidade e produtividade da equipe; Garante a colaboração entre os diversos papéis e funções; Escudo para interferências externas. 4 Sprint é similar ao conceito de iteração da metodologia XP. É um período de duas a quatro semanas que a equipe de desenvolvimento trabalha com foco total em um plano de entrega de valor de negócio. Montando nosso SCRUM Board O SCRUM é uma metodologia muito dinâmica, como os seus próprios autores definem O Scrum deve respeitar e se adequar a cultura da empresa. Desta forma, não existe uma receita exata de como o SCRUM Board deve ser montado. Nossa recomendação é que você aplique como uma espécie de espelho do seu SDLC (Software Development Life Cycle) 5. Na nossa leitura, recomendamos que você comece com um modelo bem simples como este mostrado abaixo e vá evoluindo com tempo, fazendo customizações conforme a sua necessidade. Neste exemplo dividimos o quadro em três tipos de informações do projeto: veja a tabela. A proposta é ser realmente bem simples. No início de cada Sprint, através de uma a reunião de planejamento (Sprint Planning), são definidas as tarefas que serão executadas conforme os itens listados no Product Backlog. 06 fevereiro 2009

7 Tarefas Planejadas Tarefas em Andamento Tarefas Finalizadas Para cada tarefa, você deve pegar um pequeno cartão, escrever no cartão uma breve descrição da tarefa e o responsável da tarefa no cartão 6. Em seguida, coloque os cartões no quadro na coluna Tarefas Planejadas. Conforme as tarefas começarem a ser desenvolvidas, mova-as para a coluna Tarefas em Andamento. Após os testes dos produtos resultantes de cada tarefa, considerando-a finalizada, coloque o cartão em Tarefas Finalizadas. Certamente isso dará uma boa visibilidade interna a todos os participantes do projeto de como estão os status das tarefas. Apesar de muito simples como proposta técnica, perceba que repetimos em vários lugares neste artigo a palavra simples, de nada 5 Ciclo de vida de desenvolvimento (ou em inglês, SDLC Software Development Life Cycle) significa separar o desenvolvimento de um projeto em fases distintas porém complementares. Em suma, SDLC se propõe a formalizar dentro de uma equipe de projetos fases de construção, processos e normas que facilitarão a previsibilidade e, principalmente, a produtividade que poderão serem medidas nos resultados desta equipe. Não confundir com modelo cascata de desenvolvimento de software. Waterfall model trata da sequência de valores de negócios a serem desenvolvidos, definindo antecessores e sucessores. SDLC formaliza a empresa como um todo, ou seja, para qualquer projeto, com ponto de vista em tecnologia. funcionará se você e sua equipe não promoverem as reuniões diárias SCRUM Daily Meeting. Novamente considerando que nosso leitor imaginário sabe o que é SCRUM, obviamente se conhece os conceitos de SCRUM Daily Meeting. Ressaltaremos, então, somente nossa evidência prática para esta importante reunião em três contextos: parâmetros iniciais, forma e macetes. 1- Parâmetros iniciais: ser realmente diária e durar em média 15 minutos; 2- Forma: todos de pé em frente ao SCRUM Board; 3- Macetes: não é uma reunião para resolver problemas, tenha bastante atenção a este ponto. Convide sempre pessoas válidas ao projeto, independente de serem comprometidos ou envolvidos com o resultado do projeto. É obrigatória a presença da equipe de desenvolvimento (em SCRUM chamado de time), do Product Onwer e do SCRUM Master. É claro que, para funcionar, também o time deve estar comprometido em atualizar o quadro caso contrário as tarefas nunca sairão da coluna Tarefas Planejadas. É importante evangelizar a todos como responsáveis de atualizar o quadro, não é papel do SCRUM Master fazer isso. Podemos utilizar de outra forma, como por exemplo: na primeira coluna da esquerda para 6 Alguns autores defendem que não se deve colocar o nome do responsável por executar a tarefa no cartão. Em conceito esta defesa está fundamentada no princípio time auto-gerenciável e no princípio todos são responsáveis por tudo dentro de um projeto. Na prática, verificamos certa dificuldade de aplicar desta forma e optamos pela atribuição dos responsáveis nos cartões. Desconfiamos que nossa dificuldade foi devido a não uniformidade (equilibrio) de senioridade da equipe deste projeto. a direita ficam os itens que foram retirados do Product Backlog, priorizados sempre pelo que tem maior valor definido pelo Product Owner. Na seqüência estarão às colunas que você achar relevante dentro do seu processo, para exemplificar colocaremos as seguintes colunas Tarefas Planejadas, Tarefas em Andamento, Tarefas Validadas e Tarefas Finalizadas. Dentro das colunas o time de desenvolvimento colocará os cartões com as tarefas. Uma variação muito importante é a utilização de cores nos cartões com as tarefas. Esta é a nossa sugestão de cores e seus significados: 1. Verde para as tarefas simples; 2. Amarela para as tarefas médias; 3. Laranja para as tarefas complexas; 4. Vermelha para tarefas não planejadas ou urgentes que apareceram durante o Sprint. As cores trazem uma mudança interessante para o seu quadro. Chegamos a afirmar que é essêncial a finalidade da proposta técnica pensada por seus criadores. Outro item importante é o preenchimento dos cartões, é importante o time decidir a melhor maneira de preencher os cartões. Nossa sugestão é uma breve descrição da tarefa, como por exemplo: tela de cadastro de clientes, responsável, data de inicio e data término da tarefa. O próprio time junto com o ScrumMaster devem encontrar a melhor forma de escrever os cartões. Informações a mais deixam os cartões poluídos e o time, bem com os demais envolvidos no projeto, perdem a visibilidade da tarefa. Informação de menos pode ser um problema porque ninguém além de quem esta fazendo sabe o que é aquela tarefa. fevereiro

8 Itens do Product Backlog Item A (Prioridade Alta) Item B (Prioridade Media) Item C (Prioridade Baixa) Tarefas Planejadas Outro ponto importante é que o SCRUM Board deve ficar próximo e a vista da equipe de desenvolvimento. Próximo quer dizer na mesma sala, de preferência, de frente para todos. Se isso não ocorrer é bem provável que seu SCRUM Board fique sempre desatualizado. Tarefas em Andamento Tarefas Validadas Tarefas Finalizadas de relatórios gráficos expecíficos que possuem formato similar ao Kanban. Em algumas das empresas que utilizamos esta técnica, instalaram um TV de LCD de 40 polegadas defronte ao time de desenvolvimento mostrando o tempo todo a evolução do relatório gráfico simulando o Kanban; e como preencher o cartão ficam livres ao leitor, apenas reforçamos nossa recomendação de iniciar o mais simples possível e evoluir com as necessidades reais de informação e formalização percebidas durante o projeto. Para saber mais recomendamos os livros: Software Engineering with Visual Studio Team System by Sam Guckenheimer Agile Software Development with SCRUM by Ken Schwaber e Mike Beedle. Agile Management for Software Engineering by David J. Anderson. Agile Project Management by Jim Highsmith Treinamento MSF Agile + SCRUM + Agile Project Management em com.br Utilização do SCRUM Board em equipe remotas No cenário com equipes remotas, temos dois grandes desafios: primeiro a ausência do apelo visual do Kanban como forma de comunicação clara para todos os interessados no projeto. Segundo devido a impossibilidade do acompanhamento do projeto através da técnica de reunião chamada SCRUM Daily Meeting. Em nosso histórico de realizações, resolvemos estes dois pontos da seguinte forma: 1- Kanban eletrônico com a ajuda de ferramentas de ALM (Application Lifecycle Management), no nosso caso específico utilizamos o VSTS (Visual Studio Team System). Cadastramos os cartões no banco de dados e visualizamo-os através 2- Golden hour estipula-se e regulamenta-se um horário específico do dia que obrigatoriamente todos os comprometidos com o projeto devem estar disponíveis por algum meio de comunicação, como por exemplo conference call, ferramenta de chat e etc. Nesta reunião virtualizada praticam-se as técnicas da reunião SCRUM Daily Meeting, com principal foco na resposta as 3 perguntas mágicas desta reunião (o quê foi feito ontem, o que se fará hoje e o que pode impedir). Conclusão Demonstramos com detalhes sintetizados formas de se utilizar Kanban com práticas de SCRUM. Acreditamos que há um incremento muito positivo na comunicação do projeto que utiliza estas placas, pelo menos é o que notamos nos desafios que tivemos oportunidade de prestar consultoria. A aplicação de quais colunas ter no quadro Sucesso em seus projetos, Marcelo Martins e Fábio Câmara Sobre o autor Fábio Câmara com.br): é consultor e implanta metodologias, processos para equipes de desenvolvimento e ferramentas para automação de ciclo de vida de desenvolvimento de software. Seus trabalhos podem ser verificados no site o título Microsoft MVP para a ferramenta Visual Studio Team System e possui os certificados SCRUM Master, MSF Practitioner, ITIL Foundations e MCTS Team Foundation Server. 08 fevereiro 2009

9 Delphi Criando Relatórios com quebra de grupo no Rave Reports Em várias situações, a criação de um bom relatório exige que as informações que irão compor o relatório sejam agrupadas seguindo algum critério. Nesse artigo, estarei mostrando uma metodologia para criação de relatórios com informações agrupadas que pode ser uma boa alternativa ao clássico master-detail. Trata-se do relatório com quebra de grupo. Mãos a obra! Componente Nome Paleta ibdatabase Ibdatabase1 interbase ibtransaction Ibtrans1 interbase ibquery qryrelatorio interbase datasource dsrelatorio Data access dbgrid grdrelatorio Data controls Rave project Rvproject1 Rave Rave dataset connection Rvdsrelatorio Rave Preparando a aplicação Para este exemplo estarei utilizando o banco de dados employee que acompanha o firebird. Crie uma nova aplicação no Delphi e adicione os seguintes componentes: Altere as seguintes propriedades dos componentes: Veja as tabelas 1 e 2 ao lado: Coloque a seguinte frase na propriedade SQL do componente qryrelatorio: Altere as seguintes propriedades dos componentes: Componente Propriedade Valor Ibdatabase1 Databasename Employee.fdb ibtransaction Ibtrans1 interbase Default transaction Ibtrans1 sqldialect 3 Login prompt false qryrelatorio database Ibdatabase1 dsrelatório dataset qryrelatório Rvproject1 Projectfile Relemployee.rav rvdsrelatorio dataset qryrelatorio fevereiro

10 select E.FIRST_NAME,E. LAST_NAME,E.SALARY,D. DEPARTMENT FROM EMPLOYEE E INNER JOIN DEPARTMENT D ON(E.DEPT_NO=D.DEPT_NO) Insira também um button no formulário e no evento onclick coloque o seguinte comando: procedure TForm1. BitBtn1Click(Sender: TObject); RvProject1.Execute; Construindo o Relatório Dê um duplo clique no componente rvproject1, com isso o rave visual designer será aberto. Vá no menu file e selecione a opção new data object.será mostrada a seguinte tela: Selecione a opção direct data view e clique em next. Será exibida a próxima tela: Imagem 03 Clique em finish para concluir a criação do objeto de conexão do relatório. Altere o nome desse objeto para dvemployee. O próximo passo é inserir na página do relatório os componentes que irão compô-lo: Primeiro, insira um componente region da aba Report.É esse componente que irá delimitar a área de impressão do relatório. O relatório deverá estar como na imagem 03: O próximo passo é a inserção das bandas do relatório.insira cinco bandas como segue: 2 componentes Band (Report) 1 componente DataBand (Report) 2 componentes Band (Report) Altere as suas propriedades Name (de cima para baixo) para: PageHeader GroupHeader Detail Cabeçalho de página Cabeçalho de grupo Detalhe GroupFooter ReportFooter Rodapé de grupo Rodapé de relatório Para cada banda, altere as seguintes propriedades: PageHeader: BandStyle - Selecione Body Header e First ControllerBand - Detail GroupHeader: BandStyle - Selecione Group Header e First ControllerBand - Detail GroupDataView - dvemployee GroupKey - DEPARTMENT StartNewPage - True Detail: DataView - dvemp GroupFooter: BandStyle - Group Footer e First ControllerBand - Detail GroupDataView - dvemployee GroupKey - DEPARTMENT ReportFooter: BandStyle - Body Footer ControllerBand: Detail O seu relatório deverá estar com a aparencia da imagem 04: Na banda bodyheader, coloque o título do relatório de sua preferência.no exemplo escolhi Relatório geral de Funcionários. Veja a imagem 05. Imagem fevereiro 2009

11 Monte a banda pageheader da seguinte forma: Veja a imagem 06. Imagem 04 Na banda detalhe irão aparecer os nomes dos funcionários e seus respectivos salários.ela deverá ficar com a seguinte aparência: Veja a imagem 07. A banda groupfooter irá mostrar o total dos salários de cada departamento.deverá ficar assim: Veja a imagem 08. Imagem 06 Para finalizar a banda reportfooter, que mostrará o total geral dos salários.ela ficará com aparência semelhante a banda groupfooter, como mostra a figura: Veja a imagem 09. Imagem 07 No componente calctext ainda poderá ser alterada a propriedade displayformat para dar uma aparência mais limpa ao relatório. Para visualizar o relatório tecle F9. Como devem ter percebido, o relatório com quebra de grupo é em muitos aspectos mais fácil de ser construído já que utiliza apenas um dataview ao contrário do relatório master-detail onde temos que utilizar dois componentes dataview. Imagem 08 Espero que tenham gostado e até a próxima. Sobre o autor Antonio Spitaleri Neto Consultor Técnico The club Imagem 09 fevereiro

12 Delphi Prism A nova solução de O Delphi Prism pode ser definido como uma solução que acontece a partir da junção do Delphi e Visual Studio; na realidade é o Visual Studio e o Delphi integrados num único ambiente de desenvolvimento; prevalecendo a IDE do Visual Studio. Portanto a nova versão do delphi não contempla mais a VCL, ou seja, tudo é desenvolvido na plataforma do Visual Studio 2005 ou desenvolvimento.net Veja a figura 1. Veja a figura 2. Um ponto interessante é que a nova versão do Delphi permite gerar aplicações que rodem no sistema operacional Linux através do Mono (figura 3), que é a implementação.net para outras plataformas como o linux e o Mac OS X. Importante frisar que o Delphi Prism faz parte do RadStudio 2009 que esta disponível em no link codgear.com/downloads. Figura1. Tela de boas vindas do Delphi Prism na IDE do Visual Studio 12 fevereiro 2009

13 Resumindo as informações que já se tem do Delphi Prism: Não possui VCL.NET Funcionará com as tecnologias WPF, Silverlight, ASP.NET and LINQ ADO.NET e ASP.NET providers baseados em dbexpress DataSnap client, para conectar servidores DataSnap feitos em Win32 BlackFish SQL database Precisará do.net Framework 3.5 para rodar o VisualStudio Produz executáveis compatíveis com qualquer versão do.net Framework a partir da 1.1 Produz executáveis compatíveis com o framework.net Mono, para Linux e Mac Onde já tem Visual Studio instalado será apenas adicionado o plug-in de linguagem ao sistema Onde não tem Visual Studio este será instalado apenas com a linguagem Delphi Prism (sem C# e VB) Não será preciso adquirir uma nova licença do Visual Studio Ainda não é possível desenvolver aplicativos.net Compact Framework. Ferramenta de Modelagem de Banco de dados ORStudio Figura 2. Linguagem Oxygene(baseada em pascal e pascal object) Veja a figura 3. Linguagem O Delphi Prism possui uma linguagem avançada para para plataforma. net.ela suporta tudo para o Framework.net e outras implementações do CLR (Commom Language Runtime). Para maiores informações acesse Common_Language_Runtime. Nós desenvolvedores Delphi, não sofreremos um grande impacto para programação.net com Delphi Prism, pois usaremos uma linguagem moderna baseada em Pascal e Object Pascal. Embora permanecendo fiel às suas origens mantendo uma sintaxe familiar, a linguagem Delphi Prism traz diversas inovações. Nesta primeira parte do Artigo apresentarei as principais novidades da linguagem. Figura 3. Caixa de diálogo mostrando modelos para o desenvolvimento de aplicações mono em diversas Novidades da Linguagem Variáveis Podem ser declaradas em qualquer lugar Podem receber valores no momento da declaração Veja o código ao lado: Var path:string:=system. IO.Path. GetFullPath(tbDataBase. text); db:datacontext:=new DataContext(path); // instanciando uma classe var contato:=from contato in dbgettable<contato>() Select contato; fevereiro

14 Procedimentos e funções Ao invés de declararmos Procedimentos e Funções como fazíamos nas outras versões do Delphi podemos utilizamos Métodos. Procedure - Method SimplesSelecao ou Procedure SimplesSelecao Function - Method RetornaColecao :Sequence of Cliente - Function RetornaColecao :Sequence of Cliente Se o método retornar alguma coisa é uma função. Senão retornar é uma procedure. Observe que é facultativa a declaração de Procedure e Function Criação de Objetos Esqueçam o Create. Para criarmos objetos utilizamos o new Async for i:= 1 to 10 do Begin....End; Notas do Consultor Síncrona : Este modelo de programação é conhecido como programação sequencial sincronizada, onde cada bloco de código é executado um a um em uma sequência contínua conhecida (top-down). Chamar outro bloco significa bloquear o atual até o retorno da chamada. Var minhalista:=new list<pessoa>; Minhalista.add(new pessoa(nome:= Antonio,idade :=22)); //... Var jovens :=minhalista. where(p p.idade<30) Public Invariants- Contrato Define o que você firma como regra de uma classe Public Ivariants Idade>=0; Length(nome)>0; End; Se a regra for violada uma exceção será gerada Xml:= new xelement( livros,nil); Propriedades Assíncrona : Modelo de programação que permite que trechos de códigos possam executar de forma não-síncrona e concorrendo ao mesmo direito de uso do processador. Esse método gera uma thead separada Case O case somente era utilizado com valores ordinais. No delphi Prism, o case pode ser utilizado com strings Métodos read/write estão implícitos quando não declarados. Você pode declarar sem nenhum problema. Type Contato= class Public property codigo:integer; property nome:string; case acao of logout : login : else Operador Ternário IIF Declarações assíncronas Podemos executar mais de um método de forma assíncrona, ou seja, gerar uma thread separada. A Palavra async define a execução assíncrona Expressões Lambda Tipo especial de expressão que pode ser representado através de um ou mais valores como resultado, usando a função. Deixa o código mais limpo status = IIf(idade >= 18, Maior de idade, Menor de idade ) 14 fevereiro 2009

15 Try/ Except/finally A estrutura obrigatóriamente terá um Try/ Except/finally como uma única sentença Try... Mono e ainda nos sistema MAC também através do Mono. Isso permitirá aos desenvolvedores maior liberdade para distribuir suas aplicações. Outro fator que merece destaque é que o desenvolvedores Delphi não sofreram grande impacto na programação, pois continuarão a desenvolver com o Object Pascal, que trás uma série de novidades da linguagem. Except On Ez:ECustomException do. Finally End; Conclusão Até a próxima! Sobre o autor Luís Alexandre de Oliveira é Técnologo em Processamento de Dados,graduado pela Faculdade de Técnologia de Sorocaba, Consultor técnico do The Club. Anuncie conosco Anuncie na revista e ganhe um banner publicitário no site do The Club Um dos pontos mais importantes do Delphi Prism, é o fato de que ele permite gerar aplicações que rodem no sistema operacional Linux através do Docente do curso técnico informática - Etec de Avaré e do curso Tecnologia em Redes de Computadores - Fatec Eduvale Avaré Solicite um orçamento: Skype: theclub_cadastro Fone: (14) fevereiro

16 Pacotes Teoria e Prática Parte II Conhecendo seus benefícios e aplicações Introdução Na primeira parte deste artigo, falei a respeito das características dos pacotes tais como tipo, comparação com DLLs, sua aplicabilidade e exemplos práticos da utilização dos pacotes estáticos em uma aplicação. Nesta segunda parte, irei abordar a utilização de pacotes dinâmicos e demonstrar como estes podem ser úteis em sua aplicação. Pacotes Dinâmicos Iremos agora abordagem a modularização de aplicações trabalhando com pacotes dinâmicos. Esta abordagem é muito parecida com a chamada de formulários disponibilizados em DLLs, contudo mais fácil por questões que já discutimos anteriormente. Um dos principais motivos em utilizar esta abordagem é quando não temos certeza que determinado pacote estará presente no cliente, por exemplo, por ele não ter adquirido tal módulo de nosso software. Diferentemente dos pacotes estáticos, não mantemos nenhuma referência implícita dos pacotes dinâmicos no projeto, ou seja, você deverá acessar as opções do projeto e no grupo run-time packages limpar as referencias dos pacotes que irão conter os formulários como demonstra a figura a seguir. Opções do Projeto 16 fevereiro 2009

17 Outro detalhe importante é que também iremos remover todas as units do projeto, mantendo apenas a unit referente o formulário principal, isso pode ser feito através da opção Remove File From Project. Registro de classes Quando necessitamos acessar classes proprietárias que não estão registradas no projeto é necessário explicitar o registro da mesma na sessão inicialization da unit onde a mesma está declarada e com isso deixá-la disponível para acesso. Levando em consideração que cada formulário que temos em nossa aplicação possui uma classe declarada, como exemplo, o fmclientes possui sua classe tfmclientes, teremos que efetuar o registro de cada formulário que necessitarmos instanciar e acessar. O Delphi possui um método especifico para efetuar registro de classes chamada Register- Class o qual tem a seguinte sintaxe: initialization RegisterClass(tfmClientes); finalization UnRegisterClass(tfmClientes); Diz a boa prática que sempre que registrarmos uma classe deveremos nos preocupar e providenciar a sua retirada da memória quando não mais estiver sendo utilizada, e isso iremos fazer na sessão finalization através do método UnRegisterClass. Modularizando a aplicação em pacotes dinâmicos Vamos efetuar uma cópia da pasta do projeto do exemplo anterior para uma nova pasta e utilizálo para modularização em pacotes dinâmicos. Após efetuar a cópia, abra o projeto no Delphi e vamos remover as units unclientes, unprodutos e undm do referido projeto, utilizando a opção Remove file from project. Após isso, acesse as opções do projeto e remova a referência aos pacotes RtmPackClientes, RtmPackDM e RtmPackProdutos, lembrando que a opção Build with runtime packages deverá prevalecer marcada. Para facilitar nosso trabalho, vamos declarar algumas variáveis e constantes que serão utilizadas durante a implementação, acompanha a listagem abaixo: private { Private declarations } DM : TCustomForm; DMHandle: HModule; fmclientes : TCustomForm; fmclienteshandle: HModule; fmprodutos : TCustomForm; fmprodutoshandle: HModule; public { Public declarations } // Constantes. const cpkg_dm: string = RtmPackDM.bpl ; cclass_dm: string = TDM ; cpkg_clientes: string = RtmPackClientes.bpl ; cclass_clientes: string = TfmClientes ; cpkg_produtos: string = RtmPackProdutos.bpl ; cclass_produtos: string = TfmProdutos ; var fmprincipal: TfmPrincipal; implementation {$R *.DFM} Observe que declaramos variáveis que irão receber a instância e handle de cada formulário ou módulo de dados em nosso projeto. Também declaramos constantes que irão armazenar o nome do pacote de run-time e o nome da classe referente o formulário que iremos instanciar. Iremos instanciar o módulo de dados (DM) no evento OnCreate do formulário principal, pois necessitamos do DM disponível para os demais formulários. A seguir, veja o código necessário para instanciarmos o DM. procedure TfmPrincipal. FormCreate(Sender: TObject); var Form: TCustomFormClass; // Carregar o DataModule. try DMHandle := LoadPackage(cpkg_DM); except ShowMessage( Módulo: + cpkg_dm + não disponível. ); Application.Terminate; Exit; Form := TCustomFormClass (FindClass(cClass_DM)); DM := Form.Create(Self); fevereiro

18 O primeiro passo é declarar uma variável local que irá receber a classe do objeto à ser instanciado, neste caso: Form do tipo TCustomFormClass. A carga de uma pacote dinâmico é feita através do método LoadPackage, o qual recebe como parâmetro uma string contendo o nome do pacote à ser carregado, neste caso cpkg_dm que é a constante que declaramos informando o nome do pacote referente ao DM. Observe que estamos protegendo o código dentro de um bloco try/except, pois caso o pacote não esteja disponível poderemos evitar uma mensagem desagradável ao usuário avisando que o módulo não está disponível. Como trata-se do módulo de dados, caso o mesmo não esteja disponível não poderemos continuar a carga da aplicação, visto ele ser essencial para os demais módulos. Caso o módulo esteja presente, a variável local irá receber a classe do DM retornada pelo método FindClass dentro de um typecast para TCustomFormClass e logo em seguida instanciamos o DM a partir do método create da variável local que possui a classe do DM. Partiremos agora para implementar o código que irá carregar o formulário de cadastro de clientes e o formulário de cadastro de produtos. Este código será implementado no evento OnExecute das Actions criadas no ActionList, as quais já possuem um código implementado no exemplo anterior e iremos substituir para a chamada dinâmica dos pacotes. Primeiro, vamos codificar a acclientes responsável em chamar o formulário de clientes, veja o código abaixo. procedure TfmPrincipal. acclientesexecute(sender: TObject); var Form: TCustomFormClass; // Carregar cadastro de clientes. try fmclienteshandle := LoadPackage(cpkg_ Clientes); except ShowMessage( Módulo: + cpkg_clientes + não disponível. ); Exit; try Form := TCustomForm Class(FindClass(cClass_ Clientes)); fmclientes := Form. Create(Self); fmclientes.showmodal finally if fmclientes <> nil then FreeAndNil(fmClientes); UnloadPackage(fmClient eshandle); A lógica utilizada aqui é a mesma que utilizamos ao instanciar o DM, porém temos alguns código a mais visto ser um formulário que deverá ser apresentado ao usuário e posteriormente destruído. Observe que dentro do bloco finally verificamos se a variável de instancia fmclientes possui algum valor e caso sim, liberamos a memória a ela associada e também, descarregamos o pacote que está em memória através do método UnLoadPackage, o qual recebe como parâmetro o handle do pacote que foi obtido no momento da carga via LoadPackage. A seguir, apresento o código da chamada do formulário de produtos que seguirá exatamente os mesmos procedimentos da chamada do formulário de clientes. procedure TfmPrincipal. acprodutosexecute(sender: TObject); var Form: TCustomFormClass; // Carregar cadastro de produtos. try fmprodutoshandle := LoadPackage(cpkg_Produtos); except ShowMessage( Módulo: + cpkg_produtos + não disponível. ); Exit; try Form := TCustomForm Class(FindClass(cClass_ Produtos)); fmprodutos := Form. Create(Self); fmprodutos.showmodal finally if fmprodutos <> nil then FreeAndNil(fmProdutos); UnloadPackage(fmProduto shandle); Neste ponto, já poderemos testar nossa aplica- 18 fevereiro 2009

19 ção, porém é certo que ela ainda não irá funcionar, pois está faltando um detalhe muito importante: o registro das classes. Assim sendo, vamos efetuar o registro das classes, começando pelo DM. Abra o pacote RtmPackDM, acesse a undm e no final da mesma faça o registro assim: initialization RegisterClass(TDM); finalization UnRegisterClass(TDM); end. Vamos efetuar o mesmo para a unclientes que está no pacote RtmPackClientes: initialization RegisterClass(TfmClientes); finalization UnRegisterClass(TfmClientes); end. E finalmente, vamos ao unprodutos que está no pacote RtmPackProdutos: initialization RegisterClass(TfmProdutos); finalization UnRegisterClass(TfmProdutos); end. Pronto, salve e compile os três pacotes. Agora, rode a aplicação e provavelmente deverá funcionar sem problemas. aplicação MDI utilizando pacotes dinâmicos. Modularizando aplicações MDI em pacotes dinâmicos. Iremos aproveitar este mesmo projeto de exemplo utilizado anteriormente, contudo crie uma nova pasta e faça uma cópia do mesmo para trabalharmos nesta nova cópia. Depois, acesse o mainform do projeto (fmprincipal) e altere a propriedade FormStyle para fsmdiform. Após isso, acesse os demais formulários (fmclientes e fm- Produtos) que estão em seus pacotes respectivos e altere a propriedade FormStyle para fsmdichild. No evento OnClose dos formulários filhos adicione a instrução para liberar a memória alocada pelos mesmos, ou seja: procedure TfmClientes. FormClose(Sender: TObject; var Action: TCloseAction); Action := CaFree; procedure TfmProdutos. FormClose(Sender: TObject; var Action: TCloseAction); Action := CaFree; Agora, volte ao mainform (fmprincipal) onde iremos alterar as chamadas referentes os formulários filhos, porém antes, iremos implementar um método que será responsável em verificar se o formulário já está carregado, pois caso esteja iremos apenas chamá-lo novamente sem a necessidade de efeturar o create. function TfmPrincipal. AchaForm(Classe: TClass): Boolean; var i: Integer; Result := false; for i := 0 to Screen. FormCount - 1 do if Screen.Forms[i]. ClassType = Classe then Result := true; Break; O método AchaForm recebe como parâmetro a classe do formulário que necessitamos verificar. A seguir, a chamada dos formulários fmclientes e fmprodutos. procedure TfmPrincipal. acclientesexecute(sender: TObject); var Form: TCustomFormClass; // Carregar cadastro de clientes. Descarregando pacotes dinâmicos Neste exemplo, como temos apenas um formulário por pacote, a descarga do mesmo foi efetuada logo em seguida que o formulário foi fechado, contudo quando trabalhamos com vários formulários em um mesmo pacote ou ainda se sua aplicação for MDI não poderemos utilizar esta técnica, pois se descarregarmos um pacote em uso iremos causar uma exceção em nossa aplicação. Nosso próximo laboratório será acerca de uma fevereiro

20 E para concluir, iremos efetuar a descarga dos pacotes no evento OnDestroy do mainform (fmprincipal): procedure TfmPrincipal. FormDestroy(Sender: TObject); if fmclienteshandle <> 0 then UnloadPackage(fmClient eshandle); if fmprodutoshandle <> 0 then UnloadPackage(fmProdut oshandle); Pronto, agora basta compilar os pacotes e depois executar a aplicação e teremos nossa aplicação MDI rodando com pacotes dinâmicos. if fmclienteshandle = 0 then try fmclienteshandle := LoadPackage(cpkg_Clientes); except ShowMessage( Módulo: + cpkg_clientes + não disponível. ); Exit; if not AchaForm(TCustom FormClass(FindClass(cClas s_clientes))) then Form := TCustomForm Class(FindClass(cClass_ Clientes)); fmclientes := Form. Create(Self); fmclientes.show; procedure TfmPrincipal. acprodutosexecute(sender: TObject); var Form: TCustomFormClass; // Carregar cadastro de produtos. if fmprodutoshandle = 0 then try fmprodutoshandle := LoadPackage(cpkg_Produtos); except ShowMessage( Módulo: + cpkg_produtos + não disponível. ); Exit; if not AchaForm(TCustom FormClass(FindClass(cClas s_produtos))) then Form := TCustomForm Class(FindClass(cClass_ Produtos)); fmprodutos := Form. Create(Self); fmprodutos.show; Considerações Finais Com isso encerramos nosso artigo demonstrando como criar uma aplicação e modularizá-la em pacotes dinâmicos e estáticos. Acredito que estas dicas poderão ajudá-lo bastante a solucionar problemas ocasionados pelo aumento e complexidade das aplicações e também melhorar sua distribuição e manutenção. Abraço à todos e até a próxima. Sobre o autor Alessandro Ferreira Analista de Sistemas Sênior do Citibank Capital Markets Brazil onde atualmente trabalha com Microsoft.NET e Oracle. Bacharel em Administração de Sistemas de Informação e Microsoft Certified Professional (MCAD.NET, MCSD.NET, MCTS e MCPD), trabalhou com Delphi por 10 anos sendo 7 anos dedicados ao suporte técnico aqui no The Club, auxiliando centenas de programadores pelo Brasil. 20 fevereiro 2009

Relatórios com Rave Reports

Relatórios com Rave Reports Relatórios com Rave Reports Neste tutorial, você aprenderá: Relatório Simples Relatório com quebra de grupo Totalizações Preparando a Aplicação Tomando como base a nossa aplicação final, vamos selecionar

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

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

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

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

Repeater no GASweb. Regiões

Repeater no GASweb. Regiões Repeater no GASweb Por: Rodrigo Silva O controle de servidor Repeater é um container básico que permite a você criar uma lista de qualquer informação que deseja em uma página Web. Ele não tem uma aparência

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

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

Metodologias Ágeis. Aécio Costa

Metodologias Ágeis. Aécio Costa Metodologias Ágeis Aécio Costa Metodologias Ágeis Problema: Processo de desenvolvimento de Software Imprevisível e complicado. Empírico: Aceita imprevisibilidade, porém tem mecanismos de ação corretiva.

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

Manual de Instalação: Agente do OCS Inventory NG

Manual de Instalação: Agente do OCS Inventory NG Manual de Instalação: Agente do OCS Inventory NG Abril 2013 Sumário 1. Agente... 1 2. Onde instalar... 1 3. Etapas da Instalação do Agente... 1 a. Etapa de Instalação do Agente... 1 b. Etapa de Inserção

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

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

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

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

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

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

Uma introdução ao SCRUM. Evandro João Agnes evandroagnes@yahoo.com.br

Uma introdução ao SCRUM. Evandro João Agnes evandroagnes@yahoo.com.br Uma introdução ao SCRUM Evandro João Agnes evandroagnes@yahoo.com.br Agenda Projetos de Software O que é Scrum Scrum framework Estrutura do Scrum Sprints Ferramentas Projetos de software Chaos Report Standish

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

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

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

ASP.NET 2.0 - Visual Studio 2005 (Whidbey) Ramon Durães

ASP.NET 2.0 - Visual Studio 2005 (Whidbey) Ramon Durães ASP.NET 2.0 - Visual Studio 2005 (Whidbey) Ramon Durães O ASP.NET que é a camada de desenvolvimento de aplicações web da plataforma.net vem agradando em muito os desenvolvedores de todo o mundo desde o

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

DESENVOLVIMENTO DE SOFTWARE PARA INTERNET LABORATÓRIO 1 PROF. EMILIO PARMEGIANI

DESENVOLVIMENTO DE SOFTWARE PARA INTERNET LABORATÓRIO 1 PROF. EMILIO PARMEGIANI DESENVOLVIMENTO DE SOFTWARE PARA INTERNET LABORATÓRIO 1 PROF. EMILIO PARMEGIANI Exercício 1 Neste exercício trabalharemos com alguns web controls básicos e praticaremos os tipos de dados do C#. Vamos criar

Leia mais

Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Programa de Pós-Graduação em Informática

Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Programa de Pós-Graduação em Informática Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Programa de Pós-Graduação em Informática Disciplina: INF5008 Prof.: (monalessa@inf.ufes.br) Conteúdo 8. Metodologias

Leia mais

Software e Serviços MANUAL DE HOMOLOGAÇÃO WEB SERVICE X SISTEMA DE AUTOMAÇÃO COMERCIAL

Software e Serviços MANUAL DE HOMOLOGAÇÃO WEB SERVICE X SISTEMA DE AUTOMAÇÃO COMERCIAL MANUAL DE HOMOLOGAÇÃO WEB SERVICE X SISTEMA DE AUTOMAÇÃO COMERCIAL CONSIDERAÇÕES INICIAIS Este manual tem como objetivo propiciar a integração do SISTEMA DE AUTOMAÇÃO COMERCIAL junto as ADMINISTRADORAS

Leia mais

Conhecendo o Visual FoxPro 8.0 Parte 2

Conhecendo o Visual FoxPro 8.0 Parte 2 AULA Conhecendo o Visual FoxPro 8.0 Parte 2 Na aula anterior, vimos sobre: a) Janela de comando b) Gerenciador de Projetos c) Database Designer e Table Designer Prosseguiremos então a conhecer as ferramentas

Leia mais

Validação de formulário : CEP, Email e CPF

Validação de formulário : CEP, Email e CPF Validação de formulário : CEP, Email e CPF Publicado em: 14/09/2003 A ASP.NET veio para facilitar ainda mais o desenvolvimento para WEB, trazendo consigo todo um conjunto inovações que visam facilitar

Leia mais

Cadastro de Orçamento Utilizando Tablet Android

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

Leia mais

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

Dominando Action Script 3

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

Leia mais

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

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

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

SCRUM. Fabrício Sousa fabbricio7@yahoo.com.br

SCRUM. Fabrício Sousa fabbricio7@yahoo.com.br SCRUM Fabrício Sousa fabbricio7@yahoo.com.br Introdução 2 2001 Encontro onde profissionais e acadêmicos da área de desenvolvimento de software de mostraram seu descontentamento com a maneira com que os

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

SGCD 2.2. Sistema Gerenciador de Conteúdo Dinâmico

SGCD 2.2. Sistema Gerenciador de Conteúdo Dinâmico Atualizado em 13/AGO/2012 Sistema Gerenciador de Conteúdo Dinâmico No final de 2007, o Serviço Técnico de Informática da UNESP Marília, disponibilizou para a comunidade acadêmica e administrativa o Sistema

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

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

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

SGCD 2.0 Sistema Gerenciador de Conteúdo Dinâmico

SGCD 2.0 Sistema Gerenciador de Conteúdo Dinâmico Sistema Gerenciador de Conteúdo Dinâmico Atualizado em 24/08/2011 No final de 2007, o Serviço Técnico de Informática da UNESP Marília, disponibilizou para a comunidade acadêmica e administrativa o Sistema

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

Após completar este módulo você deverá ter absorvido o seguinte conhecimento: Uma ampla visão do framework Scrum e suas peculiaridades

Após completar este módulo você deverá ter absorvido o seguinte conhecimento: Uma ampla visão do framework Scrum e suas peculiaridades Objetivos da Aula 1 Após completar este módulo você deverá ter absorvido o seguinte conhecimento: Uma ampla visão do framework Scrum e suas peculiaridades Entendimento sobre os processos essenciais do

Leia mais

Novas Funcionalidades do MyABCM v.4.0

Novas Funcionalidades do MyABCM v.4.0 Novas Funcionalidades do MyABCM v.4.0 Seguem abaixo as novas funcionalidades e melhorias do MyABCM e um resumo de como utilizar essas funcionalidades. 1. Nova funcionalidade para aplicação de fatores de

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

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

Workshop. Workshop SCRUM. Rildo F Santos. rildo.santos@etecnologia.com.br. Versão 1 Ago 2010 RFS. www.etcnologia.com.br (11) 9123-5358 (11) 9962-4260

Workshop. Workshop SCRUM. Rildo F Santos. rildo.santos@etecnologia.com.br. Versão 1 Ago 2010 RFS. www.etcnologia.com.br (11) 9123-5358 (11) 9962-4260 Workshop www.etcnologia.com.br (11) 9123-5358 (11) 9962-4260 Rildo F Santos twitter: @rildosan skype: rildo.f.santos http://rildosan.blogspot.com/ Todos os direitos reservados e protegidos 2006 e 2010

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

Conhecendo o Visual FoxPro 8.0 Parte 1

Conhecendo o Visual FoxPro 8.0 Parte 1 AULA Conhecendo o Visual FoxPro 8.0 Parte 1 Em qualquer profissão é importante que se conheça bem as ferramentas que serão usadas para executar o trabalho proposto. No desenvolvimento de software não é

Leia mais

Lógica de Programação

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

Leia mais

jquery Apostila Básica

jquery Apostila Básica jquery Apostila Básica INTRODUÇÃO 3 CAPÍTULO 1 POR ONDE INICIAR 3 CAPÍTULO 2 MEU PRIMEIRO SCRIPT! 4 EXERCÍCIOS...5 CAPÍTULO 3 ADICIONANDO CSS 6 EXERCÍCIOS...7 CAPÍTULO 4 MODIFICANDO APENAS PARTE DO DOCUMENTO

Leia mais

ÍNDICE... 2 INTRODUÇÃO... 3. A série... 3

ÍNDICE... 2 INTRODUÇÃO... 3. A série... 3 WORD 2007 E 2010 ÍNDICE ÍNDICE... 2 INTRODUÇÃO... 3 A série... 3 01 CAPTURAS DE TELA WORD 2010... 3 02 IMAGENS 2007/2010... 5 03 NOTAS DE RODAPÉ... 13 04 NUMERAÇÃO DE PÁGINAS... 15 05 CONTAR PALAVRAS...

Leia mais

GUIA DE INSTALAÇÃO. Plataforma Windows. Relatório Técnico Versão 0.1 (201305032030) Leandro Gomes da Silva, Tiago França Melo de Lima

GUIA DE INSTALAÇÃO. Plataforma Windows. Relatório Técnico Versão 0.1 (201305032030) Leandro Gomes da Silva, Tiago França Melo de Lima Laboratório de Engenharia e Desenvolvimento de Sistemas LEDS/UFOP Universidade Federal de Ouro Preto UFOP GUIA DE INSTALAÇÃO Plataforma Windows Relatório Técnico Versão 0.1 (201305032030) Leandro Gomes

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

Manifesto Ágil e as Metodologias Ágeis (XP e SCRUM)

Manifesto Ágil e as Metodologias Ágeis (XP e SCRUM) Programação Extrema Manifesto Ágil e as Metodologias Ágeis (XP e SCRUM) Prof. Mauro Lopes Programação Extrema Prof. Mauro Lopes 1-31 45 Manifesto Ágil Formação da Aliança Ágil Manifesto Ágil: Propósito

Leia mais

Ferramentas RAD e DELPHI

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

Leia mais

Sumário SYSBIBLI INSTALAÇÃO

Sumário SYSBIBLI INSTALAÇÃO Sumário 1. Sysbibli...3 1.1 Informação... 3 1.2 Informações técnicas... 3 1.3 Requisitos de Hardware... 3 1.4 Requisitos de Software...3 1.5 Instalação...3 1.6 Configuração... 4 2. Criação das Tabelas

Leia mais

Sophos SafeGuard Enterprise 6.00.1

Sophos SafeGuard Enterprise 6.00.1 Sophos SafeGuard Enterprise 6.00.1 Guia: Manual de instalação do Sophos SafeGuard Enterprise 6.00.1 Data do Documento: novembro de 2012 1 Conteúdo 1. Sobre este manual... 3 2. Requisitos de Sistema...

Leia mais

Objetivos do Módulo 3

Objetivos do Módulo 3 Objetivos do Módulo 3 Após completar este módulo você deverá ter absorvido o seguinte conhecimento: Conceitos do Scrum O que é um Sprint Decifrando um Product backlog Daily Scrum, Sprint Review, Retrospectiva

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

Conhecendo o Visual FoxPro 8.0 Parte 3

Conhecendo o Visual FoxPro 8.0 Parte 3 AULA Conhecendo o Visual FoxPro 8.0 Parte 3 Continuando nossa saga pelas ferramentas do Visual FoxPro 8.0, hoje vamos conhecer mais algumas. A Ferramenta Class Designer A Class Designer é a ferramenta

Leia mais

19/05/2009. Módulo 1

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

Leia mais

1- ASP.NET - HTML Server Controls

1- ASP.NET - HTML Server Controls 1- ASP.NET - HTML Server Controls Os controles de servidor - Server Controls - HTML são tags HTML padrão, com exceção de possuirem o atributo : runat="server". Vejamos um código que ilustra isto: O atributo

Leia mais

Processo de Desenvolvimento de Software. Unidade V Modelagem de PDS. Luiz Leão luizleao@gmail.com http://www.luizleao.com

Processo de Desenvolvimento de Software. Unidade V Modelagem de PDS. Luiz Leão luizleao@gmail.com http://www.luizleao.com Processo de Desenvolvimento de Software Luiz Leão luizleao@gmail.com http://www.luizleao.com Conteúdo Programático desta aula Modelo Cascata (Waterfall) ou TOP DOWN. Modelo Iterativo. Metodologia Ágil.

Leia mais

Aula 9: Fundamentos do JQuery Fonte: Plano de Aula Oficial da Disciplina

Aula 9: Fundamentos do JQuery Fonte: Plano de Aula Oficial da Disciplina Programação para Internet Rica 1 Aula 9: Fundamentos do JQuery Fonte: Plano de Aula Oficial da Disciplina Objetivo: Capacitar o aluno para o trabalho com o framework JQuery. INTRODUÇÃO JQuery é uma biblioteca

Leia mais

Alternate Technologies Fevereiro/2013. FórmulaCerta Procedimentos para Atualização Versão 5.8 (Fevereiro/2013)

Alternate Technologies Fevereiro/2013. FórmulaCerta Procedimentos para Atualização Versão 5.8 (Fevereiro/2013) FórmulaCerta Procedimentos para Atualização Versão 5.8 () 1 Sumário: PROCEDIMENTOS PARA ATUALIZAÇÃO VERSÃO 5.8... 4 ATUALIZAÇÃO DO SISTEMA VIA CD... 6 1º Passo Atualizações e Alterações da Versão 5.8...

Leia mais

AVISO. Treinamento GVcollege Módulo Ficha Complementar

AVISO. Treinamento GVcollege Módulo Ficha Complementar AVISO O conteúdo deste documento é de propriedade intelectual exclusiva da GVDASA Sistemas e está sujeito a alterações sem aviso prévio. Nenhuma parte desta publicação pode ser reproduzida nem transmitida

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

Manual Integra S_Line

Manual Integra S_Line 1 Introdução O é uma ferramenta que permite a transmissão Eletrônica de Resultado de Exames, possibilitando aos Prestadores de Serviços (Rede Credenciada), integrarem seus sistemas com os das Operadoras

Leia mais

Guia de Utilização do Microsoft Dynamics CRM (Gestão de Relacionamento com Clientes)

Guia de Utilização do Microsoft Dynamics CRM (Gestão de Relacionamento com Clientes) Guia de Utilização do Microsoft Dynamics CRM (Gestão de Relacionamento com Clientes) 1. Sobre o Microsoft Dynamics CRM - O Microsoft Dynamics CRM permite criar e manter facilmente uma visão clara dos clientes,

Leia mais

Validando dados de páginas WEB

Validando dados de páginas WEB Validando dados de páginas WEB Para que validar os dados? Validar os dados informados pelo usuário garante que sua aplicação funcione corretamente e as informações contidas nela tenha algum sentido. Outro

Leia mais

Scrum Guia Prático. Raphael Rayro Louback Saliba Certified Scrum Master. Os papéis, eventos, artefatos e as regras do Scrum. Solutions. www.domain.

Scrum Guia Prático. Raphael Rayro Louback Saliba Certified Scrum Master. Os papéis, eventos, artefatos e as regras do Scrum. Solutions. www.domain. Scrum Guia Prático Os papéis, eventos, artefatos e as regras do Scrum Solutions www.domain.com Raphael Rayro Louback Saliba Certified Scrum Master 1 Gráfico de Utilização de Funcionalidades Utilização

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

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

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

O Guia Passo-a-Passo para IMPLANTAR. Em seu próprio Projeto

O Guia Passo-a-Passo para IMPLANTAR. Em seu próprio Projeto O Guia Passo-a-Passo para IMPLANTAR Em seu próprio Projeto Aprenda como Agilizar seu Projeto! A grande parte dos profissionais que tomam a decisão de implantar o Scrum em seus projetos normalmente tem

Leia mais

MANUAL DO USUÁRIO DO M3

MANUAL DO USUÁRIO DO M3 MANUAL DO USUÁRIO DO M3 1 CADASTROS 1.1 Clientes Abre uma tela de busca na qual o usuário poderá localizar o cadastro dos clientes da empresa. Preencha o campo de busca com o nome, ou parte do nome, e

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

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

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

ROTEIRO ILUSTRADO PARA SISTEMA COMPUTACIONAL INSANE

ROTEIRO ILUSTRADO PARA SISTEMA COMPUTACIONAL INSANE UNIVERSIDADE FEDERAL DE MINAS GERAIS PROPEEs - Programa de Pós-Graduação em Engenharia de Estruturas INSANE - INteractive Structural ANalysis Environment ROTEIRO ILUSTRADO PARA INSTALAÇÃO DO SISTEMA COMPUTACIONAL

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

CONCEITO: Moodle Moodle Moodle Moodle

CONCEITO: Moodle Moodle Moodle Moodle NE@D - Moodle CONCEITO: O Moodle é uma plataforma de aprendizagem a distância baseada em software livre. É um acrônimo de Modular Object-Oriented Dynamic Learning Environment (ambiente modular de aprendizagem

Leia mais

Construtor Iron Web. Manual do Usuário. Iron Web Todos os direitos reservados

Construtor Iron Web. Manual do Usuário. Iron Web Todos os direitos reservados Construtor Iron Web Manual do Usuário Iron Web Todos os direitos reservados A distribuição ou cópia deste documento, ou trabalho derivado deste é proibida, requerendo, para isso, autorização por escrito

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

HAT Programação Auditoria Pós. 12.1.x. abril de 2015. Versão: 2.0

HAT Programação Auditoria Pós. 12.1.x. abril de 2015. Versão: 2.0 HAT Programação Auditoria Pós 12.1.x abril de 2015 Versão: 2.0 1 Sumário 1 Introdução... 3 2 Visão do Processo... 3 3 Serviço... 5 4 Dataset... 7 5 Formulário Principal AuditoriaPos... 9 6 Arquitetura

Leia mais

Manual Easy Chat Data de atualização: 20/12/2010 16:09 Versão atualizada do manual disponível na área de download do software.

Manual Easy Chat Data de atualização: 20/12/2010 16:09 Versão atualizada do manual disponível na área de download do software. 1 - Sumário 1 - Sumário... 2 2 O Easy Chat... 3 3 Conceitos... 3 3.1 Perfil... 3 3.2 Categoria... 4 3.3 Ícone Específico... 4 3.4 Janela Específica... 4 3.5 Ícone Geral... 4 3.6 Janela Geral... 4 4 Instalação...

Leia mais

NOTA: Neste tutorial foi utilizado o Visual Studio 2010 para criar o Projeto Web no qual iremos aplicar os temas e os skins.

NOTA: Neste tutorial foi utilizado o Visual Studio 2010 para criar o Projeto Web no qual iremos aplicar os temas e os skins. TUTORIAL 01 USANDO THEMES E SKINS EM UMA APLICAÇÃO ASP.NET ETAPA 1: Criando um novo Web Site usando o Visual Studio 2010 NOTA: Neste tutorial foi utilizado o Visual Studio 2010 para criar o Projeto Web

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

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

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

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

Leia mais

Java Exemplo MDI. Tela Principal

Java Exemplo MDI. Tela Principal Java Exemplo MDI Nesta aula criaremos uma aplicação simples de cadastro para avaliar o nível de dificuldade/facilidade que é desenvolver softwares com a tecnologia Java. No NetBeans, crie um novo projeto

Leia mais

Aluna: Vanessa de Mello Orientador: Everaldo Artur Grahl

Aluna: Vanessa de Mello Orientador: Everaldo Artur Grahl Ferramenta web para gerenciamento de projetos de software baseado no Scrum Aluna: Vanessa de Mello Orientador: Everaldo Artur Grahl Introdução Roteiro da apresentação Objetivos do trabalho Fundamentação

Leia mais

Andarta - Guia de Instalação. Guia de Instalação

Andarta - Guia de Instalação. Guia de Instalação Guia de Instalação 29 de setembro de 2010 1 Sumário Introdução... 3 Os Módulos do Andarta... 4 Instalação por módulo... 6 Módulo Andarta Server... 6 Módulo Reporter... 8 Módulo Agent... 9 Instalação individual...

Leia mais

Scriptlets e Formulários

Scriptlets e Formulários 2 Scriptlets e Formulários Prof. Autor: Daniel Morais dos Reis e-tec Brasil Programação Avançada Para Web Página1 Meta Permitir ao aluno aprender a criar um novo projeto Java para web no Netbeans IDE,

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

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

Versão 7 TraceGP Ágil

Versão 7 TraceGP Ágil Versão 7 Cadastro de Produtos Será possível cadastrar todos os produtos da empresa bem como descrever suas características particulares através da seleção de atributos dinâmicos para cada produto. Manutenção

Leia mais

Introdução ao Javascript

Introdução ao Javascript Programação WEB I Introdução ao Javascript Apresentação da Disciplina,Introdução a linguagem Javascript Objetivos da Disciplina Apresentar os principais conceitos da linguagem Javascript referente à programação

Leia mais