curso de delphi para iniciantes

Upload: pauline-pegorer

Post on 05-Jul-2015

393 views

Category:

Documents


1 download

TRANSCRIPT

Delphi 7 >

1

Delphi 7

>

Diagramao e Arte Final: Albert Eije Barreto Mouta

www.alberteije.com

2

Delphi 7 >

ApresentaoMeu nome Albert Eije. J trabalho com informtica desde 1993. Primeiramente trabalhei com computao grfica. Com o tempo migrei para a rea de desenvolvimento. De incio utilizei o DBase/Clipper. Velhos tempos. Depois que apareceu o fascinante Delphi. J desenvolvi vrios sistemas comerciais em Delphi utilizando os mais diversos bancos de dados, tais como Paradox, Access, Interbase, Firebird, MySQL, SQL Server, PostGreSQL e Oracle. O objetivo desse curso fazer o alicerce para quem quer aprender a programar. Muitas pessoas acham que basta abrir o Delphi e saber usar seus componentes. Mas isso no basta! Um bom programador precisa ter uma boa base de Lgica de Programao e vamos dedicar dois mdulos a este assunto. Outra coisa importante entender a estrutura do Object Pascal, a linguagem utilizada pelo Delphi. Conheo vrios programadores, at bons, que no sabem declarar uma constante. No sabem trabalhar com vetores e matrizes e quando pergunto o porqu, dizem que nunca precisaram usar esses recursos em seus sistemas. Imagino quantas linhas a mais de programao gastaram por no os terem usado. Uma outra coisa importante para um programador que deseja fazer sistemas comerciais a questo dos bancos de dados. Muitos programadores no tem noo de como elaborar um banco de dados, sendo que este um dos primeiros passos ao se iniciar o desenvolvimento de um sistema. Por isso, vamos aprender quais os tipos de bancos de dados e como selecionar o melhor para o nosso caso. Depois vamos aprender a criar nossas tabelas de forma que quase no exista redundncia dos dados. Finalmente criaremos um programa no Delphi utilizando o banco de dados Paradox. A escolha por esse banco se deu pelo fato da facilidade de trabalhar com o mesmo e porque ele j vem com o Delphi. Vamos tambm aprender a fazer qualquer tipo de relatrio usando o QuickReport. A verso do Delphi utilizada no curso a 7, mas os conhecimentos adquiridos podem ser aplicados em qualquer verso do Delphi (anterior ou posterior). Boa parte do material aqui visto foi adquirido na prpria internet. Meu trabalho foi compil-lo em ordem para um melhor aprendizado e acrescentar pontos teis. Junto com os mdulos iro arquivos e programas necessrios para o aprendizado do mesmo. Bem vindos e mos a obra!

www.alberteije.com

Delphi 7 >

3

www.alberteije.com

4

Delphi 7 >

NDICEMdulo 01 - Lgica de Programao I Mdulo 02 - Lgica de Programao II Mdulo 03 - Object Pascal I Mdulo 04 - Object Pascal II Mdulo 05 - Delphi - Ambiente (IDE) e Criao de Programas I Mdulo 06 - Delphi - Ambiente (IDE) e Criao de Programas II Mdulo 07 - Bancos de Dados Mdulo 08 - Paradox, BDE e Database Desktop Mdulo 09 - Programa para Controle de Cheques Mdulo 10 - Criao de Relatrios - Quick Report Apndice

www.alberteije.com

Delphi 7 >

5

Mdulo

1INTRODUO

Lgica de Programao I

A automatizao de tarefas um aspecto marcante da sociedade moderna. O aperfeioamento tecnolgico alcanado, com respeito a isto, teve como elementos fundamentais a anlise e a obteno de descries da execuo de tarefas em termos de aes simples o suficiente, tal que pudessem ser automatizadas por uma mquina especialmente desenvolvida para este fim, O COMPUTADOR. Em cincia da computao houve um processo de desenvolvimento simultneo e interativo de mquinas (hardware) e dos elementos que gerenciam a execuo automtica (software) de uma dada tarefa. E essa descrio da execuo de uma tarefa, como considerada acima, chamada algoritmo. O objetivo dessa lio a Lgica de Programao dando uma base terica e prtica, suficientemente boa, para que o aluno domine os algoritmos e esteja habilitado a aprender uma linguagem de programao. Ser mostrado tambm um grupo de algoritmos clssicos para tarefas cotidianas, tais como: ordenao e pesquisa.

DEFINIO DE ALGORITMOO conceito central da programao o conceito de algoritmos, isto , programar basicamente construir algoritmos. Algoritmo a descrio, de forma lgica, dos passos a serem executados no cumprimento de determinada tarefa. O algoritmo pode ser usado como uma ferramenta genrica para representar a soluo de tarefas independente do desejo de automatiz-las, mas em geral est associado ao processamento eletrnico de dados, onde representa o rascunho para programas (Software). Serve como modelo para programas, pois sua linguagem intermediria linguagem humana e s linguagens de programao, sendo ento, uma boa ferramenta na validao da lgica de tarefas a serem automatizadas. Um algoritmo uma receita para um processo computacional e consiste de uma srie de operaes primitivas, interconectadas devidamente, sobre um conjunto de objetos. Os objetos manipulados por essas receitas so as variveis. a forma pela qual descrevemos solues de problemas do nosso mundo, a fim de serem implementadas utilizando os recursos do mundo computacional. Como este possui severas limitaes em relao ao nosso mundo, exige que sejam impostas algumas regras bsicas na forma de solucionar os problemas, para que possamos utilizar os recursos de hardware e software disponveis. Pois, os algoritmos, apesar de servirem para representar a soluo de qualquer problema, no caso do Processamento de Dados, eles devem seguir as regras bsicas de programao para que sejam compatveis com as linguagens de programao.

LINGUAGEM DE DESCRIO DE ALGORITMO (LDA)Para escrevermos algoritmos preciso uma linguagem clara e que no deixe margem a ambigidades, para isto devemos definir uma sintaxe e uma semntica, de forma a permitir uma nica interpretao das instrues num algoritmo. Estrutura de um algoritmo Algoritmo Nome_Do_Algoritmo variveis Declarao das variveis Procedimentos Declarao dos procedimentos Funes Declarao das funes Incio Corpo do Algoritmo Fim

www.alberteije.com

6Exemplo de um algoritmo cujo objetivo usar um telefone pblico. Incio Tirar o fone do gancho; Ouvir o sinal de linha; Introduzir o carto; Teclar o nmero desejado; Se der o sinal de chamar Conversar; Desligar; Retirar o carto; Seno Repetir; Fim. Exerccios de Fixao

Delphi 7 >

Um homem precisa atravessar um rio com um barco que possui capacidade de carregar apenas ele mesmo e mais uma de suas trs cargas, que so: um leo, uma ovelha e um mao de capim. O que o homem deve fazer para atravessar o rio sem perder suas cargas? Observao Se a Ovelha ficar s, devora o capim. Se o Leo ficar s, devora a ovelha. Identificadores So os nomes dados a variveis, constantes e programas. Regras Para construo de Identificadores: * No podem ter nomes de palavras reservadas (comandos da linguagem); * Devem possuir como 1 caractere uma letra ou Underscore ( _ ); * Ter como demais caracteres letras, nmeros ou Underscore; * Ter no mximo 127 caracteres; * No possuir espaos em branco; * A escolha de letras maisculas ou minsculas indiferente. Variveis Unidades bsicas de armazenamento das informaes em nvel de linguagens de programao. Os tipos de dados e variveis utilizados dependem da finalidade dos algoritmos, mas, podemos definir alguns, pelo fato de serem largamente utilizados e implementados na maioria das linguagens, sendo estes: * INTEIRO (INTEGER): qualquer nmero inteiro, negativo, nulo ou positivo. * REAL (DOUBLE): qualquer nmero real, negativo, nulo ou positivo. * CARACTER (STRING): qualquer conjunto de caracteres alfanumricos. * LGICO (BOOLEAN): tipo especial de varivel que armazena apenas os valores V e F, onde V representa VERDADEIRO e F FALSO. Declarao de variveis Para que os programas manipulem valores, estes devem ser armazenados em variveis e para isso, devemos declar-las de acordo com a sintaxe: NomeVarivel : tipo; Ex: ValorTotal : Double; Constantes Constantes so endereos de memria destinados a armazenar informaes fixas, inalterveis durante a execuo do programa. Declarao de constantes As constantes so eternamente iguais a determinados valores, portanto usamos o sinal de =.

www.alberteije.com

Delphi 7 >Exemplos: Pi = 3.1416; Empresa = Nivek Informatica V = Verdadeiro Operaes Bsicas

7

Na soluo da grande maioria dos problemas necessrio que as variveis tenham seus valores consultados ou alterados e, para isto, devemos definir um conjunto de OPERADORES, sendo eles: OPERADOR DE ATRIBUIO NomeDaVariavel := Valor ou Expresso Atribuda. (:= o operador de atribuio utilizado pelo Delphi). OPERADORES ARITMTICOS

+ = Adio * = Multiplicao - = Subtrao ou inversor do sinal / = Diviso

Quociente = Quociente da diviso de inteiros Resto = Resto da diviso de inteiros EXP(a,b) = Exponenciao ab

FUNES PRIMITIVAS: SEN(x); COS(x); TG(x); ABS(x); INT(x); Raiz(x); PI( ); OPERADORES RELACIONAIS So utilizados para relacionar variveis ou expresses, resultando num valor lgico (Verdadeiro ou Falso), sendo eles:

= - igual < - menor - maior >= - maior ou igual

So utilizados para avaliar expresses lgicas, sendo eles: * e (and) e lgico ou conjuno * ou (or) ou lgico ou disjuno * no (not) negao. PRIORIDADE DE OPERADORES Durante a execuo de uma expresso que envolve vrios operadores, necessria a existncia de prioridades, caso contrrio poderemos obter valores que no representam o resultado esperado. A maioria das linguagens de programao utiliza as seguintes prioridades de operadores: 1 - Efetuar operaes embutidas em parnteses mais internos 2 - Efetuar funes 3 - Efetuar multiplicao e/ou diviso 4 - Efetuar adio e/ou subtrao 5 - Operadores relacionais 6 - Operadores lgicos OBS: O programador tem plena liberdade para incluir novas variveis, operadores ou funes para adaptar o algoritmo s suas necessidades, lembrando sempre de que estes devem ser compatveis com a linguagem de programao a ser utilizada. COMANDOS DE ENTRADA E SADA No algoritmo preciso representar a troca de informaes que ocorrer entre o mundo da mquina e o nosso mundo, para isso devemos utilizar comandos de entrada e sada, sendo que, em nvel de algoritmo, esses comandos representam apenas a entrada e a sada da informao, independe do dispositivo utilizado (teclado,

www.alberteije.com

8

Delphi 7 >

discos, impressora, monitor,...), mas, sabemos que nas linguagens de programao essa independncia no existe, ou seja, nas linguagens de programao temos comandos especficos para cada tipo de unidade de Entrada/Sada. Comando de Entrada de Dados Leia(varivel_1, varivel_2,...) Comando de Sada de Dados Imprima(expresso_1, expresso_2,...) COMANDOS DE CONTROLE DE FLUXO Para representar a soluo de um problema devemos escrever o conjunto de passos a serem seguidos, sendo que a maioria dos problemas exige uma dinmica na sua soluo, impondo assim que os algoritmos executem conjuntos de instrues de acordo com as possveis situaes encontradas no problema original. E de acordo com a Programao Estruturada os mecanismos utilizados para esse controle so: Seqncia, Seleo e Repetio. SEQNCIA: usada para executar comandos passo a passo, sabendo que todos eles sero executados na ordem de escrita, sem nenhum desvio. Uma seqncia pode possuir um ou vrios comandos, os quais devem ser delimitados pelos identificadores Incio e Fim. Inicio Comando_1 ... Comando_n Fim CORPO GERAL DE UM PROGRAMA PROGRAMA ; CONST > = VAR : ; NICIO { COMANDOS DE ENTRADA,PROCESSAMENTO E SADA ; } FIM. ; PONTO E VRGULA O sinal de ponto e vrgula ; indica a existncia de um prximo comando (passa para o prximo). Na estrutura NICIO e no comando que antecede a estrutura FIM no se usa ;. ALGORITMO UM Segue um Algoritmo que l o nome e as 4 notas bimestrais de um aluno. Em seguida o Algoritmo calcula e escreve a mdia obtida. PROGRAMA MEDIA_FINAL; VAR NOTA1, NOTA2, NOTA3, NOTA4, MEDIA: REAL; NOME : CARACTERE [35] INICIO LEIA (NOME); LEIA (NOTA1, NOTA2, NOTA3, NOTA4); MEDIA := (NOTA1 + NOTA2 + NOTA3 + NOTA4) / 4; ESCREVA (NOME, MEDIA); FIM.

www.alberteije.com

Delphi 7 >ALGORITMO DOIS Segue um Algoritmo que l o raio de uma circunferncia e calcula sua rea. PROGRAMA AREA_CIRCUNFERENCIA; CONST PI = 3.1416; VAR RAIO, AREA : REAL; INICIO LER (RAIO); {PROCESSAMENTO} AREA := PI * SQR(RAIO); {ENTRADA} ESCREVA (AREA = , AREA); {SADA} FIM. {LINHAS DE COMENTRIO}

9

Podemos inserir comentrios em um Algoritmo para aumentar a compreenso do mesmo, para isso basta que o texto fique entre Chaves {}. Exemplo: LER (RAIO); {ENTRADA} ASPAS SIMPLES Quando queremos exibir uma mensagem para a tela ou impressora ela deve estar contida entre aspas simples, caso contrrio, o computador ir identificar a mensagem como Varivel Indefinida. Exemplo: ESCREVER (AREA OBTIDA = , AREA) {COMANDO DE SADA} AREA OBTIDA = X.XX {RESULTADO GERADO NA TELA} SELEO: usada para tomar decises, ou seja, desviar a execuo do algoritmo de acordo com uma condio, podendo ser simples ou composta.

Simples Se (Expresso Lgica) Ento Seqncia_1

Composta Se (Expresso Lgica) Ento Seqncia_1 Seno Seqncia_2

ESTRUTURAS DE DECISO Executa uma seqncia de comandos de acordo com o resultado de um teste. A estrutura de deciso pode ser Simples ou Composta, baseada em um resultado lgico.

Simples: SE ENTO

Composta 1: SE ENTO SENO

Composta 2: SE ENTO INICIO ; ; FIM SENO INICIO ; ; FIM; ALGORITMO TRS Segue um Algoritmo que l 2 nmeros e escreve o maior.

www.alberteije.com

10PROGRAMA ACHA_MAIOR; VAR A, B : INTEIRO; INICIO LEIA (A, B); SE A>B ENTO ESCREVA (A) SENO ESCREVA (B) FIM. ALGORITMO QUATRO

Delphi 7 >

Segue um Algoritmo que l o nome e as 4 notas bimestrais de um aluno. Em seguida o Algoritmo calcula e escreve a mdia obtida pelo aluno escrevendo tambm se o aluno foi aprovado ou reprovado. Mdia para aprovao = 6. PROGRAMA MEDIA_FINAL; VAR NOTA1, NOTA2, NOTA3, NOTA4, MEDIA: REAL; NOME : CARACTERE [35] INICIO LEIA (NOME); LEIA (NOTA1, NOTA2, NOTA3, NOTA4); MEDIA := (NOTA1 + NOTA2 + NOTA3 + NOTA4) / 4; SE MEDIA>=6 ENTO ESCREVA (APROVADO) SENO ESCREVA (REPROVADO) ESCREVA (NOME, MEDIA) FIM. NINHOS DE SE Usados para tomadas de decises para mais de 2 opes. Forma Geral: SE ENTO SENO SE ENTO SENO ALGORITMO CINCO Segue um Algoritmo que l 3 nmeros e escreve o maior. PROGRAMA ACHA_MAIOR; VAR A, B, C : INTEIRO; INICIO LEIA (A, B, C); SE (A>B) E (A>C) ENTO ESCREVA (A) SENO SE (B>A) E (B>C) ENTO ESCREVA (B) SENO ESCREVA (C) FIM. ESTRUTURAS DE CONDIO A estrutura de condio eqivale a um ninho de SEs. Forma Geral:

www.alberteije.com

Delphi 7 >FACA CASO CASO ; CASO ; OUTROS CASOS ; FIM DE CASO ALGORITMO SEIS Segue um Algoritmo que l 3 nmeros e escreve o maior. PROGRAMA ACHA_MAIOR; VAR A, B, C : INTEIRO; INICIO LEIA (A, B, C); FACA CASO CASO (A>B) E (A>C) ESCREVA (A); CASO (B>A) E (B>C) ESCREVA (B); OUTROS CASOS ESCREVA (C); FIM DE CASO FIM.

11

EXERCCIOS01) Crie um Algoritmo no computacional, que troque um pneu de carro. 02) Implemente um algoritmo capaz de encontrar o maior dentre 3 nmeros inteiros quaisquer. Suponha todos serem distintos. 03) Implemente um algoritmo que leia 3 nmeros quaisquer e os imprima em ordem crescente. 04) Escreva um subprograma capaz de calcular a mdia aritmtica de trs parmetros passados. 05) Crie um algoritmo que pegue o nome de trs pessoas, pegue a data de nascimento delas e identifique o sexo das mesmas. Depois mostre os nomes dessas pessoas seguido pelo sexo e idade e diga no final do algoritmo qual dos trs o mais velho. 06) NO 2 ** 3 < 4 ** 2 OU ABS( INT( -15 / 2 ) ) < 10 07) 3 * ( C / 4 + 5) < 8 * 3 + ( 15 MOD 8 3 ) OU 5 ** 2 > INT( C * 0.7 ) onde C = 20 08) A ** 3 / B + 5 C * D > C * D + A - B OU A // 2 / D < 18 A onde A = 9 , B = 3 , C = 4 e D = 2 09) 5 + A * B 16 // 4 D E 6 / A * C / ( A B ) = 234 OU A / 4 ( 7 + 5 * C ) < A ** 2 3 * B 10) Faa um algoritmo para calcular o peso ideal de uma pessoa sabendo sua altura. DADO: para homens ( 72,7 * altura ) 58; para mulheres ( 62,1 * altura ) 44,7. 11) Faa um algoritmo para ler nove nmero inteiros quaisquer. Tirar a mdia aritmtica dos trs primeiros, depois a mdia dos outros trs e por fim a mdia dos trs ltimos. Escreva as trs mdias e a mdia das trs mdias. 12) Faa um algoritmo para ler os catetos de um tringulo retngulo e calcular e imprimir a sua hipotenusa. 13) Faa um algoritmo para ler duas variveis inteiras e trocar o contedo lido de uma pela outra. 14) Faa um algoritmo para ler dois nmeros e imprimir o maior, o menor ou ento dizer se so iguais. 15) Faa um algoritmo para ler trs nmeros e imprimir se estes podem ou no formar um tringulo. Observao Para formar os lados de um tringulo cada um dos valores tem que ser menor que a soma dos outros dois. 16) Faa um algoritmo que leia as trs notas, as faltas e o nome de um aluno e imprima sua situao. ( APROVADO, REPROVADO POR FALTA ou REPROVADO POR MDIA ) Observao A mdia para aprovao 5.0 e o limite de faltas 17. 17) Uma pessoa precisa comprar 3 remdios. Porm tem somente R$ 100,00. Faa um algoritmo que leia o nome e o preo de cada medicamento e escreva quais os medicamentos que ela pode comprar, se que pode. ( Para facilitar o algoritmo faa a compra por ordem de leitura.) 18) Faa um algoritmo que leia 9 nmeros e escreva quantos nmeros pares foram lidos. 19) Leia o nome e a idade de trs pessoas e escreva seus nomes em ordem crescente de idade. 20) Leia trs palavras e escreva se das palavras lidas, as trs so diferentes, as trs so iguais ou pelo menos duas so iguais.

www.alberteije.com

86

Delphi 7 >

Veja o Contedo Exclusivo do Curso Delphi Avanado1 CD - 130 Minutos

* Compreender o modelo Entidade-Relacionamento e Lgico-Relacional; * Saber definir e identificar: Entidades, Relacionamentos, Atributos e tudo mais que tenha a ver com o Modelo Entidade-Relacionamento; * Conhecer os tipos de relacionamentos: Condicionais e Incondicionais; * Saber os graus de relacionamento: Um-Para-Um, Um-Para-Muitos, Muitos-Para-Muitos; * Compreender uma realidade e a partir dessa compreenso criar um modelo de dados e logo depois o banco de dados em si; * Dominar o conceito de chaves, ndices e integridade referencial; * Saber normalizar um modelo atravs das Formas Normais (1FN a 5FN); * Usar programas para a criao do modelo de dados; * Utilizao do DBDesigner.

1 CD - 159 Minutos

* Definio e Histria da Linguagem SQL; * Entendendo as partes da Linguagem: DDL, DML, DCL e Transactions Control; * Instruo Select (alias, order by, like, asc, desc, group by, having, where, not, in, exists, sum, max, min, avg, count, between, distinct, etc); * Instruo Insert Into; * Instruo Update; * Instruo Delete; * Consultas Encadeadas (SubQuerys); * Junes (inner join, left join, right join e full outer join); * Criao, alterao e deleo de tabelas e ndices; * Controle de Transaes; * Diversos exemplos feitos no programa SQL Explorer; * Criao de um sistema no Delphi implementando os comandos SQL juntamente com o componente Query. Cadastro de Clientes, Cadastro de Usuarios e Formulrio Mestre Detalhe com duas tabelas (CVenda e DVenda).2 CDs - 340 Minutos

* Introduo: Definio, Histria, Caractersticas, Licenas e Verses; * Instalao da verso 3.23 no Windows 98, tipos de arquivos, estrutura de diretrios do MySQL, uso do Console (prompt), etc; * Utilizao da ferramenta grfica MySQLFront 2.3, criao de bancos de dados, tabelas, explicao dos tipos de campos, importao de dados do paradox, atributos especiais de campos do MySQL, uso do Manual de Referncia, uso das funes do MySQL; * Instalao da Verso 4 do MySQL no Windows XP, uso do MySQLFront 3.2, importao de arquivos do Excel, Exportao de dados para o formato HTML, etc; * Instalao do MySQL no Linux Slacware, uso do console no Linux, uso da ferramenta grfica PHPMyAdmin; * Instalao e configurao da verso 5 no Windows XP; * Uso da ferramenta grfica DBManager, tipos de tabelas, foreign keys, constraints, views, backup e restaurao de dados, controle de transaes; * Uso da ferramenta grfica MySQL Administrator, controle de usurios, backup e restaurao de dados, replicao; * Uso da ferramenta grfica MySQL Query Browser; * Uso da ferramenta grfica MySQL Migration Toollkit, migrao de um banco de dados do MS-Access; * DBDesigner - Sincronizao de dados e engenharia reversa; * Apresentao dos sites oficias do MySQL - Internacional e Nacional; * Stored Procedures e Triggers.

www.alberteije.com

Delphi 7 >

87

Curso Delphi Avanado - 15 Mdulos (19 CDs)2 CDs - 254 Minutos

* Introduo: Definio, Histria, Caractersticas, Licenas e Especificaes Firebird; * Comparativo das arquiteturas Classic x SuperServer; * Descrio dos tipos de dados suportados pelo Firebird; * Dialetos; * Tipos de Transaes; * Instalao passo a passo da verso 1.5 do Firebird no Windows; * Explicao da estrutura de diretrios; * Servios executados no Windows e opes no Painel de Controle; * Utilizao das seguintes ferramentas grficas: IBExpert, IBEasy+, FlameRobin, IBAccess, SQLHammer, DBak Win, IB First AID, Interbase Grant Manager; * Criao de tabelas, triggers, generatos, domains, views, querys; * Controle de acesso para usurios; * Backup do BD; * Constraints: Check, PK, FK, Unique; * Corrigindo BDs corrompidos; * Criao de um projeto de BD; * Utilizao do ISQL (console); * Criao de triggers para controle de estoque; * Exceptions; * Criao de Stored Procedures; * UDFs - Conceito; Criao de uma UDF no Delphi e uso no Firebird; * Corrupo de Dados: Conhecendo, evitando, corrigindo; * Utilizao do Gfix (console); * Comparativo: MySQL x Firebird; * Apresentao dos sites importantes internacionais e nacionais; * Instalao do Firebird Cliente numa mquina virtual Windows 98; * Conexo com o banco de dados atravs da rede; * Apresentao da documentao.1 CD - 116 Minutos

* Definio e estrutura das empresas; * Nveis de deciso das empresas; * O Analista de Sistemas; * Engenharia de Software; * Ciclo de vida de um sistema; * Coleta de Informaes: Entrevistas e pesquisas; * Entrevistas: planejamento, preparao, comportamento, linguagem, fatos x opinies, desejos dos usurios, observaes gerais; * Contratos e lei: anlise das principais clusulas de um contrato (identificao das partes, documentao, prazo de entrega, cdigos fontes, confiabilidade); * Lei do Software - comentrios sobre os principais artigos; * O que melhor: autnomo ou empresa; * Estudo de caso: Sistema para Hotel - apresentao de um estudo de caso mostrando desde o incio um problema enfrentado por um hotel e a soluo adotada por um analista de sistemas. Neste estudo so mostrados e comentados a proposta e o contrato utilizado pelo analista; * Apresentao de recibos: simples e RPA; * Vantagens do aluguel de software; * A carreira do consultor independente; * Comentrios acerca do Guia do Empreendedor e do manual A Pequena Empresa e o Novo Cdigo Civil; * Prosperidade - Mapas Mentais - explanao a apresentao do programa freemind.

www.alberteije.com

88

Delphi 7 >

Curso Delphi Avanado - 15 Mdulos (19 CDs)1 CD - 208 Minutos

* Compreenso da realidade do SisCom; * Criao das tabelas (Produto - Cliente - Fornecedor - Funcionario Banco - Departamento - Cartao - Unidade - Plano_Conta - Tipo_Pgto CFOP - Pagamento - Recebimento - C_NFE - D_NFE - C_Venda D_Venda - C_Requisicao - D_Requisicao - C_Cotacao - D_Cotacao C_Pedido - D_Pedido - Configuracao - Nivel_Acesso); * Comentrio detalhado sobre cada tabela e seus campos; * Apresentao do DER do SisCom e comentrios sobre cada relacionamento; * Criao das tabelas e dos relacionamentos no DBDesigner; * Sincronizao do DBDesigner com o MySQL; * Migrando o BD do MySQL para o Firebird; * Conectando o DBDesigner com o Firebird atravs de ODBC; * Conectando o DBDesigner com o Firebird diretamente; * Fazendo Engenharia Reversa de tabelas do Firebird no DBDesigner; * Visualizando a estrutura de arquivos do DBDesigner para faz-lo conectar-se ao Firebird; * Visualizando o Cdigo Fonte do DBDesigner dentro do Delphi; * Criao passo a passo do BD no Firebird utilizando o IBExpert; * Padronizao de campos e tabelas; * Erros encontrados por falta de padronizao.2 CDs - 416 Minutos

* Apresentao da Suite de Componentes ZeosDBO; * Vantagens de usar o ZeosDBO; * Instalao do ZeosDBO; * Explicao sobre cada componente do ZeosDBO; * Comparao dos componentes do ZeosDBO com os seus equivalentes no BDE; * Diferena entre sistemas MDI e SDI e explicao sobre qual o melhor; * Incio do desenvolvimento do sistema SisCom; * Criao do Formulrio Principal: Menu, Barra de Ferramentas, Barra de Status. Todos os hints do sistema sero enviados para a barra de status, possibilitando uma ajuda online atravs de dicas rpidas para os usurios; * Carregando um logotipo para a tela principal do sistema; * Uso de Application.Messagebox; * Componentes de acesso ao banco em DataModule; * Criao dos cadastros utilizando ZTable (equivalente a TTable). Para quem vem do paradox ficar muito fcil desenvolver dessa forma; * Criao dos cadastros utilizando ZQuery (Equivalente a TQuery). Utilizao de Edits Simples no lugar dos DBEdits, com procedimentos especficos para o controle de edio e gravao dos campos; * Utilizao de comandos dos tipos TTable (Append, Edit, Post, Delete) e cadastros usando apenas SQL puro (Insert Into, Update Set, Delete From); * O sistema roda AUTOMATICAMENTE em Firebird e MySQL. O usurio escolhe qual banco usar. No existe alterao nenhuma no cdigo; * Utilizao dos Generators (firebird) para autonumerar campos no sistema; * Implementao de uma rotina onde o usurio procura por qualquer informao em qualquer campo do sistema, bastando para isso clicar no ttulo do DBGrid; * Criao do nvel de acesso para controle de acessos dos usurios aos mdulos do sistema; * Verificao e anlise de vrias mensagens de erro; * Implementao de um controle de auditoria, onde o sistema armazena qual o usurio que inseriu ou alterou registros, juntamente com a data e hora.

www.alberteije.com

Delphi 7 >

89

Curso Delphi Avanado - 15 Mdulos (19 CDs)1 CD - 236 Minutos

* Introduo a tecnologia dbExpress; * Vantagens e desvantagens do dbExpress; * Comparativo dbExpress x BDE; * Apresentao de todos os componentes da paleta dbExpress; * Utilizao do SQLQuery + DataSetProvider + ClientDataSet para criar o Contas a Pagar; * Desenvolvimento do Contas a Pagar passo a passo; * Acessando Firebird e MySQL ao mesmo tempo atravs do SQLConnection; * Utilizando um mtodo de procura ao clicar no ttulo do DBGrid, tendo por base um perodo passado por 2 MaskEdits; * Pegando o cdigo AutoIncrement no MySQL para o ClientDataSet; * Pegando o cdigo do Generator no Firebird para o ClientDataSet (Stored Procedures); * Explicao do uso de ActionLists para otimizar o trabalho; * O SisCom funciona automaticamente com MySQL e Firebird. Os mdulos de cadastro esto utilizando a tecnologia Zeos. O mdulo de Contas a Pagar est usando a tecnologia dbExpress + ClientDataSet.1 CD - 140 Minutos

* Desenvolvimento do Contas a Receber do SisCom utilizando a tecnologia dbExpress + ClientDataSet; * Implementao do conceito de reconciliao de erros no SisCom; * Traduo do Formulrio de Reconciliao de Erros para o Portugus; * Utilizao apenas do SQLConnection para realizar consultas SQL; * Explicao detalhada do uso do SQLDataSet (Table, Query, StoredProc); * Utilizao de parmetros para realizar consultas SQL; * Manipulao dos dados do ClientDataSet antes de serem enviados para o Banco de Dados - ainda na memria do micro cliente (utilizao da propriedade Delta do ClientDataSet); * Criao de consultas Mestre/Detalhe. (Dados mostrados numa mesma DBGrid e posteriormente em duas DBGrids); * Criao de bancos de dados locais com o ClientDataSet (utilizao de arquivos XML); * Criao de Campos Agregados; * Utilizao do componente SimpleDataSet; * Utilizao do componente SQLMonitor para mapear o que est ocorrendo entre a aplicao e o banco de dados (tudo que est ocorrendo em baixo nvel mostrado num Memo); * Implementando o Controle de Transaes com o dbExpress; * Explicao sobre o nvel de isolamento (TransIsolationLevel) das transaes do dbExpress.

Aps assistir s vdeo aulas do curso voc estar apto para desenvolver qualquer sistema comercial. Este contedo voc no encontra em nenhum curso presencial ou online. Contedo nico e exclusivo.www.alberteije.com

90

Delphi 7 >

Curso Delphi Avanado - 15 Mdulos (19 CDs)2 CDs - 447 Minutos

* Apresentao de cada componente da paleta ADO - principais propriedades; * Criando uma conexo no SisCom para Firebird e MySQL (alternando entre um e outro de acordo com a escolha do usurio); * Instalao dos Drivers ODBC para MySQL e Firebird e criao de DSN para acesso ao banco de dados do SisCom; * Criao do Mdulo Requisio de Compras; * Utilizao do ADOConnection, ADOQuery, ADOTable e ADOStoredProc; * Anlise de erros ao construir o mdulo; * Construo do formulrio para importar itens para a requisio; * Trabalhando com passagem de parmetros; * Localizando e eliminando erros do projeto do BD; * Criao do Mdulo Cotao de Compras; * Utilizao do repositrio de formulrios do Delphi; * Utilizao de um componente permite abrir um menu em um boto; * Construo do formulrio para importar os itens das requisies que vo compor a cotao; * Construo do Mdulo Confirmao da Cotao (neste formulrio o usurio insere os preos e condies enviadas pelos fornecedores); * Construo do Mdulo Pedido de Compras (neste formulrio o usurio visualiza as cotaes e pode fazer pedidos aos fornecedores baseado nas informaes prestadas pelos mesmos. permitido realizar vrios pedidos atravs de uma cotao); * Construo do formulrio para importar os itens das cotaes.1 CD - 165 Minutos

* Construo do Sistema de Vendas utilizando os componentes da paleta ADO (ADOConnection, ADOQuery, ADOTable, ADOStoredProc); * Chamadas a Stored Procedures armazenadas no BD com passagem e retorno de parmetros; * Importao dos dados da tabela oficial CFOP de um BD diferente; * Anlise de alguns erros que ocorrem com ADO; * Usando ADO com ClientDataSet; * Acessando o BD sem o uso do componente ADOConnection; * Construindo consultas Mestre-Detalhe com ADO (3 tabelas no exemplo); * ADO e Controle de Transaes; * Enviando informaes para o BD sem Result Set com o componente ADOCommand.

1 CD - 188 Minutos

* Descrio detalhada dos 13 Componentes da paleta IBX (Interbase Express); * Comentrios sobre suas propriedades; * Construo do Formulrio de Entrada de Notas Fiscais (IBDataBase, IBTransaction, IBDataset, IBQuery, IBUpdateSQL); * Passagem de parmetros; * Atualizao do Estoque via cdigo feito no Delphi; * Atualizao do Estoque via Triggers criadas no Firebird (AfterInsert, AfterUpdate, AfterDelete); * Construo do Formulrio para Ajuste de Preos; * Cdigo para ajustar preos na tabela de produtos utilizando uma taxa (aumentando e diminuindo valores).

www.alberteije.com

Delphi 7 >

91

Curso Delphi Avanado - 15 Mdulos (19 CDs)1 CD - 198 Minutos

* Instalao do Quick Report no Delphi 7; * Descrio detalhada dos componentes da Suite Quick Report; * Desenvolvimento dos relatrios de cadastro do SisCom utilizando o Quick Report; * Criao de relatrios Mestre-Detalhe com o Quick Report; * Exportando relatrios para TXT e HTML atravs do Quick Report; * Descrio detalhada dos componentes da Suite Rave Reports; * Desenvolvimento dos relatrios de Contas a Pagar e a Receber utilizando o Rave Reports; * Criao de relatrios Mestre-Detalhe com o Rave Reports; * Utilizao de imagens e cdigos de barras usando o Rave Reports; * Exportando relatrios para PDF atravs do Rave Reports; * Apresentao do Componente PrintFast (componente que envia o relatrio diretamente para a impressora - excelente para impressoras matriciais e Clippeiros de planto); * Instalao do PrintFast no Delphi 7; * Desenvolvimento dos seguintes relatrios usando o PrintFast: Requisio de Compras, Mapa Comparativo de Preos e Pedido de Compras; * Apresentao dos Geradores de Relatrios: FreeReport e Fortes Reports.1 CD - 168 Minutos

* Anlise de 10 Manuais em formato PDF; * Criao do Manual do SisCom em formato PDF; * Criao de um arquivo HLP (ajuda) utilizando ferramentas gratuitas; * Chamando a ajuda de dentro do SisCom ao pressionar a tecla F1 (ajuda sensvel ao contexto); * Desenvolvimento de um manual HTML para o SisCom; * Convertendo arquivos HTML para CHM (HTML Help); * Convertendo arquivos CHM para 42 outros formatos (PDF, HLP, RTF, TXT, XLS, DOC e muitos outros); * Utilizao de uma ferramenta que cria o Help e j salva em diversos formatos diferentes (HLP, CHM, PDF e outros). Ferramenta muito fcil de utilizar; * Chamando a ajuda CHM de dentro de uma aplicao Delphi ao pressionar F1 (ajuda sensvel ao contexto); * Utilizao de uma ferramenta que cria o arquivo de ajuda baseado nas imagens capturadas das telas do SisCom. O usurio clica em qualquer parte das janelas capturadas e a ajuda referente quela parte da janela apresentada.1 CD - 175 Minutos

* Modificando o cdigo do SisCom para que o mesmo funcione em rede; * Testando o funcionamento do SisCom em rede (mquina virtual); * Identificao das bibliotecas necessrias para a instalao numa mquina cliente; * Trabalhando com arquivos Ini (configurao do acesso aos dados atravs desses arquivos); * Desenvolvimento de um instalador personalizado no Delphi (o instalador se encarrega de copiar todos os arquivos necessrios para o funcionamento do SisCom e instala o MySQL e o Firebird); * Utilizao de ferramentas para criao de instaladores: Setup2Go, CreateInstall, InnoSetup); * Compactao de executveis; * Criando uma biblioteca de funes e integrando a mesma ao SisCom; * Aperfeioamento da janela de Login; * Desenvolvimento de uma Splash Screen para o SisCom utilizando uma imagem feita no CorelDraw e exportada para o SisCom. Utilizao de uma barra de progresso.

www.alberteije.com

92

Delphi 7 >

Curso Delphi Avanado - Mdulos Plus2 CDs - 224 Minutos

* Introduo a Orientao a Objetos * Histrico do Paradigma de Orientao a Objetos * Explicaes sobre: Abstrao; Objeto; Encapsulamento; Mensagem; Classe; Herana; Polimorfismo; Classificao; Associao; Agregao; Generalizao; Especializao * Introduo a UML - Unified Modeling Language * Histrico da notao UML * Fases do desenvolvimento de um sistema em UML: Anlise de requisitos; Anlise; Design (projeto); Programao; Testes * Vises: Viso de Componentes; Viso Lgica; Viso de Use-Case; Viso de Organizao; Viso de Concorrncia * Modelos de Elementos: Classes; Objetos; Estado; Pacote; Componente; Relacionamentos (associao, generalizao, dependncia e refinamento) * Diagramas: Use-Case; Classes; Objetos; Estado; Seqncia; Colaborao; Atividade; Componente; Execuo * Estudos de caso: conta corrente e aplicaes financeiras; locadora; sistema de matrcula; posto de gasolina; biblioteca. * Cada estudo de caso acima feito em uma ferramenta diferente. Obs: Este Mdulo pr-requisito para o Mdulo Dephi OOP1 CD - 220 Minutos

* Introduo Linguagem Object Pascal (Delphi Language); * Variveis - declarao e exemplos; Variveis Locais e Globais; * Constantes - declarao e exemplos; * Tipos de Dados - Inteiros, Reais, Texto, Ordinais; * Rotinas de converso de tipos; TypeCasting; * Operadores - unrios, multiplicativos, direo de bits, aditivos, relacionais; * Estruturas de Repetio - While, For, Repeat; Quebras de Lao (continue, break, exit, halt); * Tipos Definidos pelo Usurios - SubRange, Enumeraes, Ponteiros, Records, Arrays, Sets; * Procedimentos, Funes e Mtodos; * Passagem de parmetros - explicaes sobre passagem por valor e por referncia; Uso do With; * Desenvolvimento de diversas rotinas para praticar os conceitos acima; * Explicaes sobre a estrutura da Unit: reas: Unit, Interface, Implementation, Var, Const, Uses, Referncia Circular; * Sobrecarga de mtodos: Overload - Exemplo de vrios mtodos de mesmo nome para mostrar o funcionamento; * Blocos protegidos - explicaes sobre excees (try, except, finally, raise); * Explicaes sobre parmetros formais e parmetros reais; * Classes e Objetos; Desenvolvimento de diversas classes no Delphi; * Mtodos construtores e destrutores; Mtodos Getters e Setters; * Instanciao das classes - Desenvolvimento de uma aplicao Console para analisar o funcionamento; * Encapsulamento - Operadores de visibilidade (private, public, protected, published) - explicaes e prtica de cada um deles; * Herana entre classes; * Utilizao de Property (propriedades); * Sobreposio de Mtodos - Virtual/Override - Sobrescrever mtodos em classes descendentes - Conceito de Polimorfismo; * Desenvolvimento do SisCom OO - explicaes sobre o objetivo do SisCom (Sistema Comercial); * Exibio do DER e da UML do SisCom. Diferenas entre os dois diagramas; * Apresentao do SisCom desenvolvido durante o Curso Delphi Avanado; * Desenvolvimento passo a passo do Formulrio Padro de Cadastro. Atravs desse formulrio, todos os outros forms de cadastro sero criados. Utilizao do conceito de Herana Visual do Delphi; * Integrao Delphi / ModelMaker; * Engenharia reversa do SisCom para o ModelMaker; * Alteraes em modelo no ModelMaker e atualizao em Tempo Real na aplicao no Delphi; * Explicaes para desenvolvimento dos diagramas UML do SisCom no ModelMaker; Obs: O Mdulo Plus Entendendo UML pr-requisito para este mdulo

www.alberteije.com

Delphi 7 >

93

Curso Delphi Avanado - Mdulos Plus2 CDs - 339 Minutos

* Explicaes sobre ECF (Emissor de Cupom Fiscal) e TEF (Transferncia Eletrnica de Fundos); * Instalao e utilizao de Emulador de Impressora Fiscal para utilizao junto com o sistema de Frente de Caixa; * Anlise dos manuais das Impressoras Bematech, Yanco, Daruma e Zanthus; * Criao passo a passo da Interface do Sistema de Frente de Caixa; * Implementao dos comandos para utilizao com a impressora fiscal: Leitura X, Reduo Z, Relatrios de Memria Fiscal; Abertura e Fechamento de Cupons; Envio de Formas de Pagamento; Envio e Cancelamento de Itens; Etc; * Criao de um formulrio de configuraes onde o prprio usurio define as formas de pagamentos que vai utilizar, em quais ocasies vai solicitar senhas, qual impressora est utilizando e o caminho onde as fotos dos produtos esto armazenadas (as fotos dos produtos so armazenadas fora do banco de dados); * Criao de um formulrio para localizao de produtos, caso o sistema no consiga ler o cdigo ou o produto no tenha cdigo de barras; * Criao de um formulrio para armazenar os dados da venda; * Estudo e implementao da Soluo TEF; 2 CDs - 275 Minutos * SQL Server - Apresentao - Caractersticas; * Instalao passo a passo do SQL Server e Ferramentas Avanadas Instalao do .NET Framework; * Apresentao da ferramenta de configurao (SQL Server Configuration Manager); * Apresentao e configurao do SQL Browser - ferramenta para aceitar conexes remotas; * Explicao e configurao dos tipos de conexes (Shared Memory, Named Pipes, TCP/IP, VIA); * Criao de aliases para o Banco de Dados; * Apresentao da ferramenta de configurao (SQL Server Surface Area Configuration); * Configurao e uso da ferramenta para gerenciamento de bancos de dados feitos em SQL Server (Microsoft SQL Server Management Studio Express); * Explanao sobre Collations; Detalhamento sobre os tipos de dados; * Criao e configurao de um banco de dados; * Criao das tabelas, ndices, relacionamentos, constraints, etc do banco de dados utilizando ferramenta para modelagem; * Criao do campo Auto-Increment; Criao de Views atualizveis; * Apresentao de ferramenta grfica adicional para gerenciamento do banco de dados (SQL Manager 2005 for SQL Server); * Criao de Checks Constraints; Criao de Usurios/Roles para acesso ao banco; * Confeco de relatrios utilizando a ferramenta; * Exportando dados (Excel, Access, Word, RTF, HTML, PDF, TXT, CSV, DBF, XML); * Importando dados (Excel, Access, DBF, XML, TXT, CSV); * Explanao sobre Stored Procedures e Triggers; * Operaes com o Banco (extrao de dados, backup e restore); * Apresentao de ferramenta grfica adicional para gerenciamento do banco de dados (SQL Lite); * Conhecendo as funes de sistema (agregao, matemticas, data e hora, string, diversas...); * Desenvolvimento de uma aplicao do Delphi para acesso ao banco de dados (cadastros, vendas, etc). Utilizao das tecnologias de acesso ADO e dbExpress; * Formulrio mestre-detalhe e campos de lookup; Explicao e criao de Trigger para atualizao do estoque; * Utilizao de transaes (inicio, cancelamento e confirmao); * Funcionamento da aplicao em rede atravs de mquina virtual W98;

www.alberteije.com

94

Delphi 7 >

Curso Delphi Avanado - Mdulos Plus1 CD - 129 Minutos

* Introduo a Criptologia (Criptografia e Criptoanlise); * Utilizando na prtica a Esteganografia (esconder arquivos em imagens); * Anlise de vrios componentes que implementam a Criptografia no Delphi; * Apresentao de vrios mtodos para Proteo de Programas (NagScreen, Perodo, Limitao de Registros, HardLocks, Identidade nica); * Implementando na prtica vrias tcnicas para proteo de programas (Por Arquivo, Por Diretrio, Por Registro, etc); * Desenvolvimento de um sistema que bloqueia o uso do sistema no usurio. O sistema grava as informaes no registro do Windows. Pega informaes da mquina do usurio (HD, BIOS) e combina tais informaes com Constantes implementadas pelo programador (Phi e Pi). O desbloqueio do sistema se d ao informar a Contra-Chave (Demonstrado passo a passo); * Apresentao de vrios componentes para Delphi que implementam a proteo de programas; * Dicas importantes para colocar em prtica no momento da criao de uma proteo; * Apresentao de Engenharia Reversa (Descompiladores); * Utilizao na prtica de alguns descompiladores (DeDe, Source Rescuer, ResHacker); * Demonstrao de tcnica para evitar a Engenharia Reversa de programas feitos em Delphi; * Demonstrao de como Crackear um programa feito em Delphi utilizando um Editor HexaDecimal (passo a passo);1 CD - 229 Minutos

Utilizao de Acion Lists; * Demonstrao do Assistente de tabelas do Access que ajuda a normalizar o Banco de Dados; * Demonstrao do Analisador de Desempenho do Access; * Definindo e alterando senhas no Access; * Acessando os relatrios desenvolvidos no Access atravs do Delphi: visualizao em tela e envio para impresso sem que o usurio perceba que o relatrio foi feito no Access; * Criao de ndices primrios e secundrios; * Introduo ao conceito de boletos bancrios; * Apresentao do Manual da Federao Brasileira dos Bancos; * Criao passo a passo de um registro de 240 posies definido no manual da Febraban; * Apresentao de uma soluo pronta (componente open source) para a impresso de boletos bancrios em Delphi, emisso do arquivo de remessa que enviado pelas empresas aos bancos e leitura do arquivo de retorno que enviado pelos bancos para as empresas; * Instalao e utilizao do referido componente: impresso de boletos bancrios em QuickReport (visualizao personalizada e RaveReports, exportao do boleto para PDF, gerao do arquivo de remessa; * Demonstrando a impresso de boletos bancrios com dados vindos de uma tabela do banco de dados Access; * Orientaes para migrar o componente para uma verso posterior do Delphi;

* MSAccess - Apresentao; * Criao de Tabelas (explicao dos tipos de dados); * Especificaes do Access - limitaes do banco de dados; * Definindo relacionamentos e criando integridade referencial. Explicaes sobre cardinalidade; * Criao de consultas (Visual e SQL); * Criao de formulrios. Formulrios prontos para impresso. Formulrios vinculados a cdigo em VBA. Subformulrios; * Criao de uma consulta vinculada a dados de um formulrio. Visualizao dos dados de uma consulta em um subformulrio; * Desenvolvimento de relatrios; * Desenvolvimento de uma pgina WEB que acessa e altera os dados da tabela; * Introduo a VBA (Visual Basic for Applications); * Acessando o banco de dados atravs do Delphi (tecnologia DAO); * Criao de um pequeno aplicativo no Delphi acessando o BD Access.

www.alberteije.com