Você está na página 1de 18

20

Delphi 7

<< Iniciante >>

MÛdulo

3

Object Pascal I

INTRODU« O

Essa liÁ„o tem por objetivo apresentar a linguagem que o Delphi utiliza: Object Pascal. Tenha em mente que

o Delphi n„o È uma linguagem, mas sim uma Ferramenta de Desenvolvimento que utiliza a linguagem Object Pascal.

CONCEITOS DE PROGRAMA« O ORIENTADA A OBJETOS

Antes de partir para a linguagem propriamente dita, vamos aprender alguns conceitos b·sicos de ProgramaÁ„o Orientada a Objetos.

Classe: DefiniÁ„o de tipo dos objetos, modelo de objeto. Objeto: Inst‚ncia de classe, vari·vel cujo tipo È uma classe. Atributos: Vari·veis de inst‚ncia. S„o os dados de um objeto. MÈtodos: FunÁıes e procedimentos de um objeto. Propriedades: Apelido usado para evitar o acesso direto aos atributos de um objeto, onde podemos especificar mÈtodos que ser„o usados para ler e atribuir seus valores a esses atributos. Mensagens: Chamada de mÈtodos, leitura e atribuiÁ„o de propriedades. Encapsulamento: Conjunto de tÈcnicas usadas para limitar o acesso aos atributos e mÈtodos internos de um objeto. HeranÁa: Possibilidade de criar uma classe descendente de outra, aproveitando seus mÈtodos, 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 hier·rquica. Polimorfismo: Capacidade de redefinir mÈtodos e propriedades de uma classe em seus descendentes.

ESTRUTURA DE UNITS

Vamos examinar o cÛdigo gerado para um novo Form, identificando as principais seÁıes de uma Unit tÌpica. Abra o Delphi e crie uma nova aplicaÁ„o. Observe na Unit principal as seguintes cl·usulas.

Unit: A primeira declaraÁ„o de uma unit È seu identificador, que È igual ao nome do arquivo. Interface: SeÁ„o interface, onde ficam declaraÁıes que podem ser usadas por outras Units. Uses: Na cl·usula uses fica a lista de Units usadas. Type: Na cl·usula type fica a definiÁ„o de tipos, aqui temos a declaraÁ„o da classe do Form. Var: Na cl·usula var s„o declaradas as vari·veis, aqui temos a declaraÁ„o da inst‚ncia do Form. Implementation: Na seÁ„o implementation ficam as definiÁıes dos mÈtodos. End: Toda Unit termina com um end a partir de onde qualquer texto È ignorado.

VARI£VEIS

No Delphi, toda vari·vel tem que ser declarada antes de ser utilizada. As declaraÁıes podem ser feitas apÛs

a palavra reservada var, onde s„o indicados o nome e o tipo da vari·vel. Os nomes de vari·veis n„o podem ter

acentos, espaÁos ou caracteres especiais como &, $ ou % e o primeiro caractere de um nome de vari·vel tem que

ser uma letra ou um sublinhado ( _ ).

VARI£VEIS GLOBAIS

As vari·veis abaixo s„o globais, declaradas na Interface da Unit. Podem ser acessadas por qualquer Unit

usu·ria.

var

I: Integer; Usuario: string;

www.alberteije.com

Delphi 7

<< Iniciante >>

21

A, B, Soma: Double; Ok: Boolean;

VARI£VEIS LOCAIS

As vari·veis abaixo s„o locais ao mÈtodo, ou seja, elas sÛ existem dentro do mÈtodo, n„o podem ser acessadas de fora, mesmo que seja na mesma Unit. Na verdade essas vari·veis s„o criadas quando o mÈtodo È chamado e s„o destruÌdas quando ele È encerrado, seu valor n„o È persistente.

procedure TFrmExemplo.BtnTrocarClick(Sender: TObject); var

Aux: string; begin Aux := EdtA.Text; EdtA.Text := EdtB.Text; EdtB.Text := Aux; end;

ATRIBUTOS

Os atributos s„o vari·veis de inst‚ncia. Para declarar um atributo em uma classe basta definir o identificador e o tipo do atributo na declaraÁ„o da classe, feita na seÁ„o 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 nÌveis de visibilidade dos atributos e mÈtodos de uma classe s„o mostrados abaixo.

NÌvel

 

Visibilidade

 

Private

Os itens declarados nesse nÌvel sÛ podem ser acessados na mesma unit.

Public

Nesse nÌvel, qualquer unit usu·ria poder· acessar o item.

Protected

Os itens sÛ poder„o ser acessados em outra unit se for em uma classe descendente.

Published

o

nÌvel

default,

igual

ao

Public,

mas

define

propriedades e eventos usados em tempo de projeto.

CLASSES

Classes s„o tipos de objetos, uma classe È declarada na cl·usula type da seÁ„o interface e os mÈtodos s„o definidos na seÁ„o implementation. Examine o cÛdigo 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

22

Delphi 7

<< Iniciante >>

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

OBJETOS

Um Objeto È tratado como uma vari·vel cujo tipo È uma classe. A declaraÁ„o de objetos È igual ‡ declaraÁ„o de uma vari·vel simples, tendo no lugar do tipo a classe do objeto. var FrmSomar: TFrmSomar;

LITERAIS

Valores literais s„o valores usados em atribuiÁıes e expressıes. Cada tipo tem uma sintaxe diferente.

Tipo

DefiniÁ„o

Inteiro

Seq¸Íncia de dÌgitos decimais (0 a 9), sinalizados ou n„o.

Inteiro

Seq¸Íncia de dÌgitos hexadecimais (0 a F), precedidos por um cifr„o ($).

Hexadecimal

Real

Igual ao tipo Inteiro, mas pode usar separador decimal e notaÁ„o cientÌfica.

Caractere

Letra entre apÛstrofos ou o caracter # seguido de um n˙mero inteiro entre 0 e 255 (ASCII).

String

Seq¸Íncia de caracteres delimitados por apÛstrofos.

CONSTANTES

S„o declaradas na seÁ„o const, podem ser usadas como vari·veis, mas n„o podem ser alteradas. Geralmente

o nome das constantes È escrito em letras mai˙sculas e na declaraÁ„o dessas constantes n„o È indicado o tipo. const G = 3.94851265E-19; NUM_CHARS = ‘0123456789’; CR = #13; SPACE = ‘ ‘; MAX_VALUE = $FFFFFFFF;

CONSTANTES TIPADAS

Na verdade, constantes tipadas s„o vari·veis inicializadas com valor persistente, que podem ser alteradas normalmente, como qualquer vari·vel. A ˙nica diferenÁa de sintaxe entre constantes tipadas e simples È que o tipo da constante È indicado explicitamente na declaraÁ„o. Se uma constante tipada for declarada localmente, ela n„o ser· destruÌda quando o mÈtodo for encerrado. Para diferenciar das constantes normais, costuma-se declarar estas com letras de caso vari·vel, como abaixo. const Cont: Integer = 1; Peso: Double = 50.5; Empresa: string = ‘Linux Informática’;

INSTRU«’ES

Os programas s„o compostos por instruÁıes, que s„o linhas de cÛdigo execut·vel. Exemplos de instruÁıes simples s„o atribuiÁıes, mensagens entre objetos, chamadas de procedimentos, funÁıes e mÈtodos, como mostradas

abaixo. As instruÁıes podem ser divididas em v·rias linhas, o que indica o fim de uma instruÁ„o È o ponto e vÌrgula no final. Quando uma instruÁ„o È quebrada, costuma-se dar dois espaÁos antes das prÛximas linhas, para melhorar

a leitura do cÛdigo.

Caption := ‘Linux Informática!’;

Form2.ShowModal;

Application.MessageBox(‘Você executou uma operação ilegal, o programa será finalizado.’,’Falha geral’, MB_ICONERROR);

www.alberteije.com

Delphi 7

<< Iniciante >>

23

VocÍ pode usar v·rias instruÁıes agrupadas em uma instruÁ„o composta, como se fosse uma sÛ instruÁ„o. Uma instruÁ„o composta delimitada pelas palavras reservadas begin e end. Toda instruÁ„o, simples ou composta, È terminada com um ponto-e-vÌrgula.

if CheckBox1.Checked then begin ShowMessage(‘O CheckBox será desmarcado.’); CheckBox1.Checked := False; end;

ESTILO DE CODIFICA« O

As instruÁıes e todo o cÛdigo de uma Unit devem ser distribuÌdos para facilitar o m·ximo a leitura. Para isso, podemos usar a indentaÁ„o, geralmente de trÍs espaÁos para indicar os nÌveis de cÛdigo. Procure criar um estilo prÛprio, que melhor se molde ‡ sua realidade. Se for desenvolver em grupo, È melhor que todos usem o mesmo estilo para evitar confusıes.

COMENT£RIOS

Existem 3 estilos de coment·rio no Delphi, como mostrado abaixo:

(* Comentário do Pascal Padrão *) { Comentário do Turbo Pascal } // Comentário de linha do C++ Cuidado com as diretivas de compilaÁ„o, pois elas s„o delimitadas por chaves e podem ser confundidas com coment·rios. A diretiva de compilaÁ„o mostrada abaixo È incluÌda em todas as Units de Forms. {$R*.DFM}

TIPOS DE DADOS PADR O

O Delphi trata v·rios tipos de dados padr„o, segue uma descriÁ„o sucinta desses tipos.

TIPOS INTEIROS

S„o tipos numÈricos exatos, sem casas decimais. O tipo Integer È o tipo inteiro padr„o.

Tipo

Tamanho em Bytes

Valor MÌnimo

Valor M·ximo

ShortInt

1

-128

127

SmallInt

2

-32768

32767

Longint

4

-2147483648

2147483647

Byte

1

0

255

Word

2

0

65535

Integer

4

-2147483648

2147483647

Cardinal

4

0

2147483647

TIPOS REAIS

S„o tipos numÈricos com casas decimais. O tipo Double È o tipo real padr„o.

Tipo

Tamanho

Valor

Valor

DÌgitos

em Bytes

MÌnimo

M·ximo

Significativos

Real

6

10-39

1038

11-12

Single

4

10-45

1038

7-8

Double

8

10-324

10308

15-16

Extended

10

10-4932

104932

19-20

Comp

8

-1018

1018

19-20

Currency

8

-1012

1012

19-20

TIPOS TEXTO

Os tipos texto podem operar com caracteres simples ou grupos de caracteres. O tipo texto padr„o È o tipo

String.

www.alberteije.com

24

Delphi 7

<< Iniciante >>

Tipo

DescriÁ„o

Char

Um ˙nico caractere ASCII.

String

Texto alocado dinamicamente. Pode ser limitado a 255 caracteres conforme configuraÁ„o.

PChar

String terminada em nulo (#0), usada geralmente nas funÁıes da API do Windows.

O operador + pode ser usado para concatenar strings e vocÍ pode usar uma vari·vel do tipo string como uma lista de caracteres.

ShowMessage(‘5ª letra do título da janela: ‘ + Caption[5]); Label1.Text := ‘2ª letra do Edit: ‘ + Edit1.Text[2];

Existem v·rias funÁıes de manipulaÁ„o de strings, veja algumas das mais importantes mostradas abaixo.

FunÁ„o

 

DescriÁ„o

 

AnsiCompareText

Compara

2

strings

sem

sensitividade

de

mai˙sculas/min˙sculas.

 

AnsiLowerCase

Converte todas as letras de uma string para min˙sculas.

 

AnsiUpperCase

Converte todas as letras de uma string para mai˙sculas.

 

Copy

Retorna parte de uma string.

 

Delete

Apaga parte de uma string.

 

Insert

Insere uma string em outra.

 

Length

N˙mero de caracteres de uma string.

 

Pos

PosiÁ„o de uma string em outra.

 

Trim

Remove todos os espaÁos de uma string.

 

TrimLeft

Remove os espaÁos ‡ esquerda de uma string.

 

TrimRight

Remove os espaÁos ‡ direita de uma string.

 

Format

Formata uma string com uma sÈrie de argumentos de v·rios tipos.

Por exemplo, para comparar o texto de dois Edits, poderÌamos usar a funÁ„o AnsiCompareText.

if AnsiCompareText(EdtA.Text, EdtB.Text) = 0 then ShowMessage(‘O texto dos dois Edits é igual.’);

A funÁ„o Format È especialmente ˙til na formataÁ„o de strings, veja alguns exemplos.

ShowMessage(Format(‘O número %d é a parte inteira do número %f.’, [10, 10.5])); ShowMessage(Format(‘Este texto%sfoi formatado%susando o caractere #%d.’, [#13, #13,

13]));

ShowMessage(Format(‘O preço do livro %s é %m.’, [‘Como Programar em Delphi’, 50.7]));

Um detalhe que deve ser observado È que as propriedades dos objetos n„o podem ser usadas como vari·veis em funÁıes. Veja a declaraÁ„o 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 È vari·vel, n„o poderia usar o cÛdigo abaixo.

Delete(Edit1.Text, 1, 5);

Para vocÍ poder fazer a operaÁ„o desejada, teria que usar uma vari·vel como vari·vel auxiliar.

var S: string; begin S := Edit1.Text; Delete(S, 1, 5); Edit1.Text := S; end;

www.alberteije.com

Delphi 7

<< Iniciante >>

25

TIPOS ORDINAIS

Tipos ordinais s„o tipos que tem uma seq¸Íncia incremental, ou seja, vocÍ sempre pode dizer qual o prÛximo valor ou qual o valor anterior a um determinado valor desses tipos. S„o tipos ordinais o Char, os tipos inteiros, o Boolean e os tipos enumerados. Algumas rotinas para ordinais s„o mostradas abaixo.

FunÁ„o

DescriÁ„o

Dec

Decrementa vari·vel ordinal.

Inc

Incrementa vari·vel ordinal.

Odd

Testa se um ordinal È Ìmpar.

Pred

Predecessor do ordinal.

Succ

Sucessor do ordinal.

Ord

Ordem de um valor na faixa de valores de um tipo ordinal.

Low

Valor mais baixo na faixa de valores.

High

Valor mais alto na faixa de valores.

Por exemplo, use o cÛdigo abaixo no evento OnKeyPress de um Edit e veja o resultado.

Inc(Key);

BOOLEAN

Vari·veis do tipo Boolean podem receber os valores lÛgicos True ou False, verdadeiro ou falso. Uma vari·vel Boolean ocupa 1 byte de memÛria.

TDATETIME

O tipo TDateTime guarda data e hora em uma estrutura interna igual ao tipo Double, onde a parte inteira È o n˙mero de dias desde 31/12/1899 e a parte decimal guarda a hora, minuto, segundo e milisegundo. As datas podem ser somadas ou subtraÌdas normalmente. Existem v·rias rotinas de manipulaÁ„o de datas e horas, usadas com o tipo TDateTime, veja algumas abaixo.

Rotina

DescriÁ„o

Date

Retorna a data do sistema.

Now

Retorna a data e hora do sistema.

Time

Retorna a hora do sistema.

DayOfWeek

Retorna o dia da semana de uma data especificada.

DecodeDate

Decodifica um valor TDateTime em Words de dia, mÍs e ano.

DecodeTime

Decodifica um valor TDateTime em Words de hora, minuto, segundo e milisegundos.

EncodeDate

Retorna um TDateTime a partir de Words de dia, mÍs e ano.

EncodeTime

Retorna um TDateTime a partir de Words de hora, minuto, segundo e milisegundos.

No help de cada uma das funÁıes acima vocÍ vai encontrar alguns exemplos, veja os colocados abaixo.

if DayOfWeek(Date) = 1 then ShowMessage(‘Hoje é Domingo, pé de cachimbo!’) else ShowMessage(‘Hoje não é Domingo, pé de cachimbo!’);

var A, M, D: Word; begin DecodeDate(Date, A, M, D); ShowMessage(Format(‘Dia %.2d do mês %.2d de %d.’, [D, M, A])); end;

VARIANT

Tipo genÈrico, que pode atribuir e receber valores de qualquer outro tipo. Evite usar vari·veis do tipo Variant, pois o uso dessas vari·veis pode prejudicar a performance do programa, alÈm de diminuir a legibilidade do cÛdigo fonte e a integridade do execut·vel, veja o trecho de cÛdigo abaixo e note como esse tipo de vari·vel tem um comportamento estranho.

www.alberteije.com

26

Delphi 7

<< Iniciante >>

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

CONVERS’ES DE TIPO

Freq¸entemente vocÍ vai precisar converter um tipo de dado em outro, como um n˙mero em uma string. Para essas conversıes vocÍ pode usar duas tÈcnicas, o TypeCasting e as rotinas de convers„o de tipos.

TYPECASTING

TypeCast È uma convers„o direta de tipo, usando o identificador do tipo destino como se fosse uma funÁ„o. Como o Delphi n„o faz nenhuma verificaÁ„o se a convers„o È v·lida, vocÍ deve tomar um certo cuidado ao usar um TypeCast para n„o criar programas inst·veis.

var

I: Integer;

C: Char;

B: Boolean;

begin

I

:= Integer(‘A’);

C

:= Char(48);

B

:= Boolean(0);

Application.MessageBox(PChar(‘Linguagem de Programação’ + #13 + ‘Delphi 3’),

‘Linux Informática’,MB_ICONEXCLAMATION); end;

ROTINAS DE CONVERS O

As principais rotinas de convers„o est„o listadas na tabela abaixo. Caso vocÍ tente usar uma dessas rotinas em uma convers„o inv·lida, pode ser gerada uma exceÁ„o.

Rotina

DescriÁ„o

Chr

Byte em Char.

StrToInt

String em Integer.

IntToStr

Integer em String.

StrToIntDef

String em Integer, com um valor default caso haja erro.

IntToHex

N˙mero em String Hexadecimal.

Round

Arredonda um n˙mero real em um Integer.

Trunc

Trunca um n˙mero real em um Integer.

StrToFloat

String em Real.

FloatToStr

Real em string.

FormatFloat

N˙mero real em string usando uma string de formato.

DateToStr

TDateTime em string de data, de acordo com as opÁıes do Panel de Controle.

StrToDate

String de data em TDateTime.

TimeToStr

TDateTime em String de Hora.

StrToTime

String de hora em TDateTime.

DateTimeToStr

TDateTime em string de data e hora.

StrToDateTime

String de data e hora em TDateTime.

FormatDateTime

TDateTime em string usando uma string de formato.

VarCast

Qualquer tipo em outro usando argumentos do tipo Variant.

VarAsType

Variante em qualquer tipo.

Val

String em n˙mero, real ou inteiro.

Str

N˙mero, real ou inteiro, em String.

www.alberteije.com

Delphi 7

<< Iniciante >>

27

Veja alguns exemplos de como usar essas rotinas. Convers„o de dados È uma operaÁ„o muito comum na programaÁ„o em Object Pascal, seria interessante dar uma olhada no help de cada uma das funÁıes 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;

EXPRESS’ES

Uma express„o È qualquer combinaÁ„o de operadores, vari·veis, constantes, valores literais e chamadas de funÁıes que resultem em um valor de determinado tipo. Uma express„o È usada sempre que precisamos de um valor que possa ser obtido por uma express„o.

+ Date - 4

StrToInt(Edit1.Text + Edit2.Text) StrToDate(Edit2.Text) - StrToDate(Edit1.Text) 12 * A / 100

A < B

A

12 * C

OPERADORES

Os operadores s„o usados em expressıes e a ordem em que as expressıes s„o executadas depende da precedÍncia desses operadores. Veja abaixo a lista de operadores em ordem descendente de precedÍncia.

Operador

DescriÁ„o

Operadores Un·rios

 

@

EndereÁo

not

N„o booleano ou bit voltado para n„o

Operadores Multiplicativos e de direÁ„o de Bit

 

*

MultiplicaÁ„o ou interseÁ„o de conjuntos

/

Divis„o de Real

div

Divis„o de Inteiro

mod

Resto de divis„o de Inteiros

as

TypeCast seguro quanto ao tipo (RTTI)

and

E booleano ou bit voltado para e

shl

Deslocamento de bits ‡ esquerda

shr

Deslocamento de bits ‡ direita

Operadores Aditivos

 

+

AdiÁ„o ou uni„o de conjuntos

-

SubtraÁ„o ou diferenÁa de conjuntos

or

Ou booleano ou bit voltado para ou

xor

Ou exclusivo booleano ou bit voltado para ou exclusivo

www.alberteije.com

28

Delphi 7

<< Iniciante >>

Operadores Relacionais

 

=

Igual

<>

Diferente

<

Menor

>

Maior

<=

Menor ou igual

>=

Maior ou igual

in

PertinÍncia a conjuntos

is

Compatibilidade de tipos (RTTI)

Para forÁar uma express„o de menor precedÍncia a ser executada antes, vocÍ pode usar os parÍnteses, como mostrado abaixo.

(5

(A > B) and (A < C)

-

2) * 3;

Para fazer potenciaÁ„o, use a funÁ„o Power, abaixo temos que A È igual a A elevado a 4.

A := Power(A, 4);

EXERCÕCIOS

01) FaÁa um Form, com um Edit e botıes para passar o texto do Edit para mai˙sculas e min˙sculas.

02) FaÁa um programa que sugira que o usu·rio pare de trabalhar quando o relÛgio do sistema n„o estiver em hor·rio comercial.

03) Sendo I um n˙mero inteiro, R um real e S uma string com um texto numÈrico como encontrar o resultado da soma dos 3 valores, e de que tipo ser· esse resultado? FaÁa isso no Delphi.

www.alberteije.com

86

Delphi 7

<< Iniciante >>

Veja Veja o o Conte˙do Conte˙do Exclusivo Exclusivo do do Curso Curso Delphi Delphi AvanÁado AvanÁado

do do Curso Curso Delphi Delphi AvanÁado AvanÁado 11111 CDCDCDCDCD ----- 130130130130130

11111 CDCDCDCDCD ----- 130130130130130 MinutosMinutosMinutosMinutosMinutos

* Compreender o modelo Entidade-Relacionamento e LÛgico-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 compreens„o 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 atravÈs das Formas Normais (1FN a 5FN);

* Usar programas para a criaÁ„o do modelo de dados;

* UtilizaÁ„o do DBDesigner.

do modelo de dados; * UtilizaÁ„o do DBDesigner. 11111 CDCDCDCDCD ----- 159159159159159

11111 CDCDCDCDCD ----- 159159159159159 MinutosMinutosMinutosMinutosMinutos

* DefiniÁ„o e HistÛria da Linguagem SQL;

* Entendendo as partes da Linguagem: DDL, DML, DCL e Transactions Control;

* InstruÁ„o Select (alias, order by, like, asc, desc, group by, having, where, not, in, exists, sum, max, min, avg, count, between, distinct, etc);

* InstruÁ„o Insert Into;

* InstruÁ„o Update;

* InstruÁ„o Delete;

* Consultas Encadeadas (SubQuerys);

* JunÁıes (inner join, left join, right join e full outer join);

* CriaÁ„o, alteraÁ„o e deleÁ„o de tabelas e Ìndices;

* Controle de TransaÁıes;

* Diversos exemplos feitos no programa SQL Explorer;

* CriaÁ„o de um sistema no Delphi implementando os comandos SQL

juntamente com o componente Query. Cadastro de Clientes, Cadastro de Usuarios e Formul·rio Mestre Detalhe com duas tabelas (CVenda e DVenda).

Mestre Detalhe com duas tabelas (CVenda e DVenda). 22222 CDsCDsCDsCDsCDs ----- 340340340340340

22222 CDsCDsCDsCDsCDs ----- 340340340340340 MinutosMinutosMinutosMinutosMinutos

* IntroduÁ„o: DefiniÁ„o, HistÛria, CaracterÌsticas, LicenÁas e Versıes;

* InstalaÁ„o da vers„o 3.23 no Windows 98, tipos de arquivos, estrutura de diretÛrios do MySQL, uso do Console (prompt), etc;

* UtilizaÁ„o da ferramenta gr·fica MySQLFront 2.3, criaÁ„o de bancos de

dados, tabelas, explicaÁ„o dos tipos de campos, importaÁ„o de dados do paradox, atributos especiais de campos do MySQL, uso do Manual de ReferÍncia, uso das funÁıes do MySQL;

* InstalaÁ„o da Vers„o 4 do MySQL no Windows XP, uso do MySQLFront

3.2, importaÁ„o de arquivos do Excel, ExportaÁ„o de dados para o formato HTML, etc;

* InstalaÁ„o do MySQL no Linux Slacware, uso do console no Linux, uso da ferramenta gr·fica PHPMyAdmin;

* InstalaÁ„o e configuraÁ„o da vers„o 5 no Windows XP;

* Uso da ferramenta gr·fica DBManager, tipos de tabelas, foreign keys,

constraints, views, backup e restauraÁ„o de dados, controle de transaÁıes;

* Uso da ferramenta gr·fica MySQL Administrator, controle de usu·rios, backup e restauraÁ„o de dados, replicaÁ„o;

* Uso da ferramenta gr·fica MySQL Query Browser;

* Uso da ferramenta gr·fica MySQL Migration Toollkit, migraÁ„o de um banco de dados do MS-Access;

* DBDesigner - SincronizaÁ„o de dados e engenharia reversa;

* ApresentaÁ„o dos sites oficias do MySQL - Internacional e Nacional;

* Stored Procedures e Triggers.

www.alberteije.com

Delphi 7

<< Iniciante >>

87

CursoCurso DelphiDelphi AvanÁadoAvanÁado -- 1515 MÛdulosMÛdulos (19(19 CDs)CDs)

AvanÁado - - 15 15 MÛdulos MÛdulos (19 (19 CDs) CDs) 22222 CDsCDsCDsCDsCDs ----- 254254254254254

22222 CDsCDsCDsCDsCDs ----- 254254254254254 MinutosMinutosMinutosMinutosMinutos

* IntroduÁ„o: DefiniÁ„o, HistÛria, CaracterÌsticas, LicenÁas e

EspecificaÁıes Firebird;

* Comparativo das arquiteturas Classic x SuperServer;

* DescriÁ„o dos tipos de dados suportados pelo Firebird;

* Dialetos;

* Tipos de TransaÁıes;

* InstalaÁ„o passo a passo da vers„o 1.5 do Firebird no Windows;

* ExplicaÁ„o da estrutura de diretÛrios;

* ServiÁos executados no Windows e opÁıes no Painel de Controle;

* UtilizaÁ„o das seguintes ferramentas gr·ficas: IBExpert, IBEasy+,

FlameRobin, IBAccess, SQLHammer, DBak Win, IB First AID, Interbase Grant Manager;

* CriaÁ„o de tabelas, triggers, generatos, domains, views, querys;

* Controle de acesso para usu·rios;

* Backup do BD;

* Constraints: Check, PK, FK, Unique;

* Corrigindo BDs corrompidos;

* CriaÁ„o de um projeto de BD;

* UtilizaÁ„o do ISQL (console);

* CriaÁ„o de triggers para controle de estoque;

* Exceptions;

* CriaÁ„o de Stored Procedures;

* UDFs - Conceito; CriaÁ„o de uma UDF no Delphi e uso no Firebird;

* CorrupÁ„o de Dados: Conhecendo, evitando, corrigindo;

* UtilizaÁ„o do Gfix (console);

* Comparativo: MySQL x Firebird;

* ApresentaÁ„o dos sites importantes internacionais e nacionais;

* InstalaÁ„o do Firebird Cliente numa m·quina virtual Windows 98;

* Conex„o com o banco de dados atravÈs da rede;

* ApresentaÁ„o da documentaÁ„o.

atravÈs da rede; * ApresentaÁ„o da documentaÁ„o. 11111 CDCDCDCDCD ----- 116116116116116

11111 CDCDCDCDCD ----- 116116116116116 MinutosMinutosMinutosMinutosMinutos

* DefiniÁ„o e estrutura das empresas;

* NÌveis de decis„o das empresas;

* O Analista de Sistemas;

* Engenharia de Software;

* Ciclo de vida de um sistema;

* Coleta de InformaÁıes: Entrevistas e pesquisas;

* Entrevistas: planejamento, preparaÁ„o, comportamento, linguagem, fatos x opiniıes, desejos dos usu·rios, observaÁıes gerais;

* Contratos e lei: an·lise das principais cl·usulas de um contrato

(identificaÁ„o das partes, documentaÁ„o, prazo de entrega, cÛdigos fontes, confiabilidade);

* Lei do Software - coment·rios sobre os principais artigos;

* O que È melhor: autÙnomo ou empresa;

* Estudo de caso: Sistema para Hotel - apresentaÁ„o de um estudo de

caso mostrando desde o inÌcio um problema enfrentado por um hotel e a

soluÁ„o adotada por um analista de sistemas. Neste estudo s„o mostrados e comentados a proposta e o contrato utilizado pelo analista;

* ApresentaÁ„o de recibos: simples e RPA;

* Vantagens do aluguel de software;

* A carreira do consultor independente;

* Coment·rios acerca do Guia do Empreendedor e do manual A Pequena Empresa e o Novo CÛdigo Civil;

* Prosperidade - Mapas Mentais - explanaÁ„o a apresentaÁ„o do programa freemind.

www.alberteije.com

88

Delphi 7

<< Iniciante >>

CursoCurso DelphiDelphi AvanÁadoAvanÁado -- 1515 MÛdulosMÛdulos (19(19 CDs)CDs)

AvanÁado - - 15 15 MÛdulos MÛdulos (19 (19 CDs) CDs) 11111 CDCDCDCDCD ----- 208208208208208

11111 CDCDCDCDCD ----- 208208208208208 MinutosMinutosMinutosMinutosMinutos

* Compreens„o da realidade do SisCom;

* CriaÁ„o 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);

* Coment·rio detalhado sobre cada tabela e seus campos;

* ApresentaÁ„o do DER do SisCom e coment·rios sobre cada

relacionamento;

* CriaÁ„o das tabelas e dos relacionamentos no DBDesigner;

* SincronizaÁ„o do DBDesigner com o MySQL;

* Migrando o BD do MySQL para o Firebird;

* Conectando o DBDesigner com o Firebird atravÈs 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 CÛdigo Fonte do DBDesigner dentro do Delphi;

* CriaÁ„o passo a passo do BD no Firebird utilizando o IBExpert;

* PadronizaÁ„o de campos e tabelas;

* Erros encontrados por falta de padronizaÁ„o.

e tabelas; * Erros encontrados por falta de padronizaÁ„o. 22222 CDsCDsCDsCDsCDs ----- 416416416416416

22222 CDsCDsCDsCDsCDs ----- 416416416416416 MinutosMinutosMinutosMinutosMinutos

* ApresentaÁ„o da Suite de Componentes ZeosDBO;

* Vantagens de usar o ZeosDBO;

* InstalaÁ„o do ZeosDBO;

* ExplicaÁ„o sobre cada componente do ZeosDBO;

* ComparaÁ„o dos componentes do ZeosDBO com os seus equivalentes

no BDE;

* DiferenÁa entre sistemas MDI e SDI e explicaÁ„o sobre qual o melhor;

* InÌcio do desenvolvimento do sistema SisCom;

* CriaÁ„o do Formul·rio Principal: Menu, Barra de Ferramentas, Barra de

Status. Todos os hints do sistema ser„o enviados para a barra de status,

possibilitando uma ajuda online atravÈs de dicas r·pidas para os usu·rios;

* Carregando um logotipo para a tela principal do sistema;

* Uso de Application.Messagebox;

* Componentes de acesso ao banco em DataModule;

* CriaÁ„o dos cadastros utilizando ZTable (equivalente a TTable). Para quem vem do paradox ficar· muito f·cil desenvolver dessa forma;

* CriaÁ„o dos cadastros utilizando ZQuery (Equivalente a TQuery). UtilizaÁ„o de Edits Simples no lugar dos DBEdits, com procedimentos especÌficos para o controle de ediÁ„o e gravaÁ„o dos campos;

* UtilizaÁ„o 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 usu·rio escolhe qual banco usar. N„o existe alteraÁ„o

nenhuma no cÛdigo;

* UtilizaÁ„o dos Generators (firebird) para autonumerar campos no sistema;

* ImplementaÁ„o de uma rotina onde o usu·rio procura por qualquer informaÁ„o em qualquer campo do sistema, bastando

para isso clicar no tÌtulo do DBGrid;

* CriaÁ„o do nÌvel de acesso para controle de acessos dos usu·rios aos mÛdulos do sistema;

* VerificaÁ„o e an·lise de v·rias mensagens de erro;

* ImplementaÁ„o de um controle de auditoria, onde o sistema armazena qual o usu·rio que inseriu ou alterou registros, juntamente com a data e hora.

www.alberteije.com

Delphi 7

<< Iniciante >>

89

CursoCurso DelphiDelphi AvanÁadoAvanÁado -- 1515 MÛdulosMÛdulos (19(19 CDs)CDs)

AvanÁado - - 15 15 MÛdulos MÛdulos (19 (19 CDs) CDs) 11111 CDCDCDCDCD ----- 236236236236236

11111 CDCDCDCDCD ----- 236236236236236 MinutosMinutosMinutosMinutosMinutos

* IntroduÁ„o a tecnologia dbExpress;

* Vantagens e desvantagens do dbExpress;

* Comparativo dbExpress x BDE;

* ApresentaÁ„o de todos os componentes da paleta dbExpress;

* UtilizaÁ„o 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 atravÈs do SQLConnection;

* Utilizando um mÈtodo de procura ao clicar no tÌtulo do DBGrid, tendo por base um perÌodo passado por 2 MaskEdits;

* Pegando o cÛdigo AutoIncrement no MySQL para o ClientDataSet;

* Pegando o cÛdigo do Generator no Firebird para o ClientDataSet (Stored Procedures);

* ExplicaÁ„o do uso de ActionLists para otimizar o trabalho;

* O SisCom funciona automaticamente com MySQL e Firebird. Os mÛdulos de cadastro est„o utilizando a tecnologia Zeos. O mÛdulo de Contas a Pagar est· usando a tecnologia dbExpress + ClientDataSet.

a Pagar est· usando a tecnologia dbExpress + ClientDataSet. 11111 CDCDCDCDCD ----- 140140140140140

11111 CDCDCDCDCD ----- 140140140140140 MinutosMinutosMinutosMinutosMinutos

* Desenvolvimento do Contas a Receber do SisCom utilizando a

tecnologia dbExpress + ClientDataSet;

* ImplementaÁ„o do conceito de reconciliaÁ„o de erros no SisCom;

* TraduÁ„o do Formul·rio de ReconciliaÁ„o de Erros para o PortuguÍs;

* UtilizaÁ„o apenas do SQLConnection para realizar consultas SQL;

* ExplicaÁ„o detalhada do uso do SQLDataSet (Table, Query,

StoredProc);

* UtilizaÁ„o de par‚metros para realizar consultas SQL;

* ManipulaÁ„o dos dados do ClientDataSet antes de serem enviados para o Banco de Dados - ainda na memÛria do micro cliente (utilizaÁ„o da propriedade Delta do ClientDataSet);

* CriaÁ„o de consultas Mestre/Detalhe. (Dados mostrados numa mesma

DBGrid e posteriormente em duas DBGrids);

* CriaÁ„o de bancos de dados locais com o ClientDataSet (utilizaÁ„o de arquivos XML);

* CriaÁ„o de Campos Agregados;

* UtilizaÁ„o do componente SimpleDataSet;

* UtilizaÁ„o do componente SQLMonitor para mapear o que est· ocorrendo entre a aplicaÁ„o e o banco de dados (tudo que est· ocorrendo em baixo nÌvel È mostrado num Memo);

* Implementando o Controle de TransaÁıes com o dbExpress;

* ExplicaÁ„o sobre o nÌvel de isolamento (TransIsolationLevel) das transaÁıes do dbExpress.

ApÛs assistir ‡s vÌdeo aulas do curso vocÍ estar· apto para desenvolver qualquer sistema comercial. Este conte˙do vocÍ n„o encontra em nenhum curso presencial ou online. Conte˙do ˙nico e exclusivo.

www.alberteije.com

90

Delphi 7

<< Iniciante >>

CursoCurso DelphiDelphi AvanÁadoAvanÁado -- 1515 MÛdulosMÛdulos (19(19 CDs)CDs)

AvanÁado - - 15 15 MÛdulos MÛdulos (19 (19 CDs) CDs) 22222 CDsCDsCDsCDsCDs ----- 447447447447447

22222 CDsCDsCDsCDsCDs ----- 447447447447447 MinutosMinutosMinutosMinutosMinutos

* ApresentaÁ„o de cada componente da paleta ADO - principais propriedades;

* Criando uma conex„o no SisCom para Firebird e MySQL (alternando entre um e outro de acordo com a escolha do usu·rio);

* InstalaÁ„o dos Drivers ODBC para MySQL e Firebird e criaÁ„o de DSN para acesso ao banco de dados do SisCom;

* CriaÁ„o do MÛdulo RequisiÁ„o de Compras;

* UtilizaÁ„o do ADOConnection, ADOQuery, ADOTable e ADOStoredProc;

* An·lise de erros ao construir o mÛdulo;

* ConstruÁ„o do formul·rio para importar itens para a requisiÁ„o;

* Trabalhando com passagem de par‚metros;

* Localizando e eliminando erros do projeto do BD;

* CriaÁ„o do MÛdulo CotaÁ„o de Compras;

* UtilizaÁ„o do repositÛrio de formul·rios do Delphi;

* UtilizaÁ„o de um componente permite abrir um menu em um bot„o;

* ConstruÁ„o do formul·rio para importar os itens das requisiÁıes que v„o compor a cotaÁ„o;

* ConstruÁ„o do MÛdulo ConfirmaÁ„o da CotaÁ„o (neste formul·rio o usu·rio insere os preÁos e condiÁıes enviadas pelos fornecedores);

* ConstruÁ„o do MÛdulo Pedido de Compras (neste formul·rio o usu·rio visualiza as cotaÁıes e pode fazer pedidos aos

fornecedores baseado nas informaÁıes prestadas pelos mesmos. … permitido realizar v·rios pedidos atravÈs de uma cotaÁ„o);

* ConstruÁ„o do formul·rio para importar os itens das cotaÁıes.

do formul·rio para importar os itens das cotaÁıes. 11111 CDCDCDCDCD ----- 165165165165165

11111 CDCDCDCDCD ----- 165165165165165 MinutosMinutosMinutosMinutosMinutos

* ConstruÁ„o 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 par‚metros;

* ImportaÁ„o dos dados da tabela oficial CFOP de um BD diferente;

* An·lise 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 TransaÁıes;

* Enviando informaÁıes para o BD sem Result Set com o componente ADOCommand.

para o BD sem Result Set com o componente ADOCommand. 11111 CDCDCDCDCD ----- 188188188188188

11111 CDCDCDCDCD ----- 188188188188188 MinutosMinutosMinutosMinutosMinutos

* DescriÁ„o detalhada dos 13 Componentes da paleta IBX (Interbase Express);

* Coment·rios sobre suas propriedades;

* ConstruÁ„o do Formul·rio de Entrada de Notas Fiscais (IBDataBase, IBTransaction, IBDataset, IBQuery, IBUpdateSQL);

* Passagem de par‚metros;

* AtualizaÁ„o do Estoque via cÛdigo feito no Delphi;

* AtualizaÁ„o do Estoque via Triggers criadas no Firebird (AfterInsert, AfterUpdate, AfterDelete);

* ConstruÁ„o do Formul·rio para Ajuste de PreÁos;

* CÛdigo para ajustar preÁos na tabela de produtos utilizando uma taxa (aumentando e diminuindo valores).

www.alberteije.com

Delphi 7

<< Iniciante >>

91

CursoCurso DelphiDelphi AvanÁadoAvanÁado -- 1515 MÛdulosMÛdulos (19(19 CDs)CDs)

AvanÁado - - 15 15 MÛdulos MÛdulos (19 (19 CDs) CDs) 11111 CDCDCDCDCD ----- 198198198198198

11111 CDCDCDCDCD ----- 198198198198198 MinutosMinutosMinutosMinutosMinutos

* InstalaÁ„o do Quick Report no Delphi 7;

* DescriÁ„o detalhada dos componentes da Suite Quick Report;

* Desenvolvimento dos relatÛrios de cadastro do SisCom utilizando o Quick Report;

* CriaÁ„o de relatÛrios Mestre-Detalhe com o Quick Report;

* Exportando relatÛrios para TXT e HTML atravÈs do Quick Report;

* DescriÁ„o detalhada dos componentes da Suite Rave Reports;

* Desenvolvimento dos relatÛrios de Contas a Pagar e a Receber

utilizando o Rave Reports;

* CriaÁ„o de relatÛrios Mestre-Detalhe com o Rave Reports;

* UtilizaÁ„o de imagens e cÛdigos de barras usando o Rave Reports;

* Exportando relatÛrios para PDF atravÈs do Rave Reports;

* ApresentaÁ„o do Componente PrintFast (componente que envia o

relatÛrio diretamente para a impressora - excelente para impressoras

matriciais e Clippeiros de plant„o);

* InstalaÁ„o do PrintFast no Delphi 7;

* Desenvolvimento dos seguintes relatÛrios usando o PrintFast: RequisiÁ„o de Compras, Mapa Comparativo de PreÁos e

Pedido de Compras;

* ApresentaÁ„o dos Geradores de RelatÛrios: FreeReport e Fortes Reports.

dos Geradores de RelatÛrios: FreeReport e Fortes Reports. 11111 CDCDCDCDCD ----- 168168168168168

11111 CDCDCDCDCD ----- 168168168168168 MinutosMinutosMinutosMinutosMinutos

* An·lise de 10 Manuais em formato PDF;

* CriaÁ„o do Manual do SisCom em formato PDF;

* CriaÁ„o de um arquivo HLP (ajuda) utilizando ferramentas gratuitas;

* Chamando a ajuda de dentro do SisCom ao pressionar a tecla F1 (ajuda sensÌvel 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);

* UtilizaÁ„o de uma ferramenta que cria o Help e j· salva em diversos

formatos diferentes (HLP, CHM, PDF e outros). Ferramenta muito f·cil de

utilizar;

* Chamando a ajuda CHM de dentro de uma aplicaÁ„o Delphi ao

pressionar F1 (ajuda sensÌvel ao contexto);

* UtilizaÁ„o de uma ferramenta que cria o arquivo de ajuda baseado nas

imagens capturadas das telas do SisCom. O usu·rio clica em qualquer parte das janelas capturadas e a ajuda referente ‡quela parte da janela È apresentada.

e a ajuda referente ‡quela parte da janela È apresentada. 11111 CDCDCDCDCD ----- 175175175175175

11111 CDCDCDCDCD ----- 175175175175175 MinutosMinutosMinutosMinutosMinutos

* Modificando o cÛdigo do SisCom para que o mesmo funcione em rede;

* Testando o funcionamento do SisCom em rede (m·quina virtual);

* IdentificaÁ„o das bibliotecas necess·rias para a instalaÁ„o numa m·quina cliente;

* Trabalhando com arquivos Ini (configuraÁ„o do acesso aos dados atravÈs desses arquivos);

* Desenvolvimento de um instalador personalizado no Delphi (o instalador se encarrega de copiar todos os arquivos necess·rios para o funcionamento do SisCom e instala o MySQL e o Firebird);

* UtilizaÁ„o de ferramentas para criaÁ„o de instaladores: Setup2Go, CreateInstall, InnoSetup);

* CompactaÁ„o de execut·veis;

* Criando uma biblioteca de funÁıes e integrando a mesma ao SisCom;

* AperfeiÁoamento da janela de Login;

* Desenvolvimento de uma Splash Screen para o SisCom utilizando uma

imagem feita no CorelDraw e exportada para o SisCom. UtilizaÁ„o de uma barra de progresso.

www.alberteije.com

92

Delphi 7

<< Iniciante >>

CursoCurso DelphiDelphi AvanÁadoAvanÁado -- MÛdulosMÛdulos PlusPlus

AvanÁado AvanÁado - - MÛdulos MÛdulos Plus Plus 22222 CDsCDsCDsCDsCDs ----- 224224224224224

22222 CDsCDsCDsCDsCDs ----- 224224224224224 MinutosMinutosMinutosMinutosMinutos

* IntroduÁ„o a OrientaÁ„o a Objetos

* HistÛrico do Paradigma de OrientaÁ„o a Objetos

* ExplicaÁıes sobre: AbstraÁ„o; Objeto; Encapsulamento; Mensagem;

Classe; HeranÁa; Polimorfismo; ClassificaÁ„o; AssociaÁ„o; AgregaÁ„o;

GeneralizaÁ„o; EspecializaÁ„o

* IntroduÁ„o a UML - Unified Modeling Language

* HistÛrico da notaÁ„o UML

* Fases do desenvolvimento de um sistema em UML: An·lise de

requisitos; An·lise; Design (projeto); ProgramaÁ„o; Testes

* Visıes: Vis„o de Componentes; Vis„o LÛgica; Vis„o de Use-Case; Vis„o de OrganizaÁ„o; Vis„o de ConcorrÍncia

* Modelos de Elementos: Classes; Objetos; Estado; Pacote; Componente; Relacionamentos (associaÁ„o, generalizaÁ„o, dependÍncia e refinamento)

* Diagramas: Use-Case; Classes; Objetos; Estado; Seq¸Íncia;

ColaboraÁ„o; Atividade; Componente; ExecuÁ„o

* Estudos de caso: conta corrente e aplicaÁıes financeiras; locadora; sistema de matrÌcula; posto de gasolina; biblioteca.

* Cada estudo de caso acima È feito em uma ferramenta diferente. Obs: Este MÛdulo È prÈ-requisito para o MÛdulo Dephi OOP

Obs: Este MÛdulo È prÈ-requisito para o MÛdulo Dephi OOP 11111 CDCDCDCDCD ----- 220220220220220

11111 CDCDCDCDCD ----- 220220220220220 MinutosMinutosMinutosMinutosMinutos

* IntroduÁ„o ‡ Linguagem Object Pascal (Delphi Language);

* Vari·veis - declaraÁ„o e exemplos; Vari·veis Locais e Globais;

* Constantes - declaraÁ„o e exemplos;

* Tipos de Dados - Inteiros, Reais, Texto, Ordinais;

* Rotinas de convers„o de tipos; TypeCasting;

* Operadores - un·rios, multiplicativos, direÁ„o de bits, aditivos, relacionais;

* Estruturas de RepetiÁ„o - While, For, Repeat; Quebras de LaÁo

(continue, break, exit, halt);

* Tipos Definidos pelo Usu·rios - SubRange, EnumeraÁıes, Ponteiros,

Records, Arrays, Sets;

* Procedimentos, FunÁıes e MÈtodos;

* Passagem de par‚metros - explicaÁıes sobre passagem por valor e por

referÍncia; Uso do With;

* Desenvolvimento de diversas rotinas para praticar os conceitos acima;

* ExplicaÁıes sobre a estrutura da Unit: £reas: Unit, Interface,

Implementation, Var, Const, Uses, ReferÍncia Circular;

* Sobrecarga de mÈtodos: Overload - Exemplo de v·rios mÈtodos de mesmo nome para mostrar o funcionamento;

* Blocos protegidos - explicaÁıes sobre exceÁıes (try, except, finally, raise);

* ExplicaÁıes sobre par‚metros formais e par‚metros reais;

* Classes e Objetos; Desenvolvimento de diversas classes no Delphi;

* MÈtodos construtores e destrutores; MÈtodos Getters e Setters;

* InstanciaÁ„o das classes - Desenvolvimento de uma aplicaÁ„o Console para analisar o funcionamento;

* Encapsulamento - Operadores de visibilidade (private, public, protected, published) - explicaÁıes e pr·tica de cada um deles;

* HeranÁa entre classes; * UtilizaÁ„o de Property (propriedades);

* SobreposiÁ„o de MÈtodos - Virtual/Override - Sobrescrever mÈtodos em classes descendentes - Conceito de Polimorfismo;

* Desenvolvimento do SisCom OO - explicaÁıes sobre o objetivo do SisCom (Sistema Comercial);

* ExibiÁ„o do DER e da UML do SisCom. DiferenÁas entre os dois diagramas;

* ApresentaÁ„o do SisCom desenvolvido durante o Curso Delphi AvanÁado;

* Desenvolvimento passo a passo do Formul·rio Padr„o de Cadastro. AtravÈs desse formul·rio, todos os outros forms de cadastro ser„o criados. UtilizaÁ„o do conceito de HeranÁa Visual do Delphi;

* IntegraÁ„o Delphi / ModelMaker; * Engenharia reversa do SisCom para o ModelMaker;

* AlteraÁıes em modelo no ModelMaker e atualizaÁ„o em Tempo Real na aplicaÁ„o no Delphi;

* ExplicaÁıes para desenvolvimento dos diagramas UML do SisCom no ModelMaker; Obs: O MÛdulo Plus Entendendo UML È prÈ-requisito para este mÛdulo

www.alberteije.com

Delphi 7

<< Iniciante >>

93

CursoCurso DelphiDelphi AvanÁadoAvanÁado -- MÛdulosMÛdulos PlusPlus

AvanÁado AvanÁado - - MÛdulos MÛdulos Plus Plus 22222 CDsCDsCDsCDsCDs ----- 339339339339339

22222 CDsCDsCDsCDsCDs ----- 339339339339339 MinutosMinutosMinutosMinutosMinutos

* ExplicaÁıes sobre ECF (Emissor de Cupom Fiscal) e TEF (TransferÍncia EletrÙnica de Fundos);

* InstalaÁ„o e utilizaÁ„o de Emulador de Impressora Fiscal para utilizaÁ„o junto com o sistema de Frente de Caixa;

* An·lise dos manuais das Impressoras Bematech, Yanco, Daruma e

Zanthus;

* CriaÁ„o passo a passo da Interface do Sistema de Frente de Caixa;

* ImplementaÁ„o dos comandos para utilizaÁ„o com a impressora fiscal:

Leitura X, ReduÁ„o Z, RelatÛrios de MemÛria Fiscal; Abertura e Fechamento de Cupons; Envio de Formas de Pagamento; Envio e Cancelamento de Itens; Etc;

* CriaÁ„o de um formul·rio de configuraÁıes onde o prÛprio usu·rio define

as formas de pagamentos que vai utilizar, em quais ocasiıes vai solicitar

senhas, qual impressora est· utilizando e o caminho onde as fotos dos produtos est„o armazenadas (as fotos dos produtos s„o armazenadas

fora do banco de dados);

* CriaÁ„o de um formul·rio para localizaÁ„o de produtos, caso o sistema n„o consiga ler o cÛdigo ou o produto n„o tenha cÛdigo de barras;

* CriaÁ„o de um formul·rio para armazenar os dados da venda;

* Estudo e implementaÁ„o da SoluÁ„o TEF;

da venda; * Estudo e implementaÁ„o da SoluÁ„o TEF; 22222 CDsCDsCDsCDsCDs ----- 275275275275275

22222 CDsCDsCDsCDsCDs ----- 275275275275275 MinutosMinutosMinutosMinutosMinutos

* SQL Server - ApresentaÁ„o - CaracterÌsticas;

* InstalaÁ„o passo a passo do SQL Server e Ferramentas AvanÁadas -

InstalaÁ„o do .NET Framework;

* ApresentaÁ„o da ferramenta de configuraÁ„o (SQL Server Configuration

Manager);

* ApresentaÁ„o e configuraÁ„o do SQL Browser - ferramenta para aceitar conexıes remotas;

* ExplicaÁ„o e configuraÁ„o dos tipos de conexıes (Shared Memory, Named Pipes, TCP/IP, VIA);

* CriaÁ„o de aliases para o Banco de Dados;

* ApresentaÁ„o da ferramenta de configuraÁ„o (SQL Server Surface Area Configuration);

* ConfiguraÁ„o e uso da ferramenta para gerenciamento de bancos de

dados feitos em SQL Server (Microsoft SQL Server Management Studio Express);

* ExplanaÁ„o sobre Collations; Detalhamento sobre os tipos de dados;

* CriaÁ„o e configuraÁ„o de um banco de dados;

* CriaÁ„o das tabelas, Ìndices, relacionamentos, constraints, etc do banco de dados utilizando ferramenta para modelagem;

* CriaÁ„o do campo Auto-Increment; CriaÁ„o de Views atualiz·veis;

* ApresentaÁ„o de ferramenta gr·fica adicional para gerenciamento do banco de dados (SQL Manager 2005 for SQL Server);

* CriaÁ„o de Checks Constraints; CriaÁ„o de Usu·rios/Roles para acesso ao banco;

* ConfecÁ„o de relatÛrios utilizando a ferramenta;

* Exportando dados (Excel, Access, Word, RTF, HTML, PDF, TXT, CSV, DBF, XML);

* Importando dados (Excel, Access, DBF, XML, TXT, CSV);

* ExplanaÁ„o sobre Stored Procedures e Triggers;

* OperaÁıes com o Banco (extraÁ„o de dados, backup e restore);

* ApresentaÁ„o de ferramenta gr·fica adicional para gerenciamento do banco de dados (SQL Lite);

* Conhecendo as funÁıes de sistema (agregaÁ„o, matem·ticas, data e hora, string, diversas

* Desenvolvimento de uma aplicaÁ„o do Delphi para acesso ao banco de dados (cadastros, vendas, etc). UtilizaÁ„o das tecnologias de acesso ADO e dbExpress;

* Formul·rio mestre-detalhe e campos de lookup; ExplicaÁ„o e criaÁ„o de Trigger para atualizaÁ„o do estoque;

* UtilizaÁ„o de transaÁıes (inicio, cancelamento e confirmaÁ„o);

* Funcionamento da aplicaÁ„o em rede atravÈs de m·quina virtual W98;

);

www.alberteije.com

94

Delphi 7

<< Iniciante >>

CursoCurso DelphiDelphi AvanÁadoAvanÁado -- MÛdulosMÛdulos PlusPlus

AvanÁado AvanÁado - - MÛdulos MÛdulos Plus Plus 11111 CDCDCDCDCD ----- 129129129129129

11111 CDCDCDCDCD ----- 129129129129129 MinutosMinutosMinutosMinutosMinutos

* IntroduÁ„o a Criptologia (Criptografia e Criptoan·lise);

* Utilizando na pr·tica a Esteganografia (esconder arquivos em imagens);

* An·lise de v·rios componentes que implementam a Criptografia no Delphi;

* ApresentaÁ„o de v·rios mÈtodos para ProteÁ„o de Programas (Nag-

Screen, PerÌodo, LimitaÁ„o de Registros, HardLocks, Identidade ⁄nica);

* Implementando na pr·tica v·rias tÈcnicas para proteÁ„o de programas (Por Arquivo, Por DiretÛrio, Por Registro, etc);

* Desenvolvimento de um sistema que bloqueia o uso do sistema no

usu·rio. O sistema grava as informaÁıes no registro do Windows. Pega informaÁıes da m·quina do usu·rio (HD, BIOS) e combina tais

informaÁıes com Constantes implementadas pelo programador (Phi e Pi). O desbloqueio do sistema se d· ao informar a Contra-Chave (Demonstrado passo a passo);

* ApresentaÁ„o de v·rios componentes para Delphi que implementam a

proteÁ„o de programas;

* Dicas importantes para colocar em pr·tica no momento da criaÁ„o de uma proteÁ„o;

* ApresentaÁ„o de Engenharia Reversa (Descompiladores);

* UtilizaÁ„o na pr·tica de alguns descompiladores (DeDe, Source Rescuer, ResHacker);

* DemonstraÁ„o de tÈcnica para evitar a Engenharia Reversa de programas feitos em Delphi;

* DemonstraÁ„o de como Crackear um programa feito em Delphi utilizando um Editor HexaDecimal (passo a passo);

em Delphi utilizando um Editor HexaDecimal (passo a passo); 11111 CDCDCDCDCD ----- 229229229229229

11111 CDCDCDCDCD ----- 229229229229229 MinutosMinutosMinutosMinutosMinutos

* MSAccess - ApresentaÁ„o;

* CriaÁ„o de Tabelas (explicaÁ„o dos tipos de dados);

* EspecificaÁıes do Access - limitaÁıes do banco de dados;

* Definindo relacionamentos e criando integridade referencial. ExplicaÁıes sobre cardinalidade;

* CriaÁ„o de consultas (Visual e SQL);

* CriaÁ„o de formul·rios. Formul·rios prontos para impress„o. Formul·rios vinculados a cÛdigo em VBA. Subformul·rios;

* CriaÁ„o de uma consulta vinculada a dados de um formul·rio.

VisualizaÁ„o dos dados de uma consulta em um subformul·rio;

* Desenvolvimento de relatÛrios;

* Desenvolvimento de uma p·gina WEB que acessa e altera os dados da

tabela;

* IntroduÁ„o a VBA (Visual Basic for Applications);

* Acessando o banco de dados atravÈs do Delphi (tecnologia DAO);

* CriaÁ„o de um pequeno aplicativo no Delphi acessando o BD Access.

UtilizaÁ„o de Acion Lists;

* DemonstraÁ„o do Assistente de tabelas do Access que ajuda a normalizar o Banco de Dados;

* DemonstraÁ„o do Analisador de Desempenho do Access;

* Definindo e alterando senhas no Access;

* Acessando os relatÛrios desenvolvidos no Access atravÈs do Delphi: visualizaÁ„o em tela e envio para impress„o sem que o usu·rio perceba que o relatÛrio foi feito no Access;

* CriaÁ„o de Ìndices prim·rios e secund·rios;

* IntroduÁ„o ao conceito de boletos banc·rios;

* ApresentaÁ„o do Manual da FederaÁ„o Brasileira dos Bancos;

* CriaÁ„o passo a passo de um registro de 240 posiÁıes definido no manual da Febraban;

* ApresentaÁ„o de uma soluÁ„o pronta (componente open source) para a impress„o de boletos banc·rios em Delphi, emiss„o

do arquivo de remessa que È enviado pelas empresas aos bancos e leitura do arquivo de retorno que È enviado pelos bancos para as empresas;

* InstalaÁ„o e utilizaÁ„o do referido componente: impress„o de boletos banc·rios em QuickReport (visualizaÁ„o personalizada e RaveReports, exportaÁ„o do boleto para PDF, geraÁ„o do arquivo de remessa;

* Demonstrando a impress„o de boletos banc·rios com dados vindos de uma tabela do banco de dados Access;

* OrientaÁıes para migrar o componente para uma vers„o posterior do Delphi;

www.alberteije.com