Índice. Delphi. Editorial .NET. Dicas Delphi. Desafio The CLub. Legenda. DataSnap ParteI Introdução

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

Download "Índice. Delphi. Editorial .NET. Dicas Delphi. Desafio The CLub. Legenda. DataSnap 2009 - ParteI Introdução"

Transcrição

1 março 2009

2 março 2009

3 Índice Editorial Posso dizer que a partir do mês de Agosto do ano passado onde assumi a direção da revista The Club Megazine, todas nossas edições foram feitas com o objetivo de levar um conteúdo cheio de novidades Delphi DataSnap ParteI Introdução Zlib - Construíndo um compactador de arquivos no Delphi Aprimorando o desempenho de um Banco de Dados Delphi Prism com LINQ NET Dicas Delphi Trabalhando com dynamic Data Controls O ASP.NET ultimamente vem revolucionou o desenvolvimento de aplicações para web oferecendo uma plataforma robusta e altamente produtiva elevando o potencial dos desenvolvedores com excelente recursos como: GridView, Data- Controls, Validators, WebParts entre outros. Legenda Iniciante Intermediário Avançado 24 Ativar Auto Run do CD-ROM Criptografar Strings Ver se existe Midia no Drive Ver impressora conectada Localizar Arquivos no Windows Mostrar as fontes True Types instaladas no Windows 28 Desafio The CLub Teste seus conhecimentos. 30 março

4 Bem-vindo Posso dizer que a partir do mês de Agosto do ano passado onde assumi a direção da revista The Club Megazine, todas nossas edições foram feitas com o objetivo de levar um conteúdo cheio de novidades e recursos aplicáveis no dia-a-dia do programador. Este mês nos do The Club ficamos muito satisfeitos com o resultado desta edição, pois acreditamos que nas paginas desta edição para qualquer que seja o leitor, com certeza novidades serão encontradas. Assim continuando a seqüência de artigos sobre a nova ferramenta da Embarcadero, o Delphi Prism, Luiz Alexandre com seu artigo Delphi Prism com Linq (Language Integrate Query), nos mostras mais algumas funcionalidades da ferramenta num artigo bastante completo que apresenta conceitos do Linq, que podem ser aplicados inclusive em um aplicação C#. Sabemos da importância de velocidade e performance em nossas aplicações, desta forma o consultor Marco Antonio Armando em seu artigo Aprimorando desempenho de banco de dados, demonstra em dicas simples, mas de grande importância na aplicação, como escrever consultas SQL visando obter a melhor eficiência do banco de dados. Entre as muitas novidades apresentadas pela Embarcadero no lançamento do Delphi 2009, encontramos os novos avanços na tecnologia DataSnap que chamaram bastante a atenção, neste mês trago o artigo DataSnap Introduçao onde mostro como ficou simples e funcional criar um servidor de métodos DataSnap, mostrando o poder de uma tecnologia que embora lançadas a muito tempo ainda é uma grande caixa preta para muitos programadores, e que agora após um período de estagnação da tecnologia, foi remodelada pela Embarcadero sendo lançada nesta nova versão com novos recursos e independente da tecnologia COM. Uma necessidade comum nas aplicações é a compactação de arquivo seja para backup de dados ou envio de arquivo pela internet, assim o consulto Antonio Spitaleri escreveu o artigo Zlib Construindo um compactador de Arquivos no Delphi onde usando a Unit ZLib.pas nativa do Delphi demonstra como realizar este procedimento sem o uso de nenhum componente de terceiros. Ao longo dos anos surgiu no mercado necessidades como a criação de telas automáticas de cadastro, com o lançamento do Service Pack 1 do.net 3.5, foi disponibilizando dentro do ASP.NET um novo conjunto de controles conhecido como Dynamic Data Controls que tem objetivo de montar as telas para as ações básicas. Assim este mês Fabiano Belmont aborda este assunto com seu novo artigo Trabalhando com Dynamic Data Controls. 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 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. Que todos tenham uma boa leitura e apreciem os artigos sem moderação. 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 março 2009

5 Delphi Parte I Introdução Entre as muitas novidades apresentadas pela Embarcadero no lançamento do Delphi 2009, encontramos os novos avanços na tecnologia DataSnap que chamaram bastante a atenção. O DataSnap embora possa parecer uma tecnologia nova e cheia de mistérios nasceu juntamente com o lançamento do Delphi 3, inicialmente conhecida como tecnologia MIDAS ( Multi-Tier Distributed Application Services ), teve seu nome alterado para Datasnap quando no lançamento do Delphi 6 passou a contar com suporte a SOAP/XML HTTP. Um dos principais avanços concebido nesta nova versão foi à desvinculação do Datasnap da tecnologia COM, independência esta esperada a logo prazo por muitos desenvolvedores que ira simplificar em muito o processo de desenvolvimento. Embora que vale ressaltar que foi mantida toda compatibilidade com versões anteriores. Neste artigo ire demonstrar com criar um servidor de métodos e uma aplicação cliente que irá consumir os métodos disponíveis pelo servidor. Imagem 1 Criando VCL Forms Applications Criação do Servidor Datasnap No RAD Studio Delphi 2009 para criar uma aplicação servidora Datasnap o primeiro passo é criar uma aplicação VCL Forms Applications comumente utilizada, para isto vá em New Projects selecione a opção VCL Forms Applications (Imagem 1). Será criado a unit principal que salvaremos com o nome de unserver.pas e o projeto que salvaremos como Server.dpr, iremos também alterar a propriedade Name do form criado frmserver. Veja a imagem 1. março

6 Neste momento irei adicionar os componentes servidor Datasnap, para isto em Tool Palette selecione a opção DataSnap Server e inseria no formulário os componente TDSServer, TDSTCPServerTransport e um TDSServerClass1 como pode ver na Imagem 2. Imagens 2 Componentes Inseridos no formulário Uma vez inserido os componentes é necessário configurar a propriedade Server dos componentes DSTCPServerTransport 1 e DSServerClass11 para DSServer1. Uma dica importante neste momento é observar a propriedade Port que se encontrada no componente TDSTCPServerTransport, o numero da porta deverá ser único por aplicação servidora para evitar que mais de uma aplicação responda na mesma Porta. Imagem 3 Criando o Server Module Criaremos agora o Server Module, que será nosso DataModule da aplicação DataSnap, ou melhor um TProviderDataModule que ira servir como um provedor de métodos e dados da aplicação Servidora. Para criar o Server Module vá em New Itens e selecione o item Server Module (Imagem 3), e salve-o como unservermodule; Veja a imagem 3. Apenas para finalidade de demonstração irei criar um método que irá retorna a versão do projeto, para isto no código fonte do TDSServerModule1, na seção public da classe declare a function PegaVersao e em implementation insira o código fonte da função como pode ver abaixo: 06 março 2009

7 type TDSServerModule1 = class(tdsservermodule) private { Private declarations } public function PegaVersao:string; var DSServerModule1: TDSServerModule1; implementation {$R *.dfm} { TDSServerModule1 } function TDSServerModule1. PegaVersao: string; Result := Versão 1.0 ; Agora voltaremos ao form frmserver e adicione a uses unservermodule com Alt+F11 (Imagem 4) e no componente DSServerClass1, adicione o evento OnGetClass e insira o código abaixo: procedure TfrmServer. DSServerClass1GetCl ass(dsserverclass: TDSServerClass; var PersistentClass: TPersistentClass); PersistentClass := TDSServerModule1 março

8 e então será executado o método desejado da classe, que neste caso é o PegaVersao; implementation uses unclientclass; {$R *.dfm} Imagem 4 - Adicionando a uses unservermodule Compile o projeto com a opção Run Without Debugging Shift+Ctrl+ F9 assim será criado o executável Server.exe sem a opção de debug, não prendendo a sua execução com a IDE do Delphi, neste momento apenas minimize o executável do projeto servidor, pois o mesmo deverá estar em execução para responder ao projeto cliente que iremos criar. Criação do Cliente DataSnap O próximo passo antes de criar a aplicação cliente e salver o grupo de projetos em Project Manager, para isto clique com o botão direito do Mouse sobre o Arquivo de Grupo de projetos e selecione Save Projet Group As salve como DataSnapProjectGroup.groupproj, salvo o arquivo volte a clicar sobre o Grupo de Projetos e selecione Add New Project selecione a opção VCL Forms Applications para criarmos a aplicação cliente, salve a unit como unclient.pas renomeando a propriedade Name do formulário para frmclient, e salvando o projeto como Client.dproj. O próximo passo é adicionar os componentes de conexão, para isto em Tool Palette selecione o componente TSQLConnection e adicione no formulário frmclient, assim no SQLConnection1 em sua propriedade Driver selecione o item Datasnap, observe que esta propriedade no Object Inspector tem Subpropriedades, coloque na subpropriedade HostName o valor localhost e em port 211, e não esqueça de alterar a propriedade LoginPrompt para false como pode var na imagem 5 Imagem 5 Propriedades do SQLConnection1 Agora Clique com o botão direito no mouse sobre o componente SQLConnection1 e selecione a opção Generate DataSnap client classes (Imagem 6), para que seja criado pelo DataSnap proxy generator a unit de classes cliente correspondente ao métodos disponíveis na aplicação servidora, salve-a como unclientclass.pas. Outra dica importante, certifique-se que a aplicação servidora esta rodando, caso contrário a classe não será gerada com sucesso. Imagem 6 Criando as classes cliente Para que possamos testar, adicione no form frmclient a uses unclientclass (Alt+F11) e coloque um componente Label para receber o retorno do método e um Button para disparar a execução, no evento OnClick do botão adicione o código que pode ver abaixo, para que desta forma quando for executado o clique no botão será criado a classe TDSServerModule1Client gerada na etapa anterior procedure TfrmClient. Button1Click(Sender: TObject); var ServerModule: TDSServerModule1Client; ServerModule := TDSServerModule1Client. Create(SQLConnection1. DBXConnection); try Label1.Caption := ServerModule.PegaVersao; finally ServerModule.Free; Variação da Aplicação Cliente DataSnap Para deixarmos mais evidente que a conexão está sendo feita através do driver DBXClient existindo uma integração direita com DataSnap e dbexpress, iremos utilizar a mesma função da aplicação Server, só que desta vez sem a declaração da classe TDSServerModule1Client como foi feito no processo anterior. Para isto adicione o componente TSqlServerMethod que se encontra em Tool Palette -> dbexpress no formulário frmclient, altere a sua propriedade SQLConnection para SQLConnection1 e em ServerMethodName observe que será listada todos os métodos da aplicação Server, selecione assim o item que nos interessa que é o TDSServerModule1.PegaVersao (Imagem 6). Adicione mais um componente TLabel e outro TButton, no evento Onclick deste novo botão coloque o código abaixo responsável por executar o método: procedure TfrmClient. Button2Click(Sender: TObject); 08 março 2009

9 SqlServerMethod1. ExecuteMethod; Label2.Caption := SqlServerMethod1. ParamByName ( ReturnParameter ). AsString; Imagem 7 Selecionado o método Quando selecionamos o ServerMethodName no componente SqlServerMethod1, automaticamente a propriedade params deste componente foi preenchida, neste nosso caso existia apenas o parâmetro de retorno (Result) chamado por padrão como ReturnParameter, Caso nosso método tivesse parâmetros de entrada (Imput), estes parâmetros seriam também adicionados em Params, e deveriam ter uma valor para eles atribuídos antes da chamada do método ExecuteMethod do componente SqlServerMethod1 da seguinte forma: SqlServerMethod1. ParamByName( Parametro1 ). AsInteger := 10; Conclusão Vimos como ficou muito mais simples e prático a criação de aplicação Multicamadas, não dependendo de nenhuma outra tecnologia para seu funcionamento. Em nosso próximo encontro iremos ver como usar a tecnologia Datasnap para acesso a banco de dados. Download: Referencia: andreanolanusse/2008/10/16/exemplos-da- tasnap-dbexpress-e-outros-recursos-do-delphi- 2009/ Sobre o autor Marcos César Silva, Consultor de Sistemas na consultoria de sistemas DataSmart e Consultor Técnico do The Club, Bacharel em Ciência da Computação, MBA em Gestão Empresarial, Certificações MCAD (Microsoft Certified Application Developer) e MCSD.NET (Microsoft Certified Solution Developer.NET) março

10 Entre as inúmeras units presentes no Delphi, sem dúvida uma que poucos conhecem é a zlib. Essa unit contém classes que tornam possível a criação de objetos que realizam a compactação de arquivos. Nesse artigo, estarei mostrando passo a passo com construir um compactador de arquivos bem simples utilizando Delphi e a zlib. Mãos a obra! Preparando a Aplicação Inicie um novo projeto no Delphi, e inclua na unit do form a unit zlib. Insiram no formulário os seguintes componentes: 2 edits(palheta standard); 4 buttons(palheta standard); 2 labels(palheta standard); 1 opendialog(palheta dialogs); Altere as propriedades name dos componentes conforme segue: Formulário:frmcompactador. Edits: edtarquivo,edtdestino. Buttons: btncompacta,btndescompacta,btnse lecionaarq,btndestino; Finalizando, insira ao lado das edits edtarquivo e edtdestino duas labels com as propriedades caption como arquivo e destino respectivamente. O formulário deverá ficar com a seguinte aparência: Veja a Figura 01. Realizando a codificação Chegou a hora de inserirmos o código necessário para que o nosso compactador funcione.no Figura 01. evento onclick do btnselecionaarq digite: procedure Tfrmcompactador. btnselecionaarqclick(sender: TObject); OpenDialog1.Execute; edtarquivo. Text:=OpenDialog1.FileName; Nesse evento estamos abrindo a caixa de diálogo abrir do windows, selecionando um arquivo e colocando seu caminho na edtarquivo. No evento onclick do btndestino digite: 10 março 2009

11 procedure Tfrmcompactador. btndestinoclick(sender: TObject); OpenDialog1.Execute; edtdestino.text:=extra ctfilepath(opendialog1. FileName); Aqui estamos selecionando um arquivo e extraindo através da função extractfilepath seu caminho já que é apenas o caminho que será utilizado.esse caminho irá ser exibido na edtdestino. Agora a parte mais importante, que é a codificação que irá realizar a compactação do arquivo selecionado.é nessa parte que estaremos utilizando as classes da zlib que realizam a compactação. No evento onclick do btncompacta digite: procedure Tfrmcompactador. btncompactaclick(sender: TObject); var FileIni, FileOut: TFileStream; Zip: TCompressionStream; nomearq:string; try try nomearq:=inputbox( C ompactar, Digite um nome para o arquivo, ); FileIni:=TFileStream. Create(edtarquivo. Text, fmopenread and fmshareexclusive); FileOut:=TFileStream. Create(nomearq+. zip, fmcreate or fmshareexclusive); Zip:=TCompressionStream. Create(clMax, FileOut); Zip.CopyFrom(FileIni, FileIni.Size); except Raise Exception. Create( Não foi possível compactar o arquivo ); abort; finally Zip.Free; FileOut.Free; FileIni.Free; Fileini recebe o arquivo a ser compactado no formato stream para ser processado pelo objeto zip, que realiza a compressão e coloca o resultado no objeto fileout, este último também do tipo tfilestream. março

12 DeZip:=TDecompressionStream. Create(FileIni); repeat i:=dezip.read(buf, SizeOf(Buf)); if i <> 0 then FileOut. Write(Buf, i); until i <= 0; except raise Exception. Create( Não foi possível descompactar o arquivo ); abort; finally DeZip.Free; FileOut.Free; FileIni.Free; Repare que caso algum erro ocorra, o processo de compressão é interrompido e é enviada uma mensagem ao usuário de que a compressão não foi possível. A chamada à função inputbox no início do evento permite que o usuário escolha o nome desejado para o arquivo depois de compactado. Os arquivos compactados com a unit zlib possuem a extensão.zip que é uma das extensões de arquivos compactados mais utilizada atualmente. O objeto mais importante de nosso aplicativo é o zip, do tipo tcompressionstream.a classe tcompressionstream da unit zlib é que contém os códigos que permitem a compressão de arquivos. Além da classe Tcompressionstream, a zlib também possui a classe tdecompressionstream, que como o nome sugere, realiza a descompressão de arquivos. Apesar de não ser o foco do artigo, estarei mostrando um pequeno exemplo de código para descompactação que pode ser inserido no evento onclick do btndescompacta: procedure Tfrmcompactador. btndescompactaclick(sender: TObject); var FileIni, FileOut: TFileStream; DeZip: TDecompressionStream; i: Integer; Buf: array[ ]of Byte; nomearq:string; try try nomearq:=inputbox ( Descompactar, Digit e um nome e a extensão do arquivo, ); FileIni:=TFileStream. Create(edtarquivo. Text, fmopenread and fmshareexclusive); FileOut:=TFileStream. Create(nomearq,fmCreate or fmshareexclusive); Repare que essa rotina possui a variável buf, um array de 1024 bytes onde será escrito o resultado da descompressão. Na rotina de descompressão, a inputbox deverá ser preenchida com o nome e a extensão do arquivo. Ex:teste.txt.Diferentemente da compressão onde apenas o nome é necessário. Como pôde ser observado, com a unit zlib é possível construir um compactador de arquivos até com certa facilidade sem a necessidade de componentes de terceiros. Espero que tenham gostado e até a próxima. Sobre o autor Antonio Spitaleri Neto Consultor Técnico The club 12 março 2009

13 APRIMORANDO O DESEMPENHO DE UM BANCO DE DADOS No dia a dia, uma preocupação para desenvolvedores de bancos de dados, sem sombra de dúvidas, é a performance final dos mesmos. Neste sentido, muitos programadores se confundem no que tange a diferença entre um ajuste de banco de dados versus ajuste de uma instrução SQL. Assim desmistificando, temos: O ajuste de um banco de dados significa o processo de ajustar o banco de dados real, ou seja, fatores como: alocação de memória, uso de disco, CPU, etc. Não podemos nos esquecer também que o ajuste também compreende a estrutura do banco de dados, como tabelas e índices. O ajuste de uma instrução SQL, é o processo ajustar uma instrução SQL, como consultas, inserções, etc., com o objetivo de tirar o máximo proveito possível em performance e confiabilidade. Ajuste de uma instrução SQL O ajuste de uma instrução SQL, visa construir instruções com excelência, visando obter resultados com eficácia. A formatação de uma instrução representa um papel crucial na performance final, neste contexto o ajuste da clausulas FROM E WHERE são vitais, pois são essas duas clausulas das quais dependerão a forma em que o servidor de bancos dados irá processá-la. Embora possa ser rotineiro em nosso cotidiano, a construção de instruções SQL s, requer atenção, e alguns pré requisitos fundamentais, eis alguns deles: Levar em conta sempre a legibilidade; Posicionamento das tabelas na cláusula FROM; Posicionamento de condições restritivas na cláusula WHERE; Posicionamento de condições de JOIN na cláusula WHERE; LEGIBILIDADE Quando se pensa em ajuste de uma instrução SQL, o primeiro passo a se levar em conta é a legibilidade da mesma, a fim de que fique bem escrita, e facilite a vida de quem além do desenvolvedor que a escreveu, possa discerni-la de forma rápida e segura. Para isto relacionaremos abaixo algumas particularidades que tornam uma instrução de forma legível: Inserir uma cláusula FROM em uma linha separada da cláusula SELECT, e cláusula WHERE separada da cláusula FROM: SELECT ID_CODIGO, NOME, CPF FROM CLIENTES WHERE NOME = GILSON O uso de tabulações ou espaços e recomendável quando um argumento de uma cláusula, excedem uma linha. março

14 Quando da necessidade de utilizar várias tabelas em uma instrução, o uso de aliases é indispensável. SELECT C.ID_CODIGO, C.NOME, V.ID_CODIGO, V.VALOR FROM CLIENTES C, VENDAS V Inicie sempre uma nova linha na instrução, caso haja a necessidade de se trabalhar com várias colunas na instrução SELECT, isto também se aplica as cláusulas FROM e WHERE. SELECT C.ID_CODIGO, C.NOME, C.CPF, C.TELEFONE, V.ID_CODIGO, V.VALOR, FROM CLIENTES C, VENDAS V WHERE C.ID_CODIGO = V.ID_CODIGO Veremos abaixo, um exemplo clássico de como muitos desenvolvedores escrevem uma instrução SQL, onde não se leva em conta a legibilidade: SELECT C.ID_CODIGO, C.NOME, C.CPF, C.TELEFONE, C.CIDADE, P.ID_CODIGO, P.NUM_PEDIDO, P.VALOR, P.QTDE FROM CLIENTES C, PEDIDOS P WHERE C.ID_CODIGO = P.ID_ CODIGO AND C.CIDADE = SAO PAULO AND P.VALOR > 100 Agora levando em conta os princípios da legibilidade, vamos reescrever a instrução acima: SELECT C.ID_CODIGO, C.NOME, C.CPF, C.TELEFONE, C.CIDADE, P.ID_CODIGO, P.NUM_PEDIDO, P.VALOR, P.QTDE FROM CLIENTES C, PEDIDOS P WHERE C.ID_CODIGO = P.ID_ CODIGO AND C.CIDADE = SAO PAULO AND P.VALOR > 100 Podemos observar que as duas instruções retornaram o mesmo número de registros, e não terão nenhuma diferença na sua performance, mas para quem as lerem, fará uma grande diferença, principalmente se estivermos desenvolvendo um projeto de grande porte, que envolvam muitos desenvolvedores. ORDEM ADEQUADA DE CONDIÇÕES DE JUNÇÃO: Quando trabalhamos com mais de duas tabelas em uma instrução SQL, a tabela base dever locada no lado direito de uma junção numa cláusula WHERE, onde a união deverá ser feita sempre primeiramente com a menor tabela e posteriormente deverá ser efetuada com as maiores, vejamos melhor no exemplo abaixo: SELECT <COLUNAS> FROM TABELA1 (TABELA MENOR) TABELA2 TABELA3 (TABELA MAIOR) WHERE TABELA1.<COLUNA> = TABELA3.<COLUNA> TABELA2.<COLUNA> = TABELA3.<COLUNA> BUSCANDO A CONDIÇÃO RESTRITIVA Buscar a condição mais restritiva é o foco principal, visando um ótimo desempenho em uma consulta SQL. Assim podemos definir uma condição restritiva, como a forma de utilizarmos em uma cláusula WHERE de uma instrução que retorne uma menor quantidade de registros. Para isto é importante saber como o otimizador do banco de dados opera para executar a instrução, pois alguns banco por exemplo lêem da parte inferior da cláusula WHERE para cima, assim devemos colocar a condição mais restritiva por último, pois é a primeira condição que é lida pelo otimizador do banco utilizado. Abaixo vejamos a sintaxe básica: FROM TABELA1 <TABELA MENOR> TABELA2 TABELA3 <TABELA MAIOR> WHERE TABELA1.<COLUNA> = TABELA3.<COLUNA> AND TABELA2.<COLUNA> = TABELA3.<COLUNA> AND CONDIÇÃO 1 <MENOS RESTRITIVA> AND CONDIÇÃO 2 <MAIS RESTRITIVA> Se por ventura, na implementação utilizada, na sua documentação, não mencionar como o otimizador funciona quanto a condições de restrição, para que possamos escrever instruções que interajam de maneira mais eficiente com o banco de dados, a melhor forma, seria executar as consultas cronometrando o seu tempo de execução, verificando se o otimizar lê a cláusula WHERE, de cima para baixo, ou de baixo para cima. Posteriormente, devemos organizá-las de forma que as condições restritivas respondam de maneira concernente ao otimizador. É muito comum, no suporte do THE CLUB, os sócios muitas vezes, apresentarem muita preocupação e dúvidas quanto a conexão a ser escolhida para desenvolvimento de uma aplicação, isto sem dúvida requer uma escolha correta, mas nunca não podemos de nos esquecer que, banco de dados bem construídos, e instruções SQL s bem escritas nos pouparão de muitos problemas, e nos retornarão, um resultado final muito mais proveitoso, principalmente aos olhos de nossos clientes. Um abraço e até a próxima. Sobre o autor Marco Antonio Armando Consultor Técnico The club 14 março 2009

15 Todos os aplicativos, exceto os triviais, precisam processar dados. Historicamente, a maioria dos aplicativos fornece um lógica própria para realizar essas operações. Mas essa estratégia pode fazer o código em um aplicativo tornar-se excessivamente amarrado à estrutura dos dados que ele processa. E se houver mudanças no esquema de banco de dados, talvez você necessite realizar um número significativo de alterações no código que trata os dados. A proposta da LINQ é abstrair o mecanismo que um aplicativo utiliza para consultar dados a partir do próprio código do aplicativo. A LINQ fornece uma sintaxe e semântica muito semelhantes da SQL, com vantagens parecidas. Você pode mudar a estrutura dos dados em consulta sem precisar alterar o código que a realiza. A LINQ tem como objetivo simplificar consultas a informações em collections, arrays, assim como informações baseadas em base de dados, XML e objetos. O diagrama acima apresenta uma visão geral do LINQ, seus provedores e as fontes de dados acessíveis: LINQ TO OBJECTS Tem como objetivo simplificar consultas a informações em collections, arrays, assim como informações baseadas em base de dados, XML e objetos Delphi Prism suporta LINQ através de : Sequences e Query Expressions Lambda Expressions Expressions Trees Extension Methods Anonymous Types Type Inference Atualmente o LINQ suporta Linq to objects Linq to SQL Linq to xml Atualmente o LINQ suporta: LINQ to Objects LINQ to SQL LINQ to XML Vamos entender como funciona o LINQ QUERY EXPRESSIONS março

16 Permite executar querys em coleção de objetos. Vamos contruir um exemplo prático. Vá no menu File --> New --> Project. No treeview a esquerda escolha Delphi Prism. Selecione o template Windows Aplication.(Imagem 1) Clique em ok. No form Principal adicione um button e um listbox. Seu layout ficará assim (Imagem 2): Clique duas vezes no botão do formulário. Adicione no evento do botão o seguinte trecho de código (trecho 1) method MainForm.btnok_ Click(sender: System. Object; e: System. EventArgs); var words : Array of string :=[ ola, Delphi Prism, linq, The Club, Alexandre ]; Imagem 1 var shortwords:= From word in words where Word.Length<=5 select Word; for each word in shortwords do lstvalor.items. Add(word); Trecho1. Na edição anterior, abordei algumas caracteristicas da linguagem Oxygene( baseado em Object Pascal), vale a pena dar uma olhada. Observe a nova sintaxe de declaração de variáveis. Declarei um array com 5 elementos. Na variável shortwords (Query Exprressions) fiz um select dentro do array para trazer as palavras que contenham até 5 caracteres. Observe que a variável word receberá os itens consultados. Um ponto importante é que essa variável não necessita de uma declaração explicita e a mesma será utilizada no escopo do select. O select word retorna a instância do tipo array. Imagem 2 Imagem 3 O laço de repetição for each traz o resultado do Query Expressions.Dê um F5 para debugar e observe o resultado na figura 3. LINQ TO SQL Permite executar querys em banco de dados, mapeando tabelas como classes, conhecidas como Entity classes. Tem como objetivo mapear tabelas e seus atributos como classes aproveitando o conheci- 16 março 2009

17 mento em SQL Vamos efetuar o mapeamento objeto relacional, criar um contexto de dados (DataContext) e consultar um banco de dados SQL Server com LINQ To SQL via código. Mapeando classes para Tabelas O conceito de mapeamento objeto Relacional (ORM) não é uma novidade. Um ORM pode ser visto como um classe (entidade) que possui propriedades ou campos que mapeiam para as colunas de um banco de dados. O mapeamento para uma tabela possui dois elementos básicos: 1. TableAttribute - mapeia a classe para a tabela no banco de dados; 2. ColumnAttribute - mapeia cada propriedade para uma coluna do banco de dados; Para mapear a classe para uma tabela usamos o TableAttribute com argumentos nomeados para associar a classe com a tabela. Abra o Visual Studio 2008 e crie um novo projeto do tipo Windows Application com o nome ExemploLInq. Imagem 4 A seguir inclua uma referência ao LINQ To SQL clicando com o botão direito sobre o nome do projeto e selecionando Add Reference; A seguir na janela Add Reference selecione, na aba.net, System.Data.Linq e clique no botão OK. Veja a imagem 4; Com isso já temos tudo pronto para iniciar o projeto. Vamos criar um banco de dados com o Studio Express. No object Explorer clique duas vezes em seucomputador\sqlexpress. Com o botão direito do mouse em DataBase, acesse new DataBase. Em databasename coloque Categorias. Clique em OK e pronto,nosso banco já esta criado. Veja a imagem 5. Imagem 5 março

18 Clique duas vezes em CATEGORIAS e clique com o botão direito do mouse em tables. 6 Adicione a primeira tabela conforme imagem Faça o mesmo procedimento para adicionar a table SUBCATEGORIA. Veja a imagem 7. Faça o mesmo procedimento para criar uma tabela de contatos Vamos criar o diagrama do banco de dados. Clique em DataBase Diagrams com o botão direito do mouse e adicione um novo. Nosso relacionamento ficará assim: Veja a imagem 8. Imagem 6. Nosso objetivo será efetuar o mapeamento objeto relacional com as tabelas Contato Categoria e Subcategoria. No menu Project Add New Item selecione o template Class e informe o nome Categoria.PAS. Clique em add. Nesta classe iremos definir o mapeamento entre as tabelas do banco de dados. Abra a classe e inclua a seguinte declaração : System.Data.linq, System.Data.Linq.Mapping, Agora inclua o seguinte código(listagem1) que irá criar o mapeamento para as tabelas Categorias e SubCategorias para os campos definidos: namespace ExemploLInq; Imagem 7. interface uses System.Collections. Generic, System.Linq, System.Data.linq, System.Data.Linq.Mapping, System.Text; type [Table(Name:= Imagem março 2009

19 CATEGORIAS )] Categorias = public class Public [Column(IsPrimaryKey:=true, Name:= CATEGORIAID )] Property CategoriaID:Integer; [Column(Name:= NOME )] Property CatNome:String; End; [Table(Name := SUBCATEGORIAS )] Subcategorias = class Public [Column(IsPrimaryKey:=true, Name:= SUBCATEGORIAID )] Property SubcategoriaID:Integer; [Column(Name:= NOME )] Property SubcatNome:String; [Column(Name:= CATEGORIAID )] property CategoriaID:Integer; [Association (OtherKey:= CategoriaID )] Property Categorias: EntitySet<Categorias>; End; implementation end. Se trabalharmos com join podemos representá-las através de Associações. ENTIDADES PODEM ESTAR RELACIONADOS ATRAVÉS DO ATRIBUTO DE ASSOCIAÇÃO (Joins) Observe que z classe que verifica a associação entre Subcategorias e Categorias de um produto. Vamos mapear a tabela contatos.crie uma outra classe Contatos.Listagem 1 namespace ExemploLInq; interface uses System.Collections. Generic, System.Linq, System.Data.linq, System.Data.Linq. Mapping, System.Text; type [Table(Name:= CONTATOS )] Contatos = Class Public [Column(IsPrimaryKey:=true, Name:= CONTATOID )] Property contatoid:integer; [Column(Name:= Nome )] Property ContatoNome:String; End; implementation end. Na classe principal Main.pas adicione um DataGridView que se encontra na seção Data do ToolBox. Adicione também dois buttons e um textbox que se encontra na seção Common Controls. O textbox terá o caminho do banco. Adicione em uses : System.Linq, System.Data.Linq, System.Data.Linq. Mapping, O formulário ficará assim: No evento Clique do botão Query com Joins adicione o script abaixo: Adicione em uses System.Data.Linq, method MainForm.Joins_ Click(sender: System.Object; e: System.EventArgs); var Path :String := System.IO.Path. GetFullPath(tbDataBase. text); // inicialização da variável para pegar o banco de dados db:datacontext := new DataContext(path); cats:table<categorias> := db.gettable<categorias>(); subcats:table<sub categorias>:=db. GetTable<Subcategorias>(); Begin Var query:= from cat in cats join subcat in subcats on cat. CategoriaID equals subcat. CategoriaID order by cat.catnome select new class (cat.catnome,subcat. SubcatNome); datagridview1.datasource := query; Temos quatro variáveis,sendo a primeira é armazenado o caminho do banco e a segunda armazenda um DataContext que faz a conexão com o banco. As varíaveis categoria e subcategoria são do tipo table e através do método gettable elas referenciam seu tipo genérico. Em query temos os alias categoria e subcategoria representando as variaveis categorias e subcategorias respectivamente. Em on categoria.categoriaid equals subcategoria.categoriaid é feito o join. Os registros são ordenados em order by Categoria.Nome. março

20 O resultado é retornado numa nova classe ( select new class (categoria.nome,subcategoria. Nome) Atribuimos o resultado query que é um collection em um DataGridView. Nota do consultor. A classe DataContext é uma classe LINQ to SQL que atua como uma ponte entre o banco de dados SQL Server e as classes das entidades LINQ To SQL mapeadas para o banco de dados. Ela contém a informação e os métodos para efetuar a conexão com o banco de dados e manipular os dados. Da mesma forma, no botão query simples adicione o código abaixo: method MainForm.Simples_ Click(sender: System. Object; e: System. EventArgs); Var Path :String := System.IO.Path. GetFullPath(tbDataBase. text); // inicialização da variável para pegar o banco de dados db:datacontext := new DataContext(path); // Criação do Contexto Var contato:= from contato in db.gettable<contatos>() where contato.contatonome = JOSE select contato; datagridview1.datasource := contato; // atribuo a collection ao datasource Imagem 9. LINQ TO XML O LINQ to XML é um provedor de dados LINQ que é implementado no namespace System.Xml. LINQ a partir da versão 3.5 da plataforma.net. Ele fornece um modelo de programação que permite ler, construir e escrever dados XML. Você pode usar LINQ To XML para realizar consultas LINQ sobre dados no formato XML que podem ser retornados do arquivo de sistemas, de uma URL HTTP remota, de um web service ou partir de qualquer XML em memória existente. Observe a hierarquia da classe linq to XML. Veja a Imagem 9. As principais classes do link to xml são: XDocument Atua como um container para a árvore XML e deve ser usado somente se necessário. Você pode salvar o documento com um arquivo XML. XElement Permite criar elementos, modificar o conteúdo dos elementos (incluir, remover, modificar elementos filhos), modifica os atributos dos elementos, salvar como um arquivo XML. XAttribute Usado para criar um par nome/valor no interior de um elemento do arquivo XML. XName Representa um nome completo XML consistindo de um objeto XNamespace e do nome local. XComment Representa um comentário XML. XDocumentType Representa um documento XML DTD - Document Type Definition. XProcesingInstruction Representa o processamento de uma instrução de um documento XML. XTest Representa um nó Texto. XDeclaration Representa uma declaração XML. O LINQ TO XML gera arquivos xml diretamente a partir das classes. Isso implica em redução de linha de código em até 4 vezes. Outro ponto importante é que o XML até então não tinha boa integração com as linguagens, sendo necessário o uso de diversas API s. Vamos criar um pequeno exemplo desse poderoso recurso utilizando um array de livros. Crie um novo projeto em files->new projet windowapplication Adicione dois textbox e dois buttons. O layout ficará assim: Veja a Imagem 10 Para criar documentos completos XML você deve primeiro instanciar o objeto XDocument e então incluir o elemento XElement, XAtributte ou outra entidade que o documento necessita. Clique no botão gerar XML e adicione o código abaixo 20 março 2009

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

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

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

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

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

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

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

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

Delphi 7 Aula 01 Área do Triângulo

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

Leia mais

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

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

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

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

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

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

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

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

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

Leia mais

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

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

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

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

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

Í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

Elementos do IDE do Delphi

Elementos do IDE do Delphi Capítulo 2 Um Tour pelo Ambiente de Programação do Delphi Ao final deste capítulo, você estará apto a: Identificar os elementos do IDE do Delphi Identificar os elementos essenciais que formam uma aplicação

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

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

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

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

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

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

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

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

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

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

DESENVOLVENDO SOLUÇÕES COM VISUAL FOXPRO 8 E 9

DESENVOLVENDO SOLUÇÕES COM VISUAL FOXPRO 8 E 9 DESENVOLVENDO SOLUÇÕES COM VISUAL FOXPRO 8 E 9 Í N D I C E Capítulo 1 - O Início de Tudo 1 Reunindo todas as informações necessárias 2 Instalando o Visual FoxPro 2 Configurando o Visual FoxPro 7 Capítulo

Leia mais

TUTORIAL III: ADICIONANDO AJUDA. Adicionando Ajuda

TUTORIAL III: ADICIONANDO AJUDA. Adicionando Ajuda Adicionando Ajuda Para construir arquivos de ajuda do Windows, é necessário saber quais são os componentes de um arquivo de ajuda. Você tem três arquivos básicos que são parte de cada arquivo de ajuda:

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

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

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

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

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

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

Primeiramente lemos a seguinte citação, copiada de Excel-Ajuda:

Primeiramente lemos a seguinte citação, copiada de Excel-Ajuda: 33 Capítulo 3 Procedimentos (macros) Primeiramente lemos a seguinte citação, copiada de Excel-Ajuda: O objetivo de uma macro é automatizar as tarefas usadas com mais freqüência. Embora algumas macros sejam

Leia mais

Seguindo o modelo descrito nas Tabelas 1 e 2, crie os arquivos utilizando a versão doo Excel que você tiver disponível.

Seguindo o modelo descrito nas Tabelas 1 e 2, crie os arquivos utilizando a versão doo Excel que você tiver disponível. Atividade 4 2013 SSIS Atenção! A atividade 4 será apresentada para toda a turma. Cada aluno terá 10 minutos para apresentação. O dia da apresentação será posteriormente marcado. Montando o cenário Para

Leia mais

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

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

Leia mais

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

MANUAL DE INSTRUÇÕES

MANUAL DE INSTRUÇÕES MANUAL DE INSTRUÇÕES SUMÁRIO Introdução... 2 O que é o izcode?... 2 Como funciona o izcode?... 2 Como é composto o izcode?... 2 Pré requisitos... 3 Explorando o software cliente... 3 Iniciando o software...

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

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

Consulta de endereço através do Cep

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

Leia mais

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

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

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

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

Integrando Eclipse e Websphere Application Server Community Edition

Integrando Eclipse e Websphere Application Server Community Edition 1 Integrando Eclipse e Websphere Application Server Community Edition Sobre o Autor Carlos Eduardo G. Tosin (carlos@tosin.com.br) é formado em Ciência da Computação pela PUC-PR, pós-graduado em Desenvolvimento

Leia mais

PL/SQL Developer. Solução para Ambiente de Desenvolvimento Integrado Oracle

PL/SQL Developer. Solução para Ambiente de Desenvolvimento Integrado Oracle Solução para Ambiente de Desenvolvimento Integrado Oracle PL/SQL Developer é um ambiente de desenvolvimento integrado (IDE) que foi especialmente destinado ao desenvolvimento de programas armazenados em

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

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

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

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

Leia mais

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

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

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

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

Leia mais

Apostila de CmapTools 3.4

Apostila de CmapTools 3.4 Apostila de CmapTools 3.4 Índice Definição do software... 3 Criando um novo mapa... 3 Adicionando um conceito... 3 Alterando a formatação das caixas (Barra de Ferramentas Estilos Paleta Styles)... 7 Guia

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

Excel 2010 Modulo II

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

Leia mais

Trabalhando com XML RENATO CORREIA DE MATOS

Trabalhando com XML RENATO CORREIA DE MATOS Trabalhando com XML RENATO CORREIA DE MATOS Para que aplicações heterogêneas possam se comunicar é necessário que haja um padrão. Uma boa escolha para a troca de mensagens seria por meio de arquivo texto,

Leia mais

Guia do Programador Joel Saade

Guia do Programador Joel Saade C# Guia do Programador Joel Saade Novatec Copyright 2011 da Novatec Editora Ltda. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução desta obra, mesmo parcial,

Leia mais

Iniciando no Visual Basic.NET

Iniciando no Visual Basic.NET Iniciando no Visual Basic.NET A Microsoft disponibiliza duas versões das suas ferramentas de desenvolvimento, a versão profissional, que integra, em um único ambiente, todas as ferramentas de desenvolvimento

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

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

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

Leia mais

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

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

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

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

DELPHI 7 LINGUAGEM DE PROGRAMAÇÃO AMBIENTE CLIENTE SERVIDOR

DELPHI 7 LINGUAGEM DE PROGRAMAÇÃO AMBIENTE CLIENTE SERVIDOR DELPHI 7 LINGUAGEM DE PROGRAMAÇÃO AMBIENTE CLIENTE SERVIDOR Fortaleza - CE Introdução ao ambiente de desenvolvimento delphi e preparação da interface basíca O ambiente delphi foi criado pela Borland Software

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

Persistindo dados com TopLink no NetBeans

Persistindo dados com TopLink no NetBeans Persistindo dados com TopLink no NetBeans O que é TopLink? O TopLink é uma ferramenta de mapeamento objeto/relacional para Java. Ela transforma os dados tabulares de um banco de dados em um grafo de objetos

Leia mais

Curso de Iniciação ao Access Basic (I) CONTEÚDOS

Curso de Iniciação ao Access Basic (I) CONTEÚDOS Curso de Iniciação ao Access Basic (I) CONTEÚDOS 1. A Linguagem Access Basic. 2. Módulos e Procedimentos. 3. Usar o Access: 3.1. Criar uma Base de Dados: 3.1.1. Criar uma nova Base de Dados. 3.1.2. Criar

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

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

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

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

Acessando a Porta Paralela com o Delphi. Vitor Amadeu Souza. vitor@cerne-tec.com.br

Acessando a Porta Paralela com o Delphi. Vitor Amadeu Souza. vitor@cerne-tec.com.br Acessando a Porta Paralela com o Delphi Vitor Amadeu Souza vitor@cerne-tec.com.br Introdução A Porta Paralela pode ser usada de forma a permitir a interface do computador com o mundo externo para acionamento

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

Módulo 3936 ASP.NET. Financiado pelo FSE

Módulo 3936 ASP.NET. Financiado pelo FSE 2 EISnt Centro de Formação Profissional, Engenharia Informática e Sistemas, Novas Tecnologias, Lda Avª D. João I, nº 380/384 Soutelo 4435-208 Rio Tinto Portal Internet : www.eisnt.com E-Mail : formação@eisnt.com

Leia mais

Dicas para usar melhor o Word 2007

Dicas para usar melhor o Word 2007 Dicas para usar melhor o Word 2007 Quem está acostumado (ou não) a trabalhar com o Word, não costuma ter todo o tempo do mundo disponível para descobrir as funcionalidades de versões recentemente lançadas.

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

INSTALANDO E CONFIGURANDO O MY SQL

INSTALANDO E CONFIGURANDO O MY SQL INSTALANDO E CONFIGURANDO O MY SQL Este tutorial tem como objetivo mostrar como instalar o banco de dados My SQL em ambiente Windows e é destinado aqueles que ainda não tiveram um contato com a ferramenta.

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

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

DIGISAT ERRO MIDAS.DLL

DIGISAT ERRO MIDAS.DLL DIGISAT ERRO MIDAS.DLL Para resolver esta questão, faça o download do "Registra Midas" e "midas.dll" que estão disponíveis nos links abaixo e salve-os dentro da pasta de instalação do sistema. Em seguida,

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

Gabarito - Programação C# com Visual Studio - Intermediário - 05/08/2013 AULA 01. 1 Perguntas e Respostas

Gabarito - Programação C# com Visual Studio - Intermediário - 05/08/2013 AULA 01. 1 Perguntas e Respostas Gabarito - Programação C# com Visual Studio - Intermediário - 05/08/2013 1 Perguntas e s AULA 01 1- A ferramenta responsável pelo auto incremento chama- se Identity. (Sim) 2- A ferramenta responsável pelo

Leia mais

8VDQGR5HSRUW0DQDJHUFRP&ODULRQH3RVWJUH64/ -XOLR&HVDU3HGURVR 8VDQGRSDUkPHWURV

8VDQGR5HSRUW0DQDJHUFRP&ODULRQH3RVWJUH64/ -XOLR&HVDU3HGURVR 8VDQGRSDUkPHWURV 8VDQGRSDUkPHWURV O envio de parâmetros para um relatório é uma das funções mais úteis do Report Manager, com eles você pode: Permitir que o usuário final altere palavras ou sentenças de um relatório; Atribuir

Leia mais

INDICE 3.APLICAÇÕES QUE PODEM SER DESENVOLVIDAS COM O USO DO SAXES

INDICE 3.APLICAÇÕES QUE PODEM SER DESENVOLVIDAS COM O USO DO SAXES w w w. i d e a l o g i c. c o m. b r INDICE 1.APRESENTAÇÃO 2.ESPECIFICAÇÃO DOS RECURSOS DO SOFTWARE SAXES 2.1. Funcionalidades comuns a outras ferramentas similares 2.2. Funcionalidades próprias do software

Leia mais

Objetivo do Sistema. Configuração Mínima (recomendada) Disposição do Manual

Objetivo do Sistema. Configuração Mínima (recomendada) Disposição do Manual Índice Objetivo do Sistema Configuração Mínima (recomendada) Disposição do Manual Módulo Básico Instalando o PDV Abertura e tela de Senha Seleções / Tecla de Funções Ajuda Usando o sistema como ferramenta

Leia mais

Digitalização. Copiadora e Impressora WorkCentre C2424

Digitalização. Copiadora e Impressora WorkCentre C2424 Digitalização Este capítulo inclui: Digitalização básica na página 4-2 Instalando o driver de digitalização na página 4-4 Ajustando as opções de digitalização na página 4-5 Recuperando imagens na página

Leia mais

ETEC Dr. Emílio Hernandez Aguilar

ETEC Dr. Emílio Hernandez Aguilar ETEC Dr. Emílio Hernandez Aguilar Grupo: Leonardo; Ronaldo; Lucas; Gustavo; Fabio. 2º Informática Tarde 2º Semestre de 2009 Introdução O PostgreSQL é um SGBD (Sistema Gerenciador de Banco de Dados) objeto-relacional

Leia mais