Índice. Coluna Mauro Sant Anna. É o fim de Pirataria?

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

Download "Índice. Coluna Mauro Sant Anna. É o fim de Pirataria?"

Transcrição

1 agosto 2008

2 agosto 2008

3 Índice Editorial Olá caros associados, é com muita alegria que eu digo, sejam bem vindos, bem vindos à nova fase que nos The Club estamos vivendo, acredito que tudo na vida passa por fases, e a fase que acabamos de entrar é de inovações e crescimento. Coluna Mauro Sant Anna É o fim de Pirataria? Copiar um software sem remuneração às pessoas e empresas que o criaram é algo que todo fabricante de software teme. Evidentemente existem proteções legais, como a Lei de Software de 1991 antes de 1991 *não* era crime 04 copiar software no Brasil. 05 Delphi Leitura de Gabaritos uma abordagem prática Delphi 2007 Utilizando DBExpress 4 e Firebird em uma aplicação Win32 Capturando imagem e video de sua webcam NET Lambda Expressions Expressão lambda foi adicionada ao Visual Basic 2008 e C# 3.0, com o objetivo de apoiar Language Integrated Queries (LINQ).Quanto mais você utilizar a Expressão lambda, mais você verá sua potência e flexibilidade. Legenda Iniciante Intermediário Avançado 18 Miscelânea SQLite - o pequeno notável A maioria dos bancos de dados hoje em dia roda no sistema cliente/ servidor. Isso significa que o banco de dados fica como um serviço e toda vez que a aplicação necessita de dados, ela conecta com esse serviço e pega as informações. Isso também significa que você tem que instalar o Gerenciador, configurar conexões, hostnames, portas e 21 tudo mais. Delphi Dicas Como instalar o pacote de componente Decision Cube no Delphi 2007 Pegando a versão do Firebird que está rodando no servidor Descobrir o nome da tabela no ClientDataSet Desenhar uma linha sobre os registros do DBgrid Habilitar e desbilitar botões no form de forma genérica ASP.NET Rotina para conversor de valores por extenso agosto

4 Bem-vindo Olá caros associados, é com muita alegria que eu digo, sejam bemvindos, bem-vindos à nova fase que nos The Club estamos vivendo, acredito que tudo na vida passa por fases, e a fase que acabamos de entrar é de inovações e crescimento. Com muita energia e entusiasmo toda uma reestruturação está sendo feita, com o principal objetivo de oferecer um conteúdo técnico da melhor qualidade e um suporte ágil. Claro que não é possível fazer uma revolução do dia para a noite, espero que todos entendam, mas acredito que todos perceberão a novas mudanças que virão por ai. E para começar, é de roupa nova que entrego a vocês a edição de Nº 167 do The Club Megazine, agora organizada em seções, sendo elas seção Delphi,.Net, Miscelâneas aberta para assuntos como banco de dados, metodologias de programação entre outras novidades, e além da já conhecida Dicas e Truque, criamos mais uma novidade, a seção Dicas.Net. Nesta ponto da leitura vendo a criação de seções específicas em.net o leitor deve estar se perguntando se o The Club está perdendo o interesse em Delphi, a resposta é não, apenas estamos abrindo mais espaço para outras tecnologias também de interesse de muitos associados, e mantendo o compromisso de inovação. Neste mês passamos a contar com novos colaboradores, e a volta de antigos amigos como Victory Fernandes que neste mês escreve sobre o uso de leitores de gabaritos e a sua integração com aplicações Delphi. E vendo a necessidade de muitos programadores iniciantes, tive a iniciativa de escrever um artigo com conceitos básico de como criar uma aplicação usando Delphi 2007, dbexpress e o Banco de dados Firebird. Temos Fabiano Belmont que em seu primeiro artigo para nossa revista escreve sobre Expressões Lambda, mostrando mais um pouco do potencial da linguagem C# no framework 3.5. Na seção Miscelâneas Luiz Alexandre Oliveira traz o artigo sobre o compacto banco de dados SQLite, com toda sua simplicidade, leveza e aplicabilidade. Verá também na coluna de nosso antigo colaborador Mauro Sant Anna, uma interessante matéria sobre a pirataria e como empresas estão se adaptando ao longo dos anos para evitar este mal. 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 Marco César Silva Diagramação e Arte Vitor M. Rodrigues Revisão Marcos César Silva Colunistas Alessandro Ferreira Fabiano Belmonte Fellipe Capolupo Luís Alexandre de Oliveira Marcos César Silva Mauro Sant Anna Victory Fernandes Impressão e acabamento: GRILL - 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. Desejo a todos uma boa leitura e boa sorte a todos nós. Marcos Césa Silva - Editor Chefe Delphi é marca registrada da Borland International, as demais marcas citadas são registradas pelos seus respectivos proprietários. 04 agosto 2008

5 Coluna Mauro Sant Anna O Fim da Pirataria? Copiar um software sem remuneração às pessoas e empresas que o criaram é algo que todo fabricante de software teme. Evidentemente existem proteções legais, como a Lei de Software de 1991 antes de 1991 *não* era crime copiar software no Brasil. No entanto, as proteções legais são de eficácia limitada, especialmente contra usuários domésticos. Por causa disto, muitas empresas adotaram medidas técnicas de proteção contra cópia para tentar impedir a distribuição indiscriminada do seu software. Por exemplo, os DVDs feitos para a console de jogo XBOX da Microsoft são especiais e só tocam em um drive modificado. Por outro lado, os piratas sempre apareciam com contra-medidas que permitiam a cópia apesar dos bloqueios. No caso do Xbox o destravamento é feito instalando-se uma placa com um circuito dentro da console. Desta forma, durante anos os fabricantes de software e os piratas travaram uma verdadeira guerra de medidas, contra-medidas e contra-contra-medidas. Por exemplo, a Microsoft constantemente modifica o circuito do Xbox de forma a fazer com que so circuitos de destravamento deixem de funcionar. No caso de softwares para microcomputadores, ainda na década de oitenta, apareceram truques visando impedir a cópia de disquetes. Um deles previa até mesmo danificar o disquete com um furo feito por um laser! Depois apareceram os dispositivos de hardware, verdadeiras chaves ( dongles em inglês), ligados inicialmente nas portas de impressora e mais recentemente nas portas USB. O software exigia a presença destas chaves para poder rodar. Ou seja, o software até poderia ser facilmente copiado, mas não era possível copiar o dispositivo físico que o software exigia. Quando a mídia padrão passou a ser discos óticos (CD ou DVD), também surgiram truques para impedir a cópia deste tipo dos discos. Todos estes métodos tinham características em comum: oneravam a produção do software, irritavam os usuários legítimos e sempre eram quebrados pelos piratas. Dada a eficácia limitada dessas medidas, a maioria dos fabricantes de software simplesmente abandonou a proteção contra cópia e assumiu a posição de que a pirataria era parte do preço de se fazer negócio. Os piratas ganharam. Hoje, no entanto a Internet abre novas possibilidades no sentido de reduzir ou até mesmo acabar completamente com a pirataria. Em primeiro lugar, vários produtos podem rodar em uns ambientes hospedados e acessíveis através de navegador Internet. Este acesso exigiria cadastro e pagamento prévio utilizando senhas e criptografia para garantir a inviolabilidade, de forma semelhante a usadas pelos bancos em seus aplicativos de home banking. Por exemplo, tanto a Microsoft como o Google vendem serviços de hospedagem de correio eletrônico corporativo, que dispensam a compra, instalação e manutenção de um servidor de correio. Uma segunda possibilidade é um esquema misto, onde o software roda essencialmente na estação, mas recorre a um servidor para alguma função importante. Por exemplo, um software de contabilidade poderia ter toda a entrada de dados remota, mas armazenaria os dados e rodaria relatórios em um servidor central. As alternativas acima exigem acesso a Internet ou todo o tempo ou pelo menos uma boa parte do tempo. E se o acesso à Internet não for confiável? Bem, isso está cada vez mais raro e tende a desaparecer. Mas, mesmo neste caso, o software poderia consultar um servidor central periodicamente apenas para pegar uma espécie de código de autorização ou atualizações. Embora ainda suscetível a ataques, caso as atualizações sejam bastante freqüentes por exemplo, uma vez por semana os piratas terão que trabalhar rapidamente para quebrar e distribuir a nova versão, algo que pode se revelar simplesmente impraticável. Na verdade, já estamos vendo as primeiras implementações deste tipo de tecnologia. A ativação através da Internet presente em alguns produtos da Microsoft como Windows e Office é ume pequeno exemplo do que está por vir. Outro bom exemplo é o XBox Live, um serviço pago no qual usuários da console de jogos XBox pode não apenas jogar com outras pessoas, mas também adquirir novos jogos ou extensões a jogos já existentes. Diga-se de passagem, o serviço não funciona se a sua console tiver sido desbloqueada. A distribuição de software através da internet tem também o benefício de eliminar intermediários, fazendo que uma parcela maior do dinheiro pago pelo usuário chegue ao fabricante. Ela também acabará com o argumento de que o software tem que ser mais caro para compensar os usuários que não pagam. Com todo mundo pagando, o preço individual deve cair, o que ainda tira mais um incentivo da pirataria. Sobre o autor Mauro Sant Anna nunca trabalhou na Microsoft, mas conhece bastante a empresa, já que é MVP e Regional Director of the Year. Ele coordena os cursos na M. A. S. Informática (www.mas.com.br) e bloga em Português em e em inglês em agosto

6 Delphi Leitura de Gabaritos Uma abordagem prática Seguindo a linha de publicações voltadas à integração de sistemas computacionais a dispositivos externos diversos, apresentamos neste artigo uma abordagem prática para desenvolvimento de aplicativos integrados a leitores de gabaritos, neste caso específico, leitores da série LOHS da HS Informática (www. hsinformatica.com.br). Leitores de Gabaritos OMR - Conceitos gerais Os leitores de gabaritos são utilizados para a rápida correção de avaliações objetivas em escolas e concursos que utilizem a folha de gabarito padrão, porém essas não são as únicas utilidades dos leitores OMR. Por possuírem boa precisão e velocidade, são utilizados também nas áreas de pesquisas de opinião, indústria (apontamentos e controle de qualidade, por exemplo), loterias e outros jogos, área de saúde (para controle de medicamentos, visitas ao paciente etc) e negócios em geral, para a leitura de informações de forma mais ágil e confiável, reduzindo a margem de erro de leitura na contagem das respostas. Tais equipamentos utilizam processo reflexivo para detectar o preenchimento das marcas. Nesse processo um feixe de luz é emitido e caso a opção não esteja assinalada o feixe será reflexivo, e caso esteja marcada, o feixe de luz não será recebido de volta, conforme Figura 1. Dessa forma podemos dizer que caso não haja resposta marcada, o retorno binário é 1, caso contrário é 0. Essa é uma informação importante, pois a usaremos para interpretar a leitura feita pela LOHS de um gabarito. Figura 01: Leitura dos gabaritos por processo reflexivo O equipamento LOHS Nos testes realizados foi utilizado o modelo LOHS40mi Manual conforme mostrado na Figura 2, que faz a leitura de formulários com largura fixa de tamanho 3 ¼ (82,5 mm),este modelo permite dispor da tecnologia de leitura óptica com reduzido investimento, e constitui um equipamento robusto, compacto e simples de operar, Figura 02: Equipamento LOHS40mi Manual utilizado nos testes A conexão do LOHS com o computador pode ser feita de duas formas através da porta Serial (RS232), ou da porta USB, sendo a opção de porta USB disponível apenas para os modelos LOHS4mi, LOHS40mi, LOHS4mi-CEF. Durante os testes, o LOHS foi utilizada a comunicação através da porta USB do computador. Para tal, fez-se necessária a instalação de drivers disponibilizados pelo fabricante e documentados no manual do mesmo. Esses drivers criam outra porta serial no seu computador, chamada de Porta Serial Virtual(Virtual Com Port VCP). A configuração da porta deverá ser a seguinte: 2 stop bits; 1 start bit; 8 bits/caracter; Sem paridade; Full duplex; Velocidade: 9600 bps; Após a adição da nova porta, o LOHS está pronto para ser reconhecido e conectado no computador. Para maiores detalhes sobre os drivers, procedimento de instalação e configuração consulte o manual do equipamento, disponível no site do fabricante. Encontra-se também disponível no site do fabricante um software de teste e configuração conforme mostrado na Figura 3. Esse aplicativo é o primeiro passo para garantir que o equipamento está pronto para ser utilizado. Figura3: Tela principal do software gratuito de teste e configuração do equipamento fornecido pelo fabricante. Depois de instalado, podemos dar inicio aos nossos testes. Selecione a porta serial a qual o LOHS está conectado, após a seleção da porta, digite o número de linhas do seu gabarito. Para tal, é necessária uma breve explicação sobre o número de linhas de um gabarito, chamados também de 06 agosto 2008

7 Clocks. Os clocks são um dos conceitos mais importantes para a leitura óptica, pois é através dele que o leitor diferencia uma linha da outra, são marcações pretas alinhadas à lateral do gabarito. Um clock equivale a uma linha. A seguir um exemplo de um gabarito com 35 linhas, ou seja, 35 clocks, conforme mostrado na Figura 4. Fgura5: Leitura de um gabarito a partir do software de testes. Figura4: Clocks de um gabarito. Uma vez configurada a porta serial e digitado o número de linhas no aplicativo de teste, devemos clicar no botão abre serial. Esse comando configura o seu computador com os parâmetros de comunicação necessários ao LOHS, acessa a porta serial e inicia a comunicação com o equipamento. Com a porta serial configurada e aberta, clique no botão Ler e insira um formulário no equipamento. A imagem da leitura do gabarito é exibida no espaço ao lado dos comandos conforme mostrado na Figura 5. Repita a leitura quantas vezes for necessário para testar o equipamento e confira se o resultado dos valores lidos apresentados no aplicativo correspondem com a marcação feita no gabarito. Antes de sair do aplicativo e teste, clique em Fecha Serial para restaurar as configurações padrão da porta e libera-la para que outros dispositivos possam usá-la. Figura6: Aplicativo demo de uso da LOHS.dll em Delphi. Além do software de teste, encontra-se disponível no site do fabricante diversos outros softwares que facilitam a comunicação e a leitura de informações dos gabaritos, incluindo a biblioteca LOHS. dll que permite a integração com o equipamento a partir do seu aplicativo desenvolvido em qualquer plataforma Win32. A biblioteca LOHS.dll O acesso ao download do manual da LOHS. dll só é possível através de senha fornecida pelo fabricante, e além do manual utiliza-se como referência o aplicativo demo de uso da dll também disponível para download, conforme mostrado na Figura 06. Neste aplicativo é possível se verificar as chamadas às funções disponibilizadas na LOHS.dll, conforme mostrado a seguir no código fonte 01: agosto

8 function AbreSerial( porta : char; bps : longint; paridade : char; databits : char; stopbits : char; cmodelo : Byte; cnumlinhasfrente : Byte; cnumcolunasfrente : Byte; cnumlinhasverso : Byte; cnumcolunasverso : Byte; cnumcodbarras : Byte; LeituraDupla : Boolean) : ShortInt; stdcall; external.\lohs.dll ; De das informações da tabela anterior que lista os principais bytes de um quadro de dados, veremos agora como o quadro é formatado, sua sintaxe. A estrutura de formação dos quadros é sempre igual, variando apenas o tamanho total do quadro e o tipo de CRC utilizado, salvo a resposta de leitura de cartão. O quadro é formatado da seguinte maneira: Utilizando CRC o <STX> <TAM> <ID> <TEXTO> <ETX> <CRC1> <CRC2> Utilizando XOR o <STX> <TAM> <ID> <TEXTO> <ETX> <XOR1> function LerCartao() : TResultBiblioteca; stdcall; external.\lohs.dll ; function LerCartaoParametro() : TResultBiblioteca; stdcall; external.\lohs.dll ; function FechaSerial() : ShortInt; stdcall; external.\lohs.dll ; function Aceita() : Boolean; stdcall; external.\ LOHS.DLL ; procedure Alarme; stdcall; external.\lohs.dll ; procedure DesligaMotor; stdcall; external.\lohs. DLL ; código fonte 01 Um problema encontrado pela maioria dos desenvolvedores ao utilizar este equipamento é que a alternativa para comunicação utilizando a dll do próprio fabricante do equipamento não é gratuita! Ou seja, o fabricante além de vender o equipamento, vende também a dll de acesso ao equipamento que é protegida por hardlocks Proteq ou Hasp. É um contra-senso, mas é como se a Bematech além de vender impressoras fiscais ECF, cobrasse também pela venda das dlls de acesso ao seu próprio equipamento. Para um cliente que adquira duas máquinas e deseje utilizar o seu software que se integra ao equipamento através da LOHS.dll, o cliente precisará adquirir 2 licenças de uso da dll, caso contrário não conseguirá utilizar os 2 equipamentos ao mesmo tempo. Infelizmente este tipo de política de licenças onera demais as soluções de software dos desenvolvedores, e os mesmos acabam buscando soluções alternativas que possibilitem maior flexibilidade e autonomia. Protocolo de comunicação com o LOHS Uma alternativa ao uso da biblioteca LOHS.dll, que dispensa a necessidade da compra de licenças, é utilizar a comunicação direta com o equipamento através do seu protocolo de comunicação. Desta forma é possível ter total autonomia sobre o processo de comunicação com o equipamento independente de soluções de terceiros, de forma que ao aconselhar a sua solução, tudo o que o cliente precisará fazer é adquirir o equipamento e nada mais, enquanto para solução de outros desenvolvedores, cada novo cliente terá ainda de pagar para adquirir a dll. Esse protocolo em formato texto deve ser rigidamente seguido para que a comunicação entre o equipamento e o computador acontece de forma correta, conforme a lista de principais comandos apresentada na Tabela 1. Para um mesmo quadro de dados é possível se obter uma das duas respostas anteriores, a depender da configuração do tipo de CRC utilizado. Com base na estrutura geral dos quadros apresentada é possível enviar comandos ao equipamento e receber o retornos. A seguir alguns comandos são apresentados. Comando Beep Esse comando faz com que o LOHS soe um beep ao recebê-lo. Formato do Comando Utilizando CRC o <STX> <06> <03> <ETX> <CRC1> <CRC2> Formato do Comando Utilizando XOR o <STX> <05> <03> <ETX> <XOR1> O LOHS responderá esse comando com ACK, caso seja enviado com sucesso, ou NACK, caso possua algum erro. Comando Habilita Leitura Comanda o LOHS a realizar uma leitura de um cartão que deverá ser introduzido pelo operador. Abreviação Nome Descrição Valor Byte STX Star of Text Marca o início do quadro de dados 02H ETX End of Text Marca o fim do quadro de dados 03H ACK Acknowledgement Indica o recebimento de um quadro SEM 06H erro NACK Negative Acknowledgement Indica o recebimento de um quadro COM erro 15H CRC Cyclic Redundancy Check O CRC16 é um verificador constituído de 2 Bytes, gerado através de um polinômio. Utilizado para testar a consistência dos dados recebidos em um quadro. XDR Exclusive OR Também utilizado para teste de consistência do quadro e é montado através da operação XOR Tabela1: Comandos LOHS Word Resultado do Cálculo do polinômio (2 Bytes) Byte Resultado da operação XOR 08 agosto 2008

9 Formato do Comando Utilizando CRC o <STX> <06> <01> <ETX> <CRC1> <CRC2> Formato do Comando Utilizando XOR o <STX> <05> <01> <ETX> <XOR1> O LOHS responderá esse comando com ACK, caso seja enviado com sucesso, ou NACK, caso possua algum erro. Após a leitura do cartão, um quadro é enviado automaticamente do LOHS para o computador, contendo: 1. Quadro de dados do cartão, caso a leitura seja feita corretamente. 2. Quadro de Estado de Leitura Errônea, caso a leitura seja feita incorretamente. Se o quadro recebido for o de dados do cartão, o mesmo deverá ser tratado pelo computador. O formato do quadro é o seguinte: Formato do Quadro Utilizando CRC o <STX> <TAM> <F1> <TEXTO> <ETX> <CRC1> <CRC2> Formato do Quadro Utilizando XOR o <STX> <TAM> <F1> <TEXTO> <ETX> <XOR1> No caso de haver erro de leitura, o Quadro de Estado de Leitura Errônea é recebido, o quadro segue o seguinte formato: Formato do Quadro Utilizando CRC o <STX> <07> <F0> <ESTADO> <ETX> <CRC1> <CRC2> Formato do Quadro Utilizando XOR o <STX> < 06> < F0> < ESTADO > <ETX> <XOR1> O byte ESTADO carrega consigo a descrição do erro na leitura. Para identificar qual o erro, ou os erros, devemos verificar o byte ESTADO bit a bit. Os valores dos bits são conforme Tabela 2. Bit 0 Erro de RAM 1 Uso futuro Informação 2 Leitora foi ativada mas não foi passado cartão 3 Leitura inconsistente (em caso de múltipla leitura) 4 Número de clocks lidos diferente do definido pelo comando. Define tamanho do buffer 5 Uso futuro 6 Uso futuro 7 Uso futuro Tabela2: Bits de Leitura Errônea Para lista completa de comandos e suas respectivas descrições, consulte o manual de programação do equipamento. Exemplo em Delphi de integração com equipamento LOHS Com um pouco de conhecimento em Delphi e com base na estrutura do protocolo do equipamento é possível implementar funções que formatem mensagens a serem enviadas, tratem e interpretem as mensagens recebidas. A seguir apresentamos a implementação da função de Beep descrita anteriormente, onde o primeiro passo é criar um novo projeto e adicionar o seguinte código ao evento OnClick de um botão. Ver código fonte 02 No código, uma função chamada Beep é chamada e o seu retorno, do tipo String, é atribuído à variável Comando. A seguir é apresentado o código executado pela função Beep. Ver código fonte 03 A função Beep cria a estrutura básica do comando, calcula e concatena à String resultante, os valores dos bytes de CRC, conforme descrito no protocolo de comunicação do equipamento. O resultado é então transmitido através da função Envia_Comando que faz o acesso à porta serial através do componente TCommPortDriver, conforme código apresentado a seguir: Ver código fonte 04 procedure TForm1.BtnBeepClick(Sender: TObject); var comando: String; comando := Beep; //Chama funcao Beep da Unit LOHS_OMR Envia_Comando(Comando, BEEP ); //Envia comando para porta serial código fonte 02 // Função: faz soar o beep interno do equipamento. Function Beep: String; Comando := stx + #06 + #03 + etx; //Cria estrutura básica do comando Calculo_CRC16(comando, MyCRC); //Calcula o CRC do comando result := comando + chr(hi(mycrc)) + chr(lo(mycrc)); código fonte 03 //Funcao genérica utilizada para enviar o comando pela porta serial e escrever no memo. Function TForm1.Envia_Comando(Comando, DescritivoComando: String): Boolean; result := false; try //tenta enviar comando pela serial Result := CommPortDriver1.SendString(comando); except memo1.lines.add(descritivocomando + - Erro ao enviar comando ); if result then //se enviar corretamente memo1.lines.add(descritivocomando + - Comando Enviado com Sucesso ); else //Senão, acusa na tela o erro ocorrido memo1.lines.add(descritivocomando + - Erro ao enviar comando ); código fonte 04 agosto

10 Além do comando de Beep podem ser implementados os comandos conforme lista a seguir. A implementação dos demais comandos segue a mesma sistemática, e permite a implementação do tratamento de todos os comandos disponíveis no manual do fabricante. Ver código fonte 05 Com base nos códigos apresentados anteriormente e na documentação completa fornecida pelo fabricante foi implementado um demo em Delphi, conforme apresentado na Figura XX, disponível para download em downloads/lohs_omr/projeto_lohs_omr_v1.zip, e que implementa todos os recursos necessários à configuração e comunicação com o equipamento LOHS, permitindo que sua aplicação tenha controle completo sobre o equipamento sem a necessidade do uso de soluções de terceiros, reduzindo custos e dando maior flexibilidade e autonomia ao seu aplicativo. Function Habilita_Leitura: String; Function Reseta: String; Function Beep: String; Function Ativa_Teste_Comunicacao: String; Function Desativa_Teste_Comunicacao: String; Function Nro_De_Linhas: String; Function Verificador(vVerificador: String): String; Function Nro_De_Clocks(vNroClocks: string): String; Function Mascara_De_Leitura(vMascara1, vmascara2: char): String; Function Tipo_Controle_De_Fluxo(vTipo_De_Fluxo: char): String; Function Nro_De_Leituras(vNro_De_Leituras: String): String; Function trata_informacao_texto(buffer: String; var Resposta: TStrings): Boolean; Function Transmite_Buffer_i(Nro_Buffer: char): String; Function Exibe_Display(Mensagem:String) :String; Function Transmite_Versao: String; código fonte 05 Maiores informações podem ser obtidas no site Conclusões Leitores óticos para automação do processo de leitura de gabaritos são uma necessidade nos dias de hoje, onde grande parte dos processos de correção e leitura de provas ou gabaritos precisa ser feita com agilidade e precisão. Entretanto nem sempre temos à mão soluções simples e baratas de integração entre software e o equipamento, tendo a necessidade de depender de dlls proprietárias ou licenças onerosas, amarrando o usuário ao fabricante do equipamento. Neste artigo apresentamos solução, que permite redução de custos, e total autonomia para o desenvolvedor, que passa a ter controle completo do processo de comunicação entre seu software e o equipamento, uma vez que a implementação é baseada no protocolo de comunicação de dados do fabricante, possibilitando mudanças futuras no processo de comunicação, aumentando assim o diferencial competitivo do seu software frente aos concorrentes. Links Tecnologia da Informação e Conhecimento. Figura7: Aplicativo demo em Delphi demonstrando a implementação de todos os comandos do protocolo. Sobre os autores Victory Fernandes é Engenheiro Mestrando em Redes de Computadores, e desenvolvedor sócio da TKS Software - Soluções de Automação e Softwares Dedicados. Pode ser contatado em ou através dos sites www. igara.com.br/victory Fellipe Capolupo é estudante de Engenharia Elétrica e desenvolvedor da TKS Software - Soluções de Automação e Softwares Dedicados. Pode ser contatado em 10 agosto 2008

11 Delphi 2007 Utilizando DBExpress 4 e Firebird em uma aplicação Win32 Criando uma Agenda de Telefones Quando vamos escrever um artigo sempre buscamos temas inovadores e inéditos, mas ai surge um dilema, não é todo dia que surgem grandes novidades, e muitas vezes para programadores de primeira viagem, o que eles precisam é o bom arroz com feijão, assim este artigo tem como objetivos passar os conceitos básicos para iniciantes no Delphi de como fazer uma pequena aplicação usando técnicas simples de criação, conexão e manutenção de dados, e para os desenvolvedores mais experientes que ainda não tiveram contato com a ferramenta, também é valida uma leitura para se familiarizarem com a IDE do Delphi 2007 e reforçarem o conhecimento. 1. Criação do Banco de dados Criaremos uma simples agenda telefônica, armazenando os contatos e seus respectivos números de telefones. Assim teremos duas tabelas a CONTATOS a e TELEFONES, veja na figura 1 o diagrama de ER (Entidade Relacionamento). Alem das duas tabelas criaremos o relacionamento entre as duas tabelas com a condição de deleção em cascata (delete cascade), para quando o contato for excluído, os telefones relacionados do contato também seja apagados. Além destes um generator será criado para incrementar o numero seqüencial da chave primária. Assim para criação do banco de dados execute o script a seguir em qualquer ferramenta de manutenção do banco firebird, no meu caso eu uso o IBExpert Personal Edition (no final do artigo encontrará os link das ferramentas disponíveis citadas ). Figura 1 - Diagrama de ER (Entidade Relacionamento) /*Script de criação do banco*/ SET SQL DIALECT 3; CREATE DATABASE LOCALHOST:E:\THECLUB\ Artigo\IntroducaoD2007\ CONTATOS.FDB USER SYSDBA PASSWORD masterkey PAGE_SIZE = 4096; /*Script de criação da tabela contatos */ CREATE TABLE CONTATOS ( ID_CONTATO INTEGER NOT NULL, NOME VARCHAR(80), APELIDO VARCHAR(20), ENDERECO VARCHAR(80), CIDADE VARCHAR(80), UF CHAR(2), PRIMARY KEY (ID_ CONTATO) ); /*Script de criação da tabela telefones*/ CREATE TABLE TELEFONES ( ID_CONTATO INTEGER NOT NULL, ITEM INTEGER NOT NULL, NUMERO VARCHAR(13), TIPO VARCHAR(20), PRIMARY KEY (ID_ CONTATO, ITEM) ); /*Script de criação do relacionamento entre tabelas telefones e contatos*/ alter table TELEFONES agosto

12 add constraint FK_ TELEFONES_CONTATOS foreign key (ID_CONTATO) references CONTATOS(ID_ CONTATO) on delete CASCADE; /*Script de criação do Generator da criação do código de Contatos*/ CREATE GENERATOR GEN_ID_ CONTATO; 2. Criando a aplicação Com nosso banco de contatos criado iremos criar nossa aplicação, para isto no Delphi 2007 vá em File -> New -> VCL Forms Application Delphi for Win 32, e salvaremos a unit uncontatos.pas e o projeto como Contatos.dproj, no form altere as seguintes propriedades: Figura 2 New Items Caption = Agenda Telefônica Name = frmcontatos Iremos agora criar um Datamodule para criamos a conexão e componentes de acesso a dados, desta forma em New -> Others.. em New Items (Figura 2) na categoria Delphi Files, e salve-o como undm.pas e sua propriedade Name = DMContatos A conexão Agora selecione o componente SQLConnection na paleta dbexpress e adicione-o no Datamodule, e altere sua propriedade Name para sqlconexao. Com um duplo clique no componente iremos abrir o editos de propriedades de conexão, clique em Add Connection para criamos uma nova conexão, em Driver Name selecione Interbase e em Connection Name CONTATOS, confirme e em Connection Settings basta apenas informar o caminho do banco de dados na propriedade Database (Figura 2), clique em Ok e pronto a conexão está feita, veja na figura 3 as propriedades preenchidas no componente, além é claro da propriedade params: Altere mais tres propriedades, uma é o LoginPrompt = False, para que ao ativar a conexão seja confirmado usuário e senha, e VendorLib = fbclient.dll, aonde iremos usar a DLL cliente do firebird, e deixe a conexão ative com a propriedade Active = True (Figura 3). Figura 3 - Editor de propriedades de conexão 2.2. Componentes de consulta Incluiremos agora os componentes de consulta ao banco, primeiro um SQLDataset para a consulta de contatos que chamaremos sdscontatos, e um outro para exibir os telefones do contato com o nome sdstelefones, ambos devem ter a propriedade SQLConnection apontando para o sqlconexao. Este dois componentes estarão ligados de maneira a criar um relacionamento mestre detalhe, para isto adicione um terceiro componente, o DataSource da paleta DataAccess que receberá o nome de dscontatos. Este componente Datasource deve estar com a propriedade Dataset Ligada ao sds- Contatos, e o componente de sdstelefones com a propriedade Datasource ligada dscontatos. Figura 3 propriedades do sqlconexao 12 agosto 2008

13 Iremos agora na propriedade CommandText, inserir a instrução SQL de consulta ao contatos como pode ver na Figura 4: No caso do sdstelefone receberá na propriedade CommandText, a seguinte instrução: select * from TELEFONES where ID_CONTATO = :ID_CONTATO Observe que para os Telefones incluímos uma cláusula where onde o parâmetro :ID_CONTATO através do dscontatos, faz o filtro do relacionamento mestre detalhe. Agora adicione os TFields em ambos componentes sqldataset, para isto de um duplo clique no componente para abrir o Fields Editor e adicione os campos (Add Fields.. Ctrl + A), após incluir os campo selecione o campo chave primária, e no ObjectInspector altere as propriedades do ProviderFlags pfinupdate, pfinwhere e pfinkey para True, no caso dos demais campos deixe a apenas a propriedade pfinupdate como True. Este procedimento deve ser feito para os dois componente SqlDataSet. Apenas para testar as configurações destes componentes ative o sdscontatos e depois o sdstelefones alterando a propriedade Active para True, após o teste e verificando que as ligações e instruções estão corretas volte a propriedade para false, o que é o padrão neste caso. Figura 4 Instrução SQL de consulta dos contatos 2.3. Trabalhando com Clientdatasets Neste ponto adicionaremos os componentes Clientdataset que ira trabalhar desconectados do banco, assim coloque no datamodule dois Clientdataset e um DataSetProvider que se encontram na paleta DataAccess, veja abaixo as propriedades alteradas de cada um dos três componentes: DataSetProvider Name = dspcontatos DataSet = sdscontatos ClientDataSet de Contatos Name = cdscontatos ProviderName = dspcontatos Adicione os Campos no Fields Editor e configure os Provider flags da mesma forma que foi feito para os componentes SqlDataset, veja que além dos campos já existentes um campo novo é criado, este campo que no exemplo foi criado automaticamente com o nome de cdscontatossdstelefones é um TDataSetField, ou seja é um campo responsável pelo relacionamento entre os dois clientdatasets, após ligar a propriedade DataSetField ao cdsconta- Figura 5 - Os componente no Datamodule tossdstelefones, adicione os campos e configure-os da mesma forma feita anteriormente ao outros componente, veja na figura 5 os componente no Datamodule. ClientDataSet de Telefones Name = cdstelefones DataSetField = cdscontatossdstelefones 2.4. A Interface Voltaremos ao form frmcontatos para Desenhar a tela de manutenção dos dados dos contatos e dos telefones, para que os componente dataware possam enxergar os componentes do datamodule, adicione o datamodule na uses do form frmcontatos (Alt + F11). Veja abaixo os principais componentes inseridos e suas propriedades alteradas, veja que para a entrada dos telefones uso um Dbgrid. Na Figura 6 poderá ver como deve ficar o layout da tela, sendo apenas uma sugestão, onde as cores, botões e imagens, podem dar um visual muito agradável para aplicação, isto vai da criatividade do programador na hora de fazer esta perfumaria. DataSource1 DataSet = DMContatos.cdsContatos DataSource2 DataSet = DMContatos.cdsTelefones DBEdit1 DataField = ID_ CONTATO DataSource = DataSource1 agosto

14 DBEdit2 DataField = NOME DataSource = DataSource1 DBEdit3 DataField = APELIDO DataSource = DataSource1 DBEdit4 DataField = ENDERECO DataSource = DataSource1 DBEdit5 DataField = CIDADE DataSource = DataSource1 DBEdit6 DataField = UF DataSource = DataSource1 DBNavigator1 DataSource = DataSource1 DBNavigator2 VisibleButtons = [nbinsert, nbdelete, nbpost, nbcancel] DataSource = DataSource2 DBGrid1 DataSource = DataSource A Programação Ate este momento apenas adicionamos componentes, alteramos e ligamos propriedades, agora chegou a hora de uma pouco mais de ação, iremos digitar algumas linhas de código responsáveis por gerar código, gravar informações e confirmar atualizações e exclusões. Assim voltando novamente no datamodule DMContatos, incluiremos no datamodule função AutoInc já bastante conhecida de programadores mais experientes, esta Figura 6 Tela de Contatos função tem por objetivo informar o nome de um generator e retornar seu novo valor, veja o código da função abaixo: function TdmBase. AutoInc(Generator: string; Conexao: TSQLConnection): Integer; var SQLGen: TSQLDataSet; SQLGen := TSQLDataSet. Create(Application); try SQLGen.SQLConnection := Conexao; SQLGen.CommandText := Select Cast(Gen_Id( + Generator +,1) as Integer) as Codigo From Rdb$Database ; SQLGen.Open; Result := SQLGen. FieldByName( Codigo ). AsInteger; SQLGen.Close; finally SQLGen.Free; No evento BeforePost do cdscontatos iremos usar a função AutoInc para atribuir para o campo ID_CONTATO o novo valor do generator GEN_ ID_CONTATO. Para isto selecione e componente cdscontatos e na aba Events do object Inspector, de um duplo clique no evento BeforePost e inclua o código abaixo: procedure TDMContatos. cdscontatosbeforepost (DataSet: TDataSet); if cdscontatos.state in dsinsert then cdscontatosid_ CONTATO.AsInteger := AutoInc( GEN_ID_ CONTATO,sqlConexao); No caso da tabela Telefones que possui uma chave primaria composta, o campo ID_CONTATO é atribuído automaticamente através pelo relacionamento mestre detalhe entre os ClientDataset, devido mantermos o mesmo nome em ambas tabelas relacionadas. Para o segundo campo da chave, o 14 agosto 2008

15 campo ITEM apenas iremos atribuir o contador do numero de telefones de um contato, para simplificar invés de ficarmos usando contadores, apenas ire verificar o numero de registros de telefones, e atribuir este valor somando + 1 para o campo no evento BeforePost do cdstelefones. procedure TDMContatos. cdstelefonesbeforepost (DataSet: TDataSet); if cdstelefones.state in [dsinsert] then cdstelefonesitem. AsInteger := cdstelefones. RecordCount; Com tudo isto falta um ultimo código que irá gravar todas as alterações no banco, o ApplyUpdates assim no evento AfterPost do cdscontatos, adicione o código: procedure TDMContatos. cdscontatosafterpost (DataSet: TDataSet); cdscontatos. ApplyUpdates(0); Uma ultima sugestão: para não repetir o código do ApplyUpdates na deleção, e também na para as atualizações e exclusões de telefones, ligue o evento AfterDelete do cdscontatos ao evento já criado dscontatosafterpost, faça o mesmo para AfterDelete e AfterPost do cdstelefones. Pronto, temos um simples cadastro de contatos e telefones (Figura 7). Conclusão Como foi dito no inicio este artigo teve por objetivo, introduzir conceitos básicos para um iniciante na arte da programação, proporcionando um programador de primeira viagem criar uma aplicação simples e útil. Agora para os mais experientes posso provar que tirando a interface da IDE Figura 7 A agenda de contatos do Delphi 2007, onde a disposição de componentes e recursos mudou completamente, no que diz respeito à programação, tudo continua praticamente igual ao que era no Delphi 7. Despeço-me com um grande abraço a todos, e ate o mês que vem. Links enix&s= :25325&page=ibp_download 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) agosto

16 Capturando Imagem e Vídeo de sua WebCam Recentemente fui questionado por um amigo relativamente leigo em informática como poderia gravar as imagens de sua webcam em seu computador, sugeri a ele um dos muitos aplicativos disponíveis que tem este tipo de recurso, depois dessa nossa conversa surgiu uma pergunta que veio curiosidade nata da maioria dos programadores, e se um dos meus clientes solicitasse este recurso no seu aplicativo? Isto poderia acontecer, este seria um recurso bastante útil, desde cadastros clientes de uma vídeo locadora, recepção de hotéis, ate sistemas mais simples de monitoramento para segurança. Assim comecei a pesquisa na imensidão da Internet, entre muito lixo eletrônico que encontrei pela frente, achei um componentinho freeware, bastante simples e eficiente o TCamera. Este componente junto do projeto de exemplo pode ser encontrado no link: www. theclub.com.br/revista/rev0808/pegawebcam.zip Instalando o TCamera Descompacte o arquivo TCamera.zip em um diretório qualquer de sua máquina, no Delphi em File Open abra o arquivo TWebCam.dpk, abrindo o pacote clique nos botões compile e Install, e em Tools Enviroment Options na abra Library Path adicione o caminho onde descompactou o componente. Feche o pacote, não precisa salva-lo, Simples não é?!!! Criando a Aplicação Vamos cria uma simples aplicação para conhecermos alguns dos recursos deste componente, assim no Delphi em File New clique em Application para criar uma nova aplicação, na unit1 insira o componente TCamera que se encontra na paleta Yves, que será responsável por capturar, exibir, gravar vídeo e imagem tudo em apenas um componente, um componente Image para exibir uma foto capturada, e três botõs, um para gravar o vídeo, outro para parar a gravação e um terceiro para capturar a foto. Veja na figura 1 a sugestão do layout do formulário. Veja na Figura 2 o exemplo do aplicativo filmando e na Figura 3 ele capturando a foto. Agora no form adicione o evento Onshow onde ativaremos o capturar da Imagem apenas atribuindo true para a propriedade Camera1.Actif como pode ver abaixo: 16 agosto 2008

17 Camera1 Image1 procedure TForm1. FormShow(Sender: TObject); try Camera1.Actif := True; except MessageDlg( Não foi possilve capturar a Imagem da WebCam!, mterror, [mbok], 0); Figura 1 No Botão captura foto iremos adicionar o seguinte código, aonde salvo a foto em formato bmp no diretório raiz usando a função CaptureImageDisque do componente, logo a seguir carrego a imagem no componente TImage. Figura 2 procedure TForm1. BitBtn1Click(Sender: TObject); Camera1.FichierImage := c:\foto.bmp ; Camera1. CaptureImageDisque; Image1.Picture. LoadFromFile( c:\foto. bmp ); Para iniciar a gravação da imagem usaremos a função CaptureVideoDisque, salvando o vídeo em formato avi também no diretório raiz: procedure TForm1. BitBtn2Click(Sender: TObject); Camera1.FichierVideo := c:\video.avi ; Figura 3 Camera1. CaptureVideoDisque; agosto

18 E para parar a gravação StopVideo, como pode ver a seguir: procedure TForm1. BitBtn3Click(Sender: TObject); Camera1.StopVideo; Agora para parar a captura da imagem apenas atribua False para Camera1.Actif, isto pode ser feito num clique de botão o no Destroy do próprio formulário: procedure TForm1. FormDestroy(Sender: TObject); Camera1.Actif := False; Conclusão Agora posso dormir tranqüilo, se um cliente quiser inventar moda de capturar imagens na sua aplicação, temos um recurso simples e prático, que pode ser implementado rapidamente. Ate mais e boa sorte com seus clientes. 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) 18 agosto 2008

19 Lambda Expressions Expressão lambda foi adicionada ao Visual Basic 2008 e C# 3.0, com o objetivo de apoiar Language Integrated Queries (LINQ).Quanto mais você utilizar a Expressão lambda, mais você verá sua potência e flexibilidade. A lambda é uma grande inovação da linguagem, mas para você que está iniciando agora como desenvolvedor ou tem pouco tempo com a linguagem pode parecer bem complicado. Não desanime, pois quando você começar a conhecer mais sobre lambda irá entender o quanto ela pode ser útil para o seu dia a dia. class ShowClassDelegate delegate void MeuDelegate(); public void EiMetodo() MeuDelegate del = new MeuDelegate(ImprimeMensagem); del(); void ImprimeMensagem() Console.WriteLine( E ai!! ); código fonte 01 Métodos Anônimos Veja como fica com Métodos Anônimos Não poderia falar sobre expressão lambda sem falar de método anônimos que é uma das evoluções existentes no framework 2.0 lançado no final de Eles podem ser usados para passar um bloco de código para um delegate, de acordo com o parâmetro do delegate, também podem ser utilizados em lugares onde a criação de um método não é realmente necessária.vejamos abaixo dois exemplos, um utilizando delegate e outro utilizando métodos anônimos. Ver códigos fontes 01 e 02 Note que não precisamos escrever o método ImprimeMensagem, fazemos diretamente. No entanto, métodos anônimos tem uma desvantagem no que diz respeito à legibilidade. Ele modifica a escrita e o código, por vezes se torna realmente difícil de ler. Então, se tivermos realmente que fazer alguma coisa que seja fácil de ler, e também simples de usar, é aí que as expressões lambda trabalham a class ShowClassComAnonimos delegate void MeuDelegate(); public void EiMetodo() MeuDelegate delanonimo = delegate() Console.WriteLine( E ai!! ); ; delanonimo(); nosso favor. Por isso muitos dizem que as Expressão lambda são uma evolução natural dos Métodos Anônimos. Expressão lambda? O C# 2.0 introduziu o conceito de métodos código fonte 02 anônimos, que permitem que blocos de código sejam escritos em linha onde delegamos os valores esperados. Assim podemos escrever códigos mais inteligentes e com um menor número de linhas. As expressões lambda são muito utilizadas quando escrevemos métodos anônimos, elas nos permitem trabalhar de uma forma mais inteligente e lógica. Eles também se tornam muito úteis quan- lagosto

20 do escrevemos expressões LINQ para pesquisa e também podem ser utilizadas em funções, como anteriormente já comentadas conseguimos escrever funções muito mais enxutas. Criamos uma Lambda desta forma (parametro => o que teremos de retorno), onde o => e o operador e o que vem a antes dele é o parâmetro e após, o retorno. Vamos dizer que queremos uma função que irá receber um inteiro, e irá retornar se o inteiro é superior a 10. private bool Emaiorq10(int i) if (i > 10) return true; else return false; A mesma função pode ser escrita como uma expressão lambda, em uma linha. (int i => i > 10); A Expressão lambda faz o mesmo trabalho como a função acima. O mais interessante é que podemos escrever isso em apenas uma linha. Agora vamos criar uma classe para que possamos exemplificar melhor a Expressão lambda, como disse anteriormente ela é muito utilizada em consultas LINQ que é o que veremos a seguir: public class Carros public string Marca get; set; public string Modelo get; set; public int Ano get; set; Agora vou construir e popular minha Classe de Carros. Ver código fonte 03 PS: Se você ainda não está familiarizado com List<Carro> Carros = new List<Carro> new Carro Modelo = Astra, Marca= Chevrolet, Ano=2005, new Carro Modelo = Corsa, Marca= Chevrolet, Ano=2004, new Carro Modelo = Stilo, Marca= FIAT, Ano=2008, new Carro Modelo = Doblo, Marca= FIAT, Ano=2006, new Carro Modelo = Escort, Marca= Ford, Ano=2000, new Carro Modelo = Explorer, Marca= Ford, Ano=2007 ; código fonte 03 var Resultado = Carros.Where(p => p.marca == FIAT ); var Resultado1 = Carros.Average(p => p.ano); o C# 3.0 deve estar estranhando a criação das propriedades com os gets e sets direto e também a da Lista de carros populando direto no construtor sem antes ter criado um construtor para fazer isso. Pois bem, seja bem-vindo, essas são apenas duas de muitas novidades da linguagem, mas isto é assunto para o próximo artigo. Eu mostrei como criar e instanciar um List<Carro> já passando os valores, agora vou utilizar alguns métodos chamados métodos estendidos no namespace LINQ onde podemos fazer consultas em coleções. Ver código fonte 04 Note que o (p =>) é Expressão lambda, que no Sobre o autor código fonte 04 var Resultado2 = Carros.Where(p => p.ano > 2005); var Resultado3 = Carros.Where(p => p.modelo. Contains( o )).OrderBy(o => o.ano); código fonte 05 primeiro exemplo especifica um filtro para a Marca FIAT em seguida utilizamos uma lambda a partir do Objeto Carro para calcular a média. A partir daí podemos explorar vários exemplos de utilização. Ver código fonte 05 Pra finalizar, um filtro utilizando o Contains que funciona como o Like do SQL e um OrderBy para ordenar o resultado pelo ano. Bem pessoal espero ter passado o conceito básico da Expressão lambda, agora é só você se aprofundar e colocar em prática mais uma das novidades do C# e Visual Basic.NET 9. Fabiano Belmonte Senior Architect da InfoMoney.com, especialista em aplicações e-business com larga experiência em B2B (Submarino.Com e Saraiva.Com). Trabalha há 5 anos com a tecnologia.net, aplicando conhecimentos nas diversas áreas: instituições financeiras (sistema SPB), e-commerce, gerenciamento logístico entre outras. Trabalhando com Visual Studio desde suas primeiras versões, responsável pela implementação de uma Metodologia de trabalho e melhoras significativas no resultados e na qualidade do time de Desenvolvimento de muitas empresas por onde passou como (Saraiva.Com) e ferramentas como TFS (Team Foundation Server). Foi palestrante em eventos como Codificando. NET 2008 e outros eventos sobre Tecnologia.NET. Instrutor da e-tniax Group especialista em C#, ASP.NET e Silverlight. 20 agosto 2008

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

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

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

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

Leia mais

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

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

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

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

Leia mais

Estratégia para fazer cópias de segurança ( backup ) em nuvem

Estratégia para fazer cópias de segurança ( backup ) em nuvem 1 de 20 Estratégia para fazer cópias de segurança ( backup ) em nuvem Resolvi documentar uma solução que encontrei para fazer minhas cópias de segurança. Utilizo um software gratuito chamado Cobian Backup

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

Android e Bancos de Dados

Android e Bancos de Dados (Usando o SQLite) Programação de Dispositivos Móveis Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do

Leia mais

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

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

Leia mais

Software de monitoramento Módulo CONDOR CFTV V1 R1

Software de monitoramento Módulo CONDOR CFTV V1 R1 Software de monitoramento Módulo CONDOR CFTV V1 R1 Versão 30/06/2014 FOR Segurança Eletrônica Rua dos Lírios, 75 - Chácara Primavera Campinas, SP (19) 3256-0768 1 de 12 Conteúdo A cópia total ou parcial

Leia mais

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

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

Leia mais

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

Acesso à Dados ZEOS x Delphi. Professor Anderson

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

Leia mais

Tutorial: Instalando Linux Educacional em uma maquina virtual

Tutorial: Instalando Linux Educacional em uma maquina virtual Maria Augusta Sakis Tutorial: Instalando Linux Educacional em uma Máquina Virtual Máquinas virtuais são muito úteis no dia-a-dia, permitindo ao usuário rodar outros sistemas operacionais dentro de uma

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

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

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

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

Leia mais

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

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

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

Manual. Pedido Eletrônico

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

Leia mais

Capture Pro Software. Introdução. A-61640_pt-br

Capture Pro Software. Introdução. A-61640_pt-br Capture Pro Software Introdução A-61640_pt-br Introdução ao Kodak Capture Pro Software e Capture Pro Limited Edition Instalando o software: Kodak Capture Pro Software e Network Edition... 1 Instalando

Leia mais

Este documento consiste em 48 páginas. Elaborado por: Innova Tecnologia de Soluções. Liberado em Janeiro de 2010.

Este documento consiste em 48 páginas. Elaborado por: Innova Tecnologia de Soluções. Liberado em Janeiro de 2010. Manual de Configuração Este documento consiste em 48 páginas. Elaborado por: Innova Tecnologia de Soluções. Liberado em Janeiro de 2010. Impresso no Brasil. Sujeito a alterações técnicas. A reprodução

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

1. Introdução. 2. Funcionamento básico dos componentes do Neteye

1. Introdução. 2. Funcionamento básico dos componentes do Neteye 1. Introdução Esse guia foi criado com o propósito de ajudar na instalação do Neteye. Para ajuda na utilização do Software, solicitamos que consulte os manuais da Console [http://www.neteye.com.br/help/doku.php?id=ajuda]

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

www.neteye.com.br NetEye Guia de Instalação

www.neteye.com.br NetEye Guia de Instalação www.neteye.com.br NetEye Guia de Instalação Índice 1. Introdução... 3 2. Funcionamento básico dos componentes do NetEye...... 3 3. Requisitos mínimos para a instalação dos componentes do NetEye... 4 4.

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

O programa Mysql acompanha o pacote de instalação padrão e será instalado juntamente com a execução do instalador.

O programa Mysql acompanha o pacote de instalação padrão e será instalado juntamente com a execução do instalador. INTRODUÇÃO O Programa pode ser instalado em qualquer equipamento que utilize o sistema operacional Windows 95 ou superior, e seu banco de dados foi desenvolvido em MySQL, sendo necessário sua pré-instalação

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

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

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

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

Leia mais

Instalando o driver USB para ECF S Bematech. Nome: André L. Schikovski Bematech Software Partners

Instalando o driver USB para ECF S Bematech. Nome: André L. Schikovski Bematech Software Partners para ECF S Bematech Nome: André L. Schikovski Bematech Software Partners Introdução Neste tutorial, você aprenderá em um rápido passo a passo como é feita a instalação do driver USB das impressoras fiscais

Leia mais

KalumaFin. Manual do Usuário

KalumaFin. Manual do Usuário KalumaFin Manual do Usuário Sumário 1. DICIONÁRIO... 4 1.1 ÍCONES... Erro! Indicador não definido. 1.2 DEFINIÇÕES... 5 2. DESCRIÇÃO DO SISTEMA... 7 3. ACESSAR O SISTEMA... 8 4. PRINCIPAL... 9 4.1 MENU

Leia mais

Manual do Usuário Cyber Square

Manual do Usuário Cyber Square Manual do Usuário Cyber Square Criado dia 27 de março de 2015 as 12:14 Página 1 de 48 Bem-vindo ao Cyber Square Parabéns! Você está utilizando o Cyber Square, o mais avançado sistema para gerenciamento

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

G-Bar IGV. Instalação Versão 4.0

G-Bar IGV. Instalação Versão 4.0 G-Bar Software para Gerenciamento de Centrais de Corte e Dobra de Aço IGV Software Interpretador/ Gerenciador/ Visualizador de dados digitais de projetos CAD-TQS Instalação Versão 4.0 Manual do Usuário

Leia mais

Manual de Instalação Corporate

Manual de Instalação Corporate Manual de Instalação Corporate Sumário 1. Sobre este documento...3 2. Suporte técnico...3 3. Requisitos de hardware...3 3.1. Estação...3 3.2. Servidor...4 4. Instalação...4 4.1. Instalação do Imobiliária21

Leia mais

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

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

Leia mais

Capture Pro Software. Guia de referência. A-61640_pt-br

Capture Pro Software. Guia de referência. A-61640_pt-br Capture Pro Software Guia de referência A-61640_pt-br Iniciando o Kodak Capture Pro Software Este guia foi projetado para fornecer instruções simples para início rápido, incluindo a instalação e a inicialização

Leia mais

GANHE DINHEIRO FACIL GASTANDO APENAS ALGUMAS HORAS POR DIA

GANHE DINHEIRO FACIL GASTANDO APENAS ALGUMAS HORAS POR DIA GANHE DINHEIRO FACIL GASTANDO APENAS ALGUMAS HORAS POR DIA Você deve ter em mente que este tutorial não vai te gerar dinheiro apenas por você estar lendo, o que você deve fazer e seguir todos os passos

Leia mais

Manual. Rev 2 - junho/07

Manual. Rev 2 - junho/07 Manual 1.Desbloquear o software ------------------------------------------------------------------02 2.Botões do programa- --------------------------------------------------------------------- 02 3. Configurações

Leia mais

Atualização, backup e recuperação de software

Atualização, backup e recuperação de software Atualização, backup e recuperação de software Guia do Usuário Copyright 2006 Hewlett-Packard Development Company, L.P. Microsoft e Windows são marcas registradas da Microsoft Corporation nos EUA. As informações

Leia mais

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

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

Leia mais

Boolean Sistemas 2 MANUAL DA ROTINA MENU DOS SISTEMAS Atualizado em Maio/2006

Boolean Sistemas 2 MANUAL DA ROTINA MENU DOS SISTEMAS Atualizado em Maio/2006 Boolean Sistemas 2 MANUAL DA ROTINA DE MENU DOS SISTEMAS Atualizado em Maio/2006 Empresas Especiais Suporte 2.01. Cadastro das empresas 2.02. Relação das empresas 2.03. Controle das emissões 2.04. Exclusão

Leia mais

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

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

Leia mais

Manual de uso do Gerente

Manual de uso do Gerente Manual de uso do Gerente Manual do Hypnobox: www.hypnobox.com.br/manual Índice Acessar o Hypnobox Endereço o www Login e Senha Tela Principal Perfil de acesso Editar Dados pessoais Fila de corretores Gerenciar

Leia mais

Manual de Instalação

Manual de Instalação Manual de Instalação Sumário 1. Sobre este documento...3 2. Suporte técnico...3 3. Requisitos de hardware...3 3.1. Estação...3 3.2. Servidor...4 4. Instalação...4 4.1. Instalação do Group Folha no servidor...6

Leia mais

Guia. PDA e SmartPhones. Windows Mobile, Pocket PC e CE.

Guia. PDA e SmartPhones. Windows Mobile, Pocket PC e CE. Guia PDA e SmartPhones Windows Mobile, Pocket PC e CE. Referência completa para o integrador do sistema Module. Aborda os recursos necessários para a itulização, instalação do software e importação das

Leia mais

Capítulo 7 O Gerenciador de Arquivos

Capítulo 7 O Gerenciador de Arquivos Capítulo 7 O Gerenciador de Arquivos Neste capítulo nós iremos examinar as características da interface do gerenciador de arquivos Konqueror. Através dele realizaremos as principais operações com arquivos

Leia mais

Portal Contador Parceiro

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

Leia mais

PMAT. Sistema de Análise e Acompanhamento de Operações. Manual. Desenvolvido pelo BNDES AS/DEGEP

PMAT. Sistema de Análise e Acompanhamento de Operações. Manual. Desenvolvido pelo BNDES AS/DEGEP PMAT Sistema de Análise e Acompanhamento de Operações Manual 1 Índice 1. O que é o Sistema de Análise e Acompanhamento de Operações PMAT... 3 2. Acessando o sistema pela primeira vez Download... 3 3. Fluxogramas

Leia mais

Define o campo ID com chave primaria com gerator de auto incremento ALTER TABLE CONTATO ADD CONSTRAINT PK_CONTATO PRIMARY KEY (ID);

Define o campo ID com chave primaria com gerator de auto incremento ALTER TABLE CONTATO ADD CONSTRAINT PK_CONTATO PRIMARY KEY (ID); Agenda 1 IBDatabase (Paleta Interbase) 1 IBTransaction (Paleta Interbase) 2 IBQuery (Paleta Interbase) 1 IBUpdateSQL (Paleta Interbase) 1 DataSource (Paleta Interbase) 4 Bitbnt (Paleta Addicional) 1 Dbgrid

Leia mais

Tutorial para acesso ao Peticionamento Eletrônico e Visualização de Processos Eletrônicos

Tutorial para acesso ao Peticionamento Eletrônico e Visualização de Processos Eletrônicos Tutorial para acesso ao Peticionamento Eletrônico e Visualização de Processos Eletrônicos Este tutorial visa preparar o computador com os softwares necessários para a utilização dos sistemas de visualização

Leia mais

FileMaker Pro 12. Utilização de uma Conexão de Área de Trabalho Remota com o

FileMaker Pro 12. Utilização de uma Conexão de Área de Trabalho Remota com o FileMaker Pro 12 Utilização de uma Conexão de Área de Trabalho Remota com o FileMaker Pro 12 2007 2012 FileMaker Inc. Todos os direitos reservados. FileMaker Inc. 5201 Patrick Henry Drive Santa Clara,

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

Informática Aplicada. Aula 2 Windows Vista. Professora: Cintia Caetano

Informática Aplicada. Aula 2 Windows Vista. Professora: Cintia Caetano Informática Aplicada Aula 2 Windows Vista Professora: Cintia Caetano AMBIENTE WINDOWS O Microsoft Windows é um sistema operacional que possui aparência e apresentação aperfeiçoadas para que o trabalho

Leia mais

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

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

Leia mais

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

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

Impressão de Código de Barras Uma abordagem prática para Zebra EPL2

Impressão de Código de Barras Uma abordagem prática para Zebra EPL2 1 Impressão de Código de Barras Uma abordagem prática para Zebra EPL2 por Victory Fernandes Na internet estão disponíveis diversos componentes para geração e impressão de Código de Barras utilizando o

Leia mais

COMPARTILHAMENTO DO DISCO E PERMISSÕES DE REDE PÚBLICAS E DE GRUPOS DE TRABALHO.

COMPARTILHAMENTO DO DISCO E PERMISSÕES DE REDE PÚBLICAS E DE GRUPOS DE TRABALHO. COMPARTILHAMENTO DO DISCO E PERMISSÕES DE REDE PÚBLICAS E DE GRUPOS DE TRABALHO. 1. Compartilhar a máquina servidor clicando com o botão direito do mouse em disco local e no menu de contexto não pção Propriedades.

Leia mais

Manual do Usuário Nextel Cloud. Manual do Usuário. Versão 1.0.0. Copyright Nextel 2014. http://nextelcloud.nextel.com.br

Manual do Usuário Nextel Cloud. Manual do Usuário. Versão 1.0.0. Copyright Nextel 2014. http://nextelcloud.nextel.com.br Manual do Usuário Versão 1.0.0 Copyright Nextel 2014 http://nextelcloud.nextel.com.br 1 Nextel Cloud... 4 2 Nextel Cloud Web... 5 2.1 Página Inicial... 6 2.1.1 Meu Perfil... 7 2.1.2 Meu Dispositivo...

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

Prof. Carlos Majer Aplicações Corporativas UNICID

Prof. Carlos Majer Aplicações Corporativas UNICID Este material pertence a Carlos A. Majer, Professor da Unidade Curricular: Aplicações Corporativas da Universidade Cidade de São Paulo UNICID Licença de Uso Este trabalho está licenciado sob uma Licença

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

Manual do Teclado de Satisfação Local Versão 1.2.2

Manual do Teclado de Satisfação Local Versão 1.2.2 Manual do Teclado de Satisfação Local Versão 1.2.2 18 de fevereiro de 2015 Departamento de Engenharia de Produto (DENP) SEAT Sistemas Eletrônicos de Atendimento 1. Introdução O Teclado de Satisfação é

Leia mais

Manual PAG700/800 c/ comunicação WiFi

Manual PAG700/800 c/ comunicação WiFi Manual PAG700/800 c/ comunicação WiFi Prezado cliente, Parabéns por adquirir um Terminal modelo PAG700 / 800 padrão WiFi TCP/IP Colleter. Este manual irá ajudálo a compreender mais as características técnicas

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

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

INSTALAÇÃO PRINTERTUX Tutorial

INSTALAÇÃO PRINTERTUX Tutorial INSTALAÇÃO PRINTERTUX Tutorial 2 1. O Sistema PrinterTux O Printertux é um sistema para gerenciamento e controle de impressões. O Produto consiste em uma interface web onde o administrador efetua o cadastro

Leia mais

Manual do Teclado de Satisfação Online Web Opinião Versão 1.0.5

Manual do Teclado de Satisfação Online Web Opinião Versão 1.0.5 Manual do Teclado de Satisfação Online Web Opinião Versão 1.0.5 09 de julho de 2015 Departamento de Engenharia de Produto (DENP) SEAT Sistemas Eletrônicos de Atendimento 1. Introdução O Teclado de Satisfação

Leia mais

Manual do aplicativo Conexão ao telefone

Manual do aplicativo Conexão ao telefone Manual do aplicativo Conexão ao telefone Copyright 2003 Palm, Inc. Todos os direitos reservados. O logotipo da Palm e HotSync são marcas registradas da Palm, Inc. O logotipo da HotSync e Palm são marcas

Leia mais

Informática. Informática. Valdir

Informática. Informática. Valdir Informática Informática Valdir Questão 21 A opção de alterar as configurações e aparência do Windows, inclusive a cor da área de trabalho e das janelas, instalação e configuração de hardware, software

Leia mais

Aplicativo para configuração da interface de celular ITC 4000

Aplicativo para configuração da interface de celular ITC 4000 MANUAL DO USUÁRIO Aplicativo para configuração da interface de celular ITC 4000 Este aplicativo roda em plataforma Windows e comunica-se com a ITC 4000 via conexão USB. Através do ITC 4000 Manager, o usuário

Leia mais

MANUAL DO USUÁRIO. Software de Ferramenta de Backup

MANUAL DO USUÁRIO. Software de Ferramenta de Backup MANUAL DO USUÁRIO Software de Ferramenta de Backup Software Ferramenta de Backup Parabéns, você acaba de adquirir um produto com a qualidade e segurança Intelbras. Este manual serve como referência para

Leia mais

e-nota NFS-e Sistema de Geração e Emissão de Nota Fiscal de Serviço eletrônica

e-nota NFS-e Sistema de Geração e Emissão de Nota Fiscal de Serviço eletrônica Página1 e-nota NFS-e Sistema de Geração e Emissão de Nota Fiscal de Serviço eletrônica Manual do Usuário Produzido por: Informática Educativa Página2 Índice 1. O que é Nota Fiscal de Serviço eletrônica

Leia mais

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

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

Leia mais

Banco de Dados BrOffice Base

Banco de Dados BrOffice Base Banco de Dados BrOffice Base Autor: Alessandro da Silva Almeida Disponível em: www.apostilando.com 27/02/2011 CURSO TÉCNICO EM SERVIÇO PÚBLICO Apostila de Informática Aplicada - Unidade VI Índice Apresentação...

Leia mais

FileMaker Pro 14. Utilização de uma Conexão de Área de Trabalho Remota com o FileMaker Pro 14

FileMaker Pro 14. Utilização de uma Conexão de Área de Trabalho Remota com o FileMaker Pro 14 FileMaker Pro 14 Utilização de uma Conexão de Área de Trabalho Remota com o FileMaker Pro 14 2007-2015 FileMaker, Inc. Todos os direitos reservados. FileMaker Inc. 5201 Patrick Henry Drive Santa Clara,

Leia mais

FAT32 ou NTFS, qual o melhor?

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

Leia mais

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

Trabalhando com banco de dados

Trabalhando com banco de dados Avançado Trabalhando com Aprenda a manipular dados no Excel com a ajuda de outros aplicativos da suíte Office Armazenar e organizar informações são tarefas executadas diariamente por todos nós. Desde o

Leia mais

ANTES DE TUDO, FAÇA ISTO...

ANTES DE TUDO, FAÇA ISTO... ATENÇÃO PARA SAT DIMEP: o EXISTEM 2 TIPOS DE SAT DIMEP. o O DE COR BRANCA QUE DEVE SER USADO PARA FAZER DEMONSTRAÇÕES. CASO A REVENDA DESEJE APARELHO PARA DEMONSTRAÇÃO, É ESTE QUE DEVE SER ADQUIRIDO o

Leia mais

Produto IV: ATU SAAP. Manual de Referência

Produto IV: ATU SAAP. Manual de Referência Produto IV: ATU SAAP Manual de Referência Pablo Nogueira Oliveira Termo de Referência nº 129275 Contrato Número 2008/000988 Brasília, 30 de outubro de 2008 1 Sistema de Apoio à Ativideade Parlamentar SAAP

Leia mais

Manual de Uso Wordpress

Manual de Uso Wordpress Manual de Uso Wordpress Olá! Seja bem vindo ao igual. Agora você pode transmitir todas as notícias importantes da sua comunidade de forma mais simples e eficiente. Mas para que isso aconteça, primeiro

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

Segurança de Acesso a Banco de Dados no MS SQL Server

Segurança de Acesso a Banco de Dados no MS SQL Server Segurança de Acesso a Banco de Dados no MS SQL Server Para efetuar com sucesso os exemplos que serão mostrados a seguir é necessário que exista no SQL Server uma pessoa que se conecte como Administrador,

Leia mais

Guia de administração. BlackBerry Professional Software para Microsoft Exchange. Versão: 4.1 Service pack: 4B

Guia de administração. BlackBerry Professional Software para Microsoft Exchange. Versão: 4.1 Service pack: 4B BlackBerry Professional Software para Microsoft Exchange Versão: 4.1 Service pack: 4B SWD-313211-0911044452-012 Conteúdo 1 Gerenciando contas de usuários... 7 Adicionar uma conta de usuário... 7 Adicionar

Leia mais

Certificado Digital A1

Certificado Digital A1 Certificado Digital A1 Geração Todos os direitos reservados. Imprensa Oficial do Estado S.A. - 2012 Página 1 de 41 Pré-requisitos para a geração Dispositivos de Certificação Digital Para que o processo

Leia mais

PROJETO DE ACESSIBILIDADE VIRTUAL DO IFRS Manual Rápido do NVDA. Sumário

PROJETO DE ACESSIBILIDADE VIRTUAL DO IFRS Manual Rápido do NVDA. Sumário PROJETO DE ACESSIBILIDADE VIRTUAL DO IFRS Manual Rápido do NVDA Sumário O que são leitores de Tela?... 1 O NVDA - Non Visual Desktop Access... 1 Procedimentos para Download e Instalação do NVDA... 2 Iniciando

Leia mais

SENAI São Lourenço do Oeste. Introdução à Informática. Adinan Southier Soares

SENAI São Lourenço do Oeste. Introdução à Informática. Adinan Southier Soares SENAI São Lourenço do Oeste Introdução à Informática Adinan Southier Soares Informações Gerais Objetivos: Introduzir os conceitos básicos da Informática e instruir os alunos com ferramentas computacionais

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

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

DataQuest. Soluções para Controle de Acesso. DataMini. Manual Técnico Software Ver. 1.0

DataQuest. Soluções para Controle de Acesso. DataMini. Manual Técnico Software Ver. 1.0 DataQuest Soluções para Controle de Acesso DataMini Manual Técnico Software Ver. 1.0 DataQuest DataQuest Comércio e Consultoria Ltda. Av. Dr. Guilherme Dumont Villares, n 1050 Sala 11 Vila Suzana - São

Leia mais

Seu manual do usuário XEROX 6279 http://pt.yourpdfguides.com/dref/5579951

Seu manual do usuário XEROX 6279 http://pt.yourpdfguides.com/dref/5579951 Você pode ler as recomendações contidas no guia do usuário, no guia de técnico ou no guia de instalação para XEROX 6279. Você vai encontrar as respostas a todas suas perguntas sobre a XEROX 6279 no manual

Leia mais