object pascal i

Upload: fabio-santos

Post on 18-Jul-2015

66 views

Category:

Documents


0 download

TRANSCRIPT

20

Delphi 7 >

Mdulo

3INTRODUO

Object Pascal I

Essa lio tem por objetivo apresentar a linguagem que o Delphi utiliza: Object Pascal. Tenha em mente que o Delphi no uma linguagem, mas sim uma Ferramenta de Desenvolvimento que utiliza a linguagem Object Pascal. CONCEITOS DE PROGRAMAO ORIENTADA A OBJETOS Antes de partir para a linguagem propriamente dita, vamos aprender alguns conceitos bsicos de Programao Orientada a Objetos. Classe: Definio de tipo dos objetos, modelo de objeto. Objeto: Instncia de classe, varivel cujo tipo uma classe. Atributos: Variveis de instncia. So os dados de um objeto. Mtodos: Funes e procedimentos de um objeto. Propriedades: Apelido usado para evitar o acesso direto aos atributos de um objeto, onde podemos especificar mtodos que sero usados para ler e atribuir seus valores a esses atributos. Mensagens: Chamada de mtodos, leitura e atribuio de propriedades. Encapsulamento: Conjunto de tcnicas usadas para limitar o acesso aos atributos e mtodos internos de um objeto. Herana: Possibilidade de criar uma classe descendente de outra, aproveitando seus mtodos, atributos e propriedades. Ancestral: Super classe ou classe de base, a partir da qual outras classes podem ser criadas. Descendente: Subclasse. Hierarquia de Classes: Conjunto de classes ancestrais e descendentes, geralmente representadas em uma rvore hierrquica. Polimorfismo: Capacidade de redefinir mtodos e propriedades de uma classe em seus descendentes. ESTRUTURA DE UNITS Vamos examinar o cdigo gerado para um novo Form, identificando as principais sees de uma Unit tpica. Abra o Delphi e crie uma nova aplicao. Observe na Unit principal as seguintes clusulas. Unit: A primeira declarao de uma unit seu identificador, que igual ao nome do arquivo. Interface: Seo interface, onde ficam declaraes que podem ser usadas por outras Units. Uses: Na clusula uses fica a lista de Units usadas. Type: Na clusula type fica a definio de tipos, aqui temos a declarao da classe do Form. Var: Na clusula var so declaradas as variveis, aqui temos a declarao da instncia do Form. Implementation: Na seo implementation ficam as definies dos mtodos. End: Toda Unit termina com um end a partir de onde qualquer texto ignorado. VARIVEIS No Delphi, toda varivel tem que ser declarada antes de ser utilizada. As declaraes podem ser feitas aps a palavra reservada var, onde so indicados o nome e o tipo da varivel. Os nomes de variveis no podem ter acentos, espaos ou caracteres especiais como &, $ ou % e o primeiro caractere de um nome de varivel tem que ser uma letra ou um sublinhado ( _ ). VARIVEIS GLOBAIS As variveis abaixo so globais, declaradas na Interface da Unit. Podem ser acessadas por qualquer Unit usuria. var I: Integer; Usuario: string;

www.alberteije.com

Delphi 7 >A, B, Soma: Double; Ok: Boolean; VARIVEIS LOCAIS

21

As variveis abaixo so locais ao mtodo, ou seja, elas s existem dentro do mtodo, no podem ser acessadas de fora, mesmo que seja na mesma Unit. Na verdade essas variveis so criadas quando o mtodo chamado e so destrudas quando ele encerrado, seu valor no persistente. procedure TFrmExemplo.BtnTrocarClick(Sender: TObject); var Aux: string; begin Aux := EdtA.Text; EdtA.Text := EdtB.Text; EdtB.Text := Aux; end; ATRIBUTOS Os atributos so variveis de instncia. Para declarar um atributo em uma classe basta definir o identificador e o tipo do atributo na declarao da classe, feita na seo type da Interface da Unit, como abaixo. type TFrmSomar = class(TForm) private {Private declarations} A, B: Double; public {Public declarations} Soma: Double; end; ENCAPSULAMENTO Os principais nveis de visibilidade dos atributos e mtodos de uma classe so mostrados abaixo.

Nvel Private Public Protected Published

Visibilidade Os itens declarados nesse nvel s podem ser acessados na mesma unit. Nesse nvel, qualquer unit usuria poder acessar o item. Os itens s podero ser acessados em outra unit se for em uma classe descendente. o nvel default, igual ao Public, mas define propriedades e eventos usados em tempo de projeto.

CLASSES Classes so tipos de objetos, uma classe declarada na clusula type da seo interface e os mtodos so definidos na seo implementation. Examine o cdigo de um Form para identificar os elementos de sua classe. interface type TFrmSomar = class(TForm) EdtA: TEdit; EdtB: TEdit; BtnSoma: TButton; procedure BtnSomaClick(Sender: TObject); private { Private declarations } public { Public declarations } end; implementation

www.alberteije.com

22procedure TFrmSoma.BtnSomaClick(Sender: TObject); begin ShowMessage(EdtA.Text + EditB.Text); end; OBJETOS

Delphi 7 >

Um Objeto tratado como uma varivel cujo tipo uma classe. A declarao de objetos igual declarao de uma varivel simples, tendo no lugar do tipo a classe do objeto. var FrmSomar: TFrmSomar; LITERAIS Valores literais so valores usados em atribuies e expresses. Cada tipo tem uma sintaxe diferente.

Tipo Inteiro Inteiro Hexadecimal Real Caractere StringCONSTANTES

Definio Seqncia de dgitos decimais (0 a 9), sinalizados ou no. Seqncia de dgitos hexadecimais (0 a F), precedidos por um cifro ($). Igual ao tipo Inteiro, mas pode usar separador decimal e notao cientfica. Letra entre apstrofos ou o caracter # seguido de um nmero inteiro entre 0 e 255 (ASCII). Seqncia de caracteres delimitados por apstrofos.

So declaradas na seo const, podem ser usadas como variveis, mas no podem ser alteradas. Geralmente o nome das constantes escrito em letras maisculas e na declarao dessas constantes no indicado o tipo. const G = 3.94851265E-19; NUM_CHARS = 0123456789; CR = #13; SPACE = ; MAX_VALUE = $FFFFFFFF; CONSTANTES TIPADAS Na verdade, constantes tipadas so variveis inicializadas com valor persistente, que podem ser alteradas normalmente, como qualquer varivel. A nica diferena de sintaxe entre constantes tipadas e simples que o tipo da constante indicado explicitamente na declarao. Se uma constante tipada for declarada localmente, ela no ser destruda quando o mtodo for encerrado. Para diferenciar das constantes normais, costuma-se declarar estas com letras de caso varivel, como abaixo. const Cont: Integer = 1; Peso: Double = 50.5; Empresa: string = Linux Informtica; INSTRUES Os programas so compostos por instrues, que so linhas de cdigo executvel. Exemplos de instrues simples so atribuies, mensagens entre objetos, chamadas de procedimentos, funes e mtodos, como mostradas abaixo. As instrues podem ser divididas em vrias linhas, o que indica o fim de uma instruo o ponto e vrgula no final. Quando uma instruo quebrada, costuma-se dar dois espaos antes das prximas linhas, para melhorar a leitura do cdigo. Caption := Linux Informtica!; Form2.ShowModal; Application.MessageBox(Voc executou uma operao ilegal, o programa ser finalizado.,Falha geral, MB_ICONERROR);

www.alberteije.com

Delphi 7 >

23

Voc pode usar vrias instrues agrupadas em uma instruo composta, como se fosse uma s instruo. Uma instruo composta delimitada pelas palavras reservadas begin e end. Toda instruo, simples ou composta, terminada com um ponto-e-vrgula. if CheckBox1.Checked then begin ShowMessage(O CheckBox ser desmarcado.); CheckBox1.Checked := False; end; ESTILO DE CODIFICAO As instrues e todo o cdigo de uma Unit devem ser distribudos para facilitar o mximo a leitura. Para isso, podemos usar a indentao, geralmente de trs espaos para indicar os nveis de cdigo. Procure criar um estilo prprio, que melhor se molde sua realidade. Se for desenvolver em grupo, melhor que todos usem o mesmo estilo para evitar confuses. COMENTRIOS Existem 3 estilos de comentrio no Delphi, como mostrado abaixo: (* Comentrio do Pascal Padro *) { Comentrio do Turbo Pascal } // Comentrio de linha do C++ Cuidado com as diretivas de compilao, pois elas so delimitadas por chaves e podem ser confundidas com comentrios. A diretiva de compilao mostrada abaixo includa em todas as Units de Forms. {$R*.DFM} TIPOS DE DADOS PADRO O Delphi trata vrios tipos de dados padro, segue uma descrio sucinta desses tipos. TIPOS INTEIROS So tipos numricos exatos, sem casas decimais. O tipo Integer o tipo inteiro padro.

Tipo ShortInt SmallInt Longint Byte Word Integer CardinalTIPOS REAIS

Tamanho em Bytes Valor Mnimo Valor Mximo 1 127 -128 2 -32768 32767 4 -2147483648 2147483647 1 0 255 2 0 65535 4 -2147483648 2147483647 4 0 2147483647

So tipos numricos com casas decimais. O tipo Double o tipo real padro.

Tipo Real Single Double Extended Comp CurrencyTIPOS TEXTO

Tamanho em Bytes 6 4 8 10 8 8

Valor Mnimo 10-39 10-45 10-324 10-4932 -1018 -1012

Valor Mximo 1038 1038 10308 104932 1018 1012

Dgitos Significativos 11-12 7-8 15-16 19-20 19-20 19-20

Os tipos texto podem operar com caracteres simples ou grupos de caracteres. O tipo texto padro o tipo String.

www.alberteije.com

24Tipo Char String

Delphi 7 >Descrio Um nico caractere ASCII. Texto alocado dinamicamente. Pode ser limitado a 255 caracteres conforme configurao. PChar String terminada em nulo (#0), usada geralmente nas funes da API do Windows.

O operador + pode ser usado para concatenar strings e voc pode usar uma varivel do tipo string como uma lista de caracteres. ShowMessage(5 letra do ttulo da janela: + Caption[5]); Label1.Text := 2 letra do Edit: + Edit1.Text[2]; Existem vrias funes de manipulao de strings, veja algumas das mais importantes mostradas abaixo.

Funo Descrio AnsiCompareText Compara 2 strings sem sensitividade de maisculas/minsculas. AnsiLowerCase Converte todas as letras de uma string para minsculas. AnsiUpperCase Converte todas as letras de uma string para maisculas. Copy Retorna parte de uma string. Delete Apaga parte de uma string. Insert Insere uma string em outra. Length Nmero de caracteres de uma string. Pos Posio de uma string em outra. Trim Remove todos os espaos de uma string. TrimLeft Remove os espaos esquerda de uma string. TrimRight Remove os espaos direita de uma string. Format Formata uma string com uma srie de argumentos de vrios tipos.Por exemplo, para comparar o texto de dois Edits, poderamos usar a funo AnsiCompareText. if AnsiCompareText(EdtA.Text, EdtB.Text) = 0 then ShowMessage(O texto dos dois Edits igual.); A funo Format especialmente til na formatao de strings, veja alguns exemplos. ShowMessage(Format(O nmero %d a parte inteira do nmero %f., [10, 10.5])); ShowMessage(Format(Este texto%sfoi formatado%susando o caractere #%d., [#13, #13, 13])); ShowMessage(Format(O preo do livro %s %m., [Como Programar em Delphi, 50.7])); Um detalhe que deve ser observado que as propriedades dos objetos no podem ser usadas como variveis em funes. Veja a declarao do procedimento Delete no help. procedure Delete(var S: string; Index, Count:Integer); Digamos que voc deseje apagar as 5 primeiras letras de um Edit, como a string do Delete varivel, no poderia usar o cdigo abaixo. Delete(Edit1.Text, 1, 5); Para voc poder fazer a operao desejada, teria que usar uma varivel como varivel auxiliar. var S: string; begin S := Edit1.Text; Delete(S, 1, 5); Edit1.Text := S; end;

www.alberteije.com

Delphi 7 >TIPOS ORDINAIS

25

Tipos ordinais so tipos que tem uma seqncia incremental, ou seja, voc sempre pode dizer qual o prximo valor ou qual o valor anterior a um determinado valor desses tipos. So tipos ordinais o Char, os tipos inteiros, o Boolean e os tipos enumerados. Algumas rotinas para ordinais so mostradas abaixo.

Funo Dec Inc Odd Pred Succ Ord Low High

Descrio Decrementa varivel ordinal. Incrementa varivel ordinal. Testa se um ordinal mpar. Predecessor do ordinal. Sucessor do ordinal. Ordem de um valor na faixa de valores de um tipo ordinal. Valor mais baixo na faixa de valores. Valor mais alto na faixa de valores.

Por exemplo, use o cdigo abaixo no evento OnKeyPress de um Edit e veja o resultado. Inc(Key); BOOLEAN Variveis do tipo Boolean podem receber os valores lgicos True ou False, verdadeiro ou falso. Uma varivel Boolean ocupa 1 byte de memria. TDATETIME O tipo TDateTime guarda data e hora em uma estrutura interna igual ao tipo Double, onde a parte inteira o nmero de dias desde 31/12/1899 e a parte decimal guarda a hora, minuto, segundo e milisegundo. As datas podem ser somadas ou subtradas normalmente. Existem vrias rotinas de manipulao de datas e horas, usadas com o tipo TDateTime, veja algumas abaixo.

Rotina Date Now Time DayOfWeek DecodeDate DecodeTime EncodeDate EncodeTime

Descrio Retorna a data do sistema. Retorna a data e hora do sistema. Retorna a hora do sistema. Retorna o dia da semana de uma data especificada. Decodifica um valor TDateTime em Words de dia, ms e ano. Decodifica um valor TDateTime em Words de hora, minuto, segundo e milisegundos. Retorna um TDateTime a partir de Words de dia, ms e ano. Retorna um TDateTime a partir de Words de hora, minuto, segundo e milisegundos.

No help de cada uma das funes acima voc vai encontrar alguns exemplos, veja os colocados abaixo. if DayOfWeek(Date) = 1 then ShowMessage(Hoje Domingo, p de cachimbo!) else ShowMessage(Hoje no Domingo, p de cachimbo!); var A, M, D: Word; begin DecodeDate(Date, A, M, D); ShowMessage(Format(Dia %.2d do ms %.2d de %d., [D, M, A])); end; VARIANT Tipo genrico, que pode atribuir e receber valores de qualquer outro tipo. Evite usar variveis do tipo Variant, pois o uso dessas variveis pode prejudicar a performance do programa, alm de diminuir a legibilidade do cdigo fonte e a integridade do executvel, veja o trecho de cdigo abaixo e note como esse tipo de varivel tem um comportamento estranho.

www.alberteije.com

26var V1, V2, V3: Variant; begin V1 := True; V2 := 1234.5678; V3 := Date; ShowMessage(V1 + V2 + V3); end; CONVERSES DE TIPO

Delphi 7 >

Freqentemente voc vai precisar converter um tipo de dado em outro, como um nmero em uma string. Para essas converses voc pode usar duas tcnicas, o TypeCasting e as rotinas de converso de tipos. TYPECASTING TypeCast uma converso direta de tipo, usando o identificador do tipo destino como se fosse uma funo. Como o Delphi no faz nenhuma verificao se a converso vlida, voc deve tomar um certo cuidado ao usar um TypeCast para no criar programas instveis. var I: Integer; C: Char; B: Boolean; begin I := Integer(A); C := Char(48); B := Boolean(0); Application.MessageBox(PChar(Linguagem de Programao + #13 + Delphi 3), Linux Informtica,MB_ICONEXCLAMATION); end; ROTINAS DE CONVERSO As principais rotinas de converso esto listadas na tabela abaixo. Caso voc tente usar uma dessas rotinas em uma converso invlida, pode ser gerada uma exceo.

Rotina Chr StrToInt IntToStr StrToIntDef IntToHex Round Trunc StrToFloat FloatToStr FormatFloat DateToStr StrToDate TimeToStr StrToTime DateTimeToStr StrToDateTime FormatDateTime VarCast VarAsType Val Str

Descrio Byte em Char. String em Integer. Integer em String. String em Integer, com um valor default caso haja erro. Nmero em String Hexadecimal. Arredonda um nmero real em um Integer. Trunca um nmero real em um Integer. String em Real. Real em string. Nmero real em string usando uma string de formato. TDateTime em string de data, de acordo com as opes do Panel de Controle. String de data em TDateTime. TDateTime em String de Hora. String de hora em TDateTime. TDateTime em string de data e hora. String de data e hora em TDateTime. TDateTime em string usando uma string de formato. Qualquer tipo em outro usando argumentos do tipo Variant. Variante em qualquer tipo. String em nmero, real ou inteiro. Nmero, real ou inteiro, em String.

www.alberteije.com

Delphi 7 >

27

Veja alguns exemplos de como usar essas rotinas. Converso de dados uma operao muito comum na programao em Object Pascal, seria interessante dar uma olhada no help de cada uma das funes acima. var I: Integer; D: Double; S1, S2: string; begin D := 10.5; I := Trunc(D); S1 := FloatToStr(D); S2 := IntToStr(I); ShowMessage(S1 + #13 + S2); end; var A, B, Soma: Double; begin A := StrToFloat(EdtA.Text); B := StrToFloat(EdtB.Text); Soma := A + B; ShowMessage(Format(%f + %f = %f, [A, B, Soma]); end; EXPRESSES Uma expresso qualquer combinao de operadores, variveis, constantes, valores literais e chamadas de funes que resultem em um valor de determinado tipo. Uma expresso usada sempre que precisamos de um valor que possa ser obtido por uma expresso. A + 12 * C Date - 4 StrToInt(Edit1.Text + Edit2.Text) StrToDate(Edit2.Text) - StrToDate(Edit1.Text) 12 * A / 100 A < B OPERADORES Os operadores so usados em expresses e a ordem em que as expresses so executadas depende da precedncia desses operadores. Veja abaixo a lista de operadores em ordem descendente de precedncia.

Operador Operadores Unrios @ not Operadores Multiplicativos e de direo de Bit * / div mod as and shl shr Operadores Aditivos + or xor

Descrio Endereo No booleano ou bit voltado para no Multiplicao ou interseo de conjuntos Diviso de Real Diviso de Inteiro Resto de diviso de Inteiros TypeCast seguro quanto ao tipo (RTTI) E booleano ou bit voltado para e Deslocamento de bits esquerda Deslocamento de bits direita Adio ou unio de conjuntos Subtrao ou diferena de conjuntos Ou booleano ou bit voltado para ou Ou exclusivo booleano ou bit voltado para ou exclusivo

www.alberteije.com

28Operadores Relacionais = < > = in is Igual Diferente Menor Maior Menor ou igual Maior ou igual Pertinncia a conjuntos Compatibilidade de tipos (RTTI)

Delphi 7 >

Para forar uma expresso de menor precedncia a ser executada antes, voc pode usar os parnteses, como mostrado abaixo. (5 - 2) * 3; (A > B) and (A < C) Para fazer potenciao, use a funo Power, abaixo temos que A igual a A elevado a 4. A := Power(A, 4);

EXERCCIOS01) Faa um Form, com um Edit e botes para passar o texto do Edit para maisculas e minsculas. 02) Faa um programa que sugira que o usurio pare de trabalhar quando o relgio do sistema no estiver em horrio comercial. 03) Sendo I um nmero inteiro, R um real e S uma string com um texto numrico como encontrar o resultado da soma dos 3 valores, e de que tipo ser esse resultado? Faa isso no Delphi.

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