delphi - curso.doc

Upload: taynan-guimaraes

Post on 07-Jul-2018

227 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/19/2019 Delphi - Curso.doc

    1/48

    DELPHI4 - CURSO BÁSICOPag 1

     Índice

    INICIALIZANDO O DELPHI..........................................................................................................................................2CRIANDO UM PEQUENO PROJETO............................................................................................................................3OUTRAS FORMAS DE CRIAR UM PROJETO.............................................................................................................4LINGUAGEM OBJECT PASCAL - CONCEITOS BÁSICOS........................................................................................6PALAVRAS CHAVE.........................................................................................................................................................6VARIÁVEIS...................................................................................................................................................................... ARRA!S "VETORES#......................................................................................................................................................$RECORDS "REGISTROS#................................................................................................................................................$CLASSES E OBJETOS.....................................................................................................................................................%

    COMPONENTES& CONTROLES E PROPRIEDADES..................................................................................................%FUN'(ES......................................................................................................................................................................... %PROCEDIMENTOS........................................................................................................................................................ 1)PASSAGEM DE PAR*METROS..................................................................................................................................1)M+TODOS E EVENTOS................................................................................................................................................11ESTRUTURAS DE CONTROLE EM OBJECT PASCAL.............................................................................................11E,EMPLO DO USO DE FUN'(ES E PROCEDIMENTOS.......................................................................................13ESCREVENDO UM EDITOR DE TE,TO SIMPLES..................................................................................................16APERFEI'OAMENTOS DO EDITOR..........................................................................................................................1COMPONENTES DE DADOS......................................................................................................................................1%PROJETO DE SISTEMA I.............................................................................................................................................1%CRIA'O DO PROJETO...............................................................................................................................................21OPERA'(ES COM REGISTROS E CAMPOS "C/0 TF57#.......................................................................24PROCURANDO DADOS8..............................................................................................................................................24

    OUTRAS FORMAS DE ACESSAR CAMPOS.............................................................................................................29FILTRAGEM DE REGISTROS 8...................................................................................................................................29A PROPRIEDADE :E!E,CLUSIVE DE TTABLE....................................................................................................29HABILITANDO E DESABILITANDO A VISUALIZA'O DE DADOS..................................................................26

     NAVEGANDO PELO DATASET 8.................................................................................................................................26PROPRIEDADES BOF EOF...................................................................................................................................26MODIFICANDO REGISTROS 8....................................................................................................................................26MARCANDO UM REGISTRO......................................................................................................................................2DE VOLTA AO PROJETO PESSOAL............................................................................................................................2CÁLCULO DA FOLHA DE PAGAMENTO..................................................................................................................2$PROJETO DE SISTEMA II............................................................................................................................................2%CRIA'O DO BANCO DE DADOS............................................................................................................................2%CRIA'O DO APLICATIVO........................................................................................................................................31CRIA'O DO FORMULÁRIO CADASTRO DE CLIENTES....................................................................................34

    CRIA'O DO FORMULÁRIO PARA QUER! DE CLIENTES.................................................................................36CRIA'O DO FORMULÁRIO CADASTRO DE MERCADORIAS..........................................................................41CRIA'O DO FORMULÁRIO MOVIMENTO DE VENDAS....................................................................................43USANDO O INTERBASE..............................................................................................................................................44TESTANDO O BD..........................................................................................................................................................4%

    Clube Delphi - www.clubedelphi.com.br 

    http://www.clubedelphi.com.br/http://www.clubedelphi.com.br/

  • 8/19/2019 Delphi - Curso.doc

    2/48

    DELPHI4 - CURSO BÁSICOPag 2

    INICIALIZANDO O DELPHI 

    • grupo de programas do Delphi, no Win98 tem formato similar ao mostrado abaixo :

    B;;

  • 8/19/2019 Delphi - Curso.doc

    3/48

    DELPHI4 - CURSO BÁSICOPag 3

    CRIANDO UM PEQUENO PROJETO Ao iniciar, o Delphi já criou e colocou a nossa disposição um projeto chamado Project1, com uma unidadede cdigo Unit1.  !amos construir o nosso primeiro projeto em cima desta base inicial fornecida pelo Delphi"#oder$amos tamb%m escolher a opção New Application no menu File para criar o nosso primeiro projeto "&tili'aremos esta segunda modalidade em liç(es futuras")osso projeto de*erá ter o nome primeiro.dpr e seu +nico formulário de*erá ter o nome forma.pas.le de*erá abrir uma janela com o t$tulo -caption. /#rimeiro #rojeto0 e, exibir um rtulo -Label) com a

    seguinte mensagem : /ste % meu primeiro programa em Delphi0"#ara a confecção do projeto, siga os seguintes passos :

    1 crie, utili'ando o Windo2s xplorer, um diretrio-pasta. com o nome 3Delphi. ste diretriode*erá ser util i'ado para todos os nossos trabalhos neste curso"

    1 crie, dentro de 3Delphi um subdiretrio com o nome Ex1.  1 selecione -clicando com o mouse., na paleta !tandard de componentes, o componente Label   - oterceiro, a partir da es4uerda." 3li4ue s5bre o formulário em 4ual4uer posiçao, para inserir o componenteselecionado" )o "bject #nspector$ procure a propriedade caption e insira, na coluna a direita o texto : /ste% o meu primeiro programa em Delphi0" 6 componente Label   está selecionado e *oc7 poderá mo*imentá1

    Clube Delphi - www.clubedelphi.com.br 

    http://www.clubedelphi.com.br/http://www.clubedelphi.com.br/

  • 8/19/2019 Delphi - Curso.doc

    4/48

    DELPHI4 - CURSO BÁSICOPag 4

    lo clicando e arrastando1o" !oc7 pode tamb%m, redimensioná1lo utili'ando as alças existentes com estafinalidade" #ara centrali'ar o texto na janela, cli4ue o botão direito do mouse e acesse a opção  Ali%n nomenu 4ue se apresenta" elecione center in window na hori'ontal e na *ertical e cli4ue "&. !elecionando ocomponente com 'm d'plo cli('e tambm coloca*o no centro do form'l+rio$ mas a centrali,a-o pode ser alterada ao colocarmos o texto.1 selecione o formulário -clicando em 4ue 4ual4uer ponto do mesmo -fora do rtulo criado anteriormente. e,no "bject #nspector propriedade caption insira : /#rimeiro #rojeto0 e na propriedade Name insiraFormaPrincipal.!amos escolher a opção !a/e Project As... no menu File . 6 Delphi *ai nos solicitar primeiramente, umnome para o nosso mdulo de cdigo" !amos sal*á1lo -dentro do diretrio c:3Delphix;. com o nomeforma.pas.  m seguida, o Delphi habilitará a digitação do nome do projeto" !amos sal*á1lo com o nome

     primeiro -4ue será tamb%m, o nome passado para o ar4ui*o executá*el pelo Delphi. .

  • 8/19/2019 Delphi - Curso.doc

    5/48

  • 8/19/2019 Delphi - Curso.doc

    6/48

    DELPHI4 - CURSO BÁSICOPag 6

     

    LINGUAGEM OBJECT PASCAL - CONCEITOS BÁSICOS

    !amos abrir o projeto primeiro"dpr criado anteriormente, utili'ando o menu File opção "pen...4 o' "pen

    Project o' 3e"pen) e$ em se%'ida /amos acessar o 0ode Editor. 6 0ode Editor pode ser acessado de4ual4uer uma das seguintes maneiras :

    - teclando hift>

  • 8/19/2019 Delphi - Curso.doc

    7/48

    DELPHI4 - CURSO BÁSICOPag

    VARIÁVEIS )ossos dados são arma'enados na memria do computador" #ara 4ue ns não tenhamos 4ue nos referir aestes dados de forma direta, atra*%s de um endereço num%rico dif$cil de memori'ar, o compilador nospermite utili'ar *ariá*eis com esta finalidade" scolhendo nomes sugesti*os -mnem5nicos. para nossas

    *ariá*eis -tais como nome$ f'ncao$ idade$ salario. facilitamos bastante a compreensão de nosso cdigo"#ara 4ue o Delphi possa usar nossas *ariá*eis, de*emos primeiro declará1las, isto %, informar o nome e otipo desejados" #or exemplo : o comando a seguir declara idade como sendo uma *ariá*el do tipo inteiro-inte%er) : idade : integer?

     As *ariá*eis inteiras podem assumir *alores entre 1BEF8 e >BEFE" las ocupam B bGtes na memria" Asim sendo, a declaração acima fa' com 4ue o Delphi reser*e B bGtes para a nossa *ariá*el idade. )ote4ue a declaração do tipo de uma *ariá*el, em princ$pio não lhe atribui *alores" &m erro comum emprogramação % tentarmos ler *alores de *ariá*eis não iniciali'adas, ou Hs 4uais ainda não se atribuiu*alores"""  Damos a seguir uma lista dos tipos de *ariá*eis mais comuns do 6bject #ascal com suas faixas de*alores e o espaço ocupado em memria:

    I66JA) : =ipo lgico 4ue pode assumir somente os *alores =K& ou

  • 8/19/2019 Delphi - Curso.doc

    8/48

    DELPHI4 - CURSO BÁSICOPag $

     ARRAYS VETORES!

     ArraGs são conjuntos de *ariá*eis com o mesmo nome e diferenciadas entre si por um $ndice" les são +teispara manipularmos grandes 4uantidades de dados de um mesmo tipo pois e*itam a declaração de di*ersas*ariá*eis"

    3onsidere o caso de um programa de

  • 8/19/2019 Delphi - Curso.doc

    9/48

    DELPHI4 - CURSO BÁSICOPag %

     Assim, no exemplo citado anteriormente, ao in*%s de declararmos um arraG nome de ; elementos, umarraG funcao de ; elementos, um arraG salario de ; elementos, podemos declarar uma +nica *ariá*elchamada empregado, por exemplo, como sendo um arraG de ; elementos do tipo funcionário"

    empregado : arraGS;"";T of funcionario?#ara obter os dados do d%cimo funcionário, basta fa'er :

    empregadoS;T"nome?empregadoS;T"funcao?empregadoS;T"salario?

    CLASSES E OBJETOS Definição de classe :nomeRdaRclasseRderi*ada U class-nomeRdaRclasseRbase.

    pri*ateVpropriedades, campos e m%todos pri*adospublicVpropriedades, campos e m%todos p+blicos

    end?

     A definição de uma classe % bastante similar a de um registro" As classes, diferentemente dos registrospodem conter funç(es ou procedimentos, chamados m%todos, al%m de *ariá*eis"Xuando uma classe % deri*ada de outra -chamada classe base, classe pai ou classe mãe., ela herda oscampos, propriedades e m%todos da classe base"6 Delphi possui uma classe chamada =6bject da 4ual todas as demais classes se deri*am, ou seja, todasas classes são deri*adas de =6bject ou de classes deri*adas de =6bject" Xuando *oc7 deri*a uma classede =6bject , não % preciso declarar explicitamente a classe base pois o Delphi assume =6bject comodefault"&m objeto % uma instYncia de uma classe, isto %, depois de definirmos uma classe podemos declarar eutili'ar objetos desta classe, da mesma forma 4ue podemos declarar e usar uma *ariá*el composta -umregistro, por exemplo. depois 4ue o ti*ermos definido" De forma análoga, tamb%m, nos referimos aoselementos de um objeto utili'ando a notação de ponto : nomeRdoRobjeto"nomeRdoRelemento?

    COMPONENTES" CONTROLES E PROPRIEDADES 6 Delphi já possui muitas classes predefinidas para utili'ação no ambiente Windo2s" Algumas das classesdo Delphi, chamadas genericamente de componentes  podem ser acessadas atra*%s da paleta decomponentes conforme já mostramos anteriormente"6utra classe bastante utili'ada % a classe =form 4ue define um formulário, mas 4ue não está dispon$*el napaleta de componentes" Oas, se olharmos na listagem do exerc$cio x; *erificamos 4ue o Delphi defineautomaticamente uma classe deri*ada de =form -=

  • 8/19/2019 Delphi - Curso.doc

    10/48

    DELPHI4 - CURSO BÁSICOPag 1)

    6 trecho de cdigo a seguir define a função #K6DPL, 4ue retorna como resultado o produto de doisn+meros reais P e L:

    function #K6DPL-P,L:Keal.:Kealbegin#K6DPL :U PZL?end?

    6bser*e 4ue o sinal de atribuição em 6bject #ascal % :U e, não o sinal de igual simplesmente"

    m 6bject #ascal podem1se usar os seguintes operadores aritm%ticos :> : oma?1 : ubtração?Z : Oultiplicação?  [ : Di*isão?di* : Di*isão inteira emod : Kesto da di*isão inteira"

    6 6bject #ascal tem *árias funç(es predefinidas, parte das 4uais listamos a seguir :

     Abs-x. Ketorna o *alor absoluto de x" Arc=an-x. Ketorna o *alor do arco tangente de x -em radianos."3os-x. Ketorna o cosseno de x -x em radianos."Dec-x. Decrementa -subtrai ;. uma *ariá*el inteira x"xp-x. Ketorna o *alor de e ele*ado a x  , onde e % a base dos logaritmos neperianos"

  • 8/19/2019 Delphi - Curso.doc

    11/48

    DELPHI4 - CURSO BÁSICOPag 11

    M&TODOS E EVENTOS &m m%todo % um tipo especial de procedimento ou função, definido dentro de uma classe" #or ser definidodentro da classe, ele pode acessar diretamente os campos dela sem a necessidade de passar este camposcomo parYmetros" #ara executar um m%todo de uma determinada classe basta usar a mesma notação deponto usada para acessar um campo"

    &m e*ento % muito semelhante a um m%todo pois ambos são definidos internamente a uma classe" Adiferença % 4ue os e*entos são executados em resposta a alguma ação do usuário ou em resposta a umamensagem en*iada pelo Windo2s" 3ite1se como exemplo o e*ento 6n3lic\ de um formulário, umprocedimento 4ue % executado toda *e' 4ue o usuário dá um cli4ue com o mouse s5bre o formulário" stopermite 4ue o nosso programa execute alguma ação 4uando o usuário clica com o mouse sobre o controle"

    ESTRUTURAS DE CONTROLE EM OBJECT PASCAL N 5/5;=/ ; ;0=;= /; = 7

  • 8/19/2019 Delphi - Curso.doc

    12/48

    DELPHI4 - CURSO BÁSICOPag 12

      ]>], ]1], ]Z], ][] : WriteJn-]6perador].?else  WriteJn-] 3aracter special].?end?

    =K&=&KA D K#=_`6 -for-to, for-downtointaxe :for contador:U*alorRinicial to *alorRfinal do

    beginVblocoRdeRcomandosend!

    7 8

  • 8/19/2019 Delphi - Curso.doc

    13/48

    DELPHI4 - CURSO BÁSICOPag 13

    =K&=&KA withintaxewith identificadorRdeRregistro-objeto. do blocoRdeRcomando

    )ote 4ue with % uma forma abre*iada de referenciar os campos de um registro ou os campos e m%todos deum objeto" Dentro do blocoRdeRcomando -com with.  uma *ariá*el ou m%todo fica completamenteidentificada usando1se apenas seu identificador de campo"

    =K&=&KA try-e"cept-endintaxe :trys4u7nciaRdeRcomandose"ceptblocoRaRserRexecutadoRnoRcasoRdeRerrosend!

    sta estrutura nos permite tratar de forma con*eniente os erros ocorridos no programa" em ela, ocorrendoum erro, o Delphi dispara o seu mecanismo de tratamento de exceç(es, normalmente emitindo umamensagem de erro em ingl7s e não nos dando chance de recuperação" 3om esta estrutura podemos detetar 

    o erro, fornecer uma mensagem inteligi*el e permitir o retorno H rotina onde ocorreu o erro e permitir, por exemplo, a possibilidade de digitação"

    E'EMPLO DO USO DE FUN#$ES E PROCEDIMENTOS !amos criar, no Delphi, um projeto com um formulário em branco? *amos dar ao projeto o nome desegundo.dpr e ao formulário -4ue % +nico., o nome forma.pas. De*emos criar um diretrio3:3DelphiEx8   e mandar sal*ar o programa neste diretrio" !amos dar o t$tulo -caption. de &so de

  • 8/19/2019 Delphi - Curso.doc

    14/48

    DELPHI4 - CURSO BÁSICOPag 14

    egue1se o cdigo correspondente :

    unit forma?

    interface

    uses  Windo2s, Oessages, Gs&tils, 3lasses, Qraphics, 3ontrols,

  • 8/19/2019 Delphi - Curso.doc

    15/48

    DELPHI4 - CURSO BÁSICOPag 19

    implementation

    9;3 a('i dentro do procedimento.Edit> no pertence a classe.

    =enho ('e precede*la do nome do objeto ('e a poss'i 4no caso FPrincipal) e 'm ponto: 

  • 8/19/2019 Delphi - Curso.doc

    16/48

    DELPHI4 - CURSO BÁSICOPag 16

    ESCREVENDO UM EDITOR DE TE'TO SIMPLES !amos criar, no Delphi, um projeto utili'ando a template DApplication-

  • 8/19/2019 Delphi - Curso.doc

    17/48

    DELPHI4 - CURSO BÁSICOPag 1

     APERFEI#OAMENTOS DO EDITOR!amos inserir algumas opç(es para escolha de

  • 8/19/2019 Delphi - Curso.doc

    18/48

    DELPHI4 - CURSO BÁSICOPag 1$

    Kefaça a propriedade Align de Oemo; para Align U al)one -para possibilitar a *ariação da largura."

    )ote pocreen3enter na propriedade #osition do formulário" !erifi4ue tamb%m seu Iorder tGle -para não*ariar o tamanho da tela" !erifi4ue

  • 8/19/2019 Delphi - Curso.doc

    19/48

    DELPHI4 - CURSO BÁSICOPag 1%

    COMPONENTES DE DADOS 6 Delphi oferece ao usuário -na sua #aleta de 3omponentes. duas páginas de componentes aplicá*eis abancos de dados :

     A página Data Access cont%m componentes 4ue acessam os dados e permitem especificar o

    banco de dados, suas tabelas e registros" 3licando1se a aba correspondente a esta página, serãomostrados os componentes abaixo :

    )a ordem : Dataource, =able, XuerG, tored#roc, DataIase, ession,IatchOo*e, &pdateXJ,#ro*ider, 3lientDataet, Kemoteer*er"

     A página Data 0ontrols cont%m componentes de *isuali'ação e edição de dados" les nospermitem *isuali'ar e entrar dados nas tabelas" 3licando1se a aba correspondente a esta página,serão mostrados os componentes abaixo :

    )a ordem : DIQrid, DI)a*igator, DI=ext, DIdit, DIOemo, DImage, DIJistIox,DI3omboIox, DI3hec\Iox, DIKadioQroup, DIJoo\upJistIox, DIJoo\up3omboIox,DIKichdit, DI3trlQrid e DI3hart"

    )ota : 6 componente Data ource, apesar de incluido na página Data Access %, na realidade, umcomponente 4ue fa' a ligação entre os componentes de acesso e os componentes de *isuali'ação dedados"

    PROJETO DE SISTEMA I  A melhor forma de se estudar o funcionamento dos *ários componentes referentes a bancos de dados %utili'ando1os em um projeto simples, como faremos a seguir :)osso projeto terá por finalidade processar a

  • 8/19/2019 Delphi - Curso.doc

    20/48

  • 8/19/2019 Delphi - Curso.doc

    21/48

    DELPHI4 - CURSO BÁSICOPag 21

    CRIA#(O DO PROJETO elecione menu FileNew selecione a p+%ina Projects e$ nesta @

  • 8/19/2019 Delphi - Curso.doc

    22/48

    DELPHI4 - CURSO BÁSICOPag 22

    - A5; ^ P; ]]M;= T; ^ T;F- E

  • 8/19/2019 Delphi - Curso.doc

    23/48

    DELPHI4 - CURSO BÁSICOPag 23

    - A

  • 8/19/2019 Delphi - Curso.doc

    24/48

    DELPHI4 - CURSO BÁSICOPag 24

    #ara abrirmos o ditor de 3ampos, basta dar um duplo ci4ue s5bre o componente ==able" Aparece o

  • 8/19/2019 Delphi - Curso.doc

    25/48

    DELPHI4 - CURSO BÁSICOPag 29

    #or exemplo , para atribuir a caixa de edição ditn o *alor do campo )ome, 4ue % o terceiro campo natabela =ablen *oc7 fa'

    ditn"=ext :U =ablen"

  • 8/19/2019 Delphi - Curso.doc

    26/48

    DELPHI4 - CURSO BÁSICOPag 26

    HABILITANDO E DESABILITANDO A VISUALIZA#(O DE DADOS  Antes de iniciar um filtro pode ser importante *oc7 desbailitar os componentes de *isuali'ação inseridos noformulário, já 4ue o filtro afeta todo o conjunto de dados -dataset." sta pro*id7ncia % importante para seganhar tempo, e*itando 4ue os componentes de !isuali'ação fi4ue mostrando dados pro*isrios e fi4uecom flic\ering" &se estes controles com cuidado pois o usuário espera 4ue os controles de *isuali'ação

    mostrem a realidade continuamente, assim, tendo desabilitado os controles, trate de habilitá1los logo 4uepossi*el"

  • 8/19/2019 Delphi - Curso.doc

    27/48

    DELPHI4 - CURSO BÁSICOPag 2

    &tili'e a propriedade 3anOodifG -de =table. para permitir ou proibir modificaç(es no dataset " e U =rue osdados podem ser alterados"

    MARCANDO UM REGISTRO#ara marcar um registro e permitir 4ue, aps *árias operaç(es se *olte a ele, utili'e :

    QetIoo\Oar\ : marca o registro associando a ele uma propriedade do tipo =boo\mar\?Qo=oIoo\Oar\ : le*a o ponteiro at% o registro marcado?

  • 8/19/2019 Delphi - Curso.doc

    28/48

    DELPHI4 - CURSO BÁSICOPag 2$

    7 G=572 ^ ;B/. A// ; ;=; 7 =/=5 "0;7 0; =7; 5=5=# ;=57 0; 0;=; 5=5= = P; "F;; ;T0# = N;5@;="

  • 8/19/2019 Delphi - Curso.doc

    29/48

    DELPHI4 - CURSO BÁSICOPag 2%

    1 3riar e manter a tabela 6endas contendo a descrição dos produtos *endidos, as 4uantidades e os*alores en*ol*idos e a identificação do cliente" sta tabela nos permitiria atuali'ar os esto4ues na saida dasmercadorias pela dedução das 4uantidades *endidas, anali'ar resultados pela comparação dos *alores decusto e dos *alores de *enda, fa'er análises estat$sticas do tipo /mercadoria mais *endida0 , /sa'onalidadede *endas0, etc"""

    1 )ão o faremos pois a finalidade % apenas didática mas, se acrescentássemos tabelas de comprase de fornecedores, ter$amos possibilidade de um contr5le completo de esto4ue e de contas a pagar demercadorias, o 4ue nos permitiria at% análises financeiras mais abrangentes" #oder$amos ter tamb%m umar4ui*o de configuração no estilo do Windo2s -/lojainfo"ini0., contendo *alores parametri'ados tais como /de lucro desejado0, /tabelas de desconto0 , etc""" ste tipo de ar4ui*o nos permite modificar *alores usadospelo aplicati*o sem a necessidade de modificar programas, para atender as diferentes necessidades dediferentes usuários" &ma alternati*a ao ar4ui*o "ini seria utili'ar o prprio Kegistro do Windo2s 4ue, aliás, %o recomendado pela O"""

    1 Algumas das funç(es mostradas no projeto não serão implementadas por desnecessário" Xuandoselecionadas estas funç(es, o programa de*erá exibir mensagem indicando este fato"

    CRIA#(O DO BANCO DE DADOS =abela /Esto('es0 :1 ntre no Database Des2top e escolha no menu File, a opção New$ sub1opção =able.1 )o 4uadro =able =Ipe escolha tabela do tipo Dbase for Windo2s e, no 4uadro 0reate =able$ crie osseguintes campos :6I: 3aso precise deletar algum campo, use 3trl>Del"

    1 3li4ue no botão Define para criar um $ndice? cli4ue s5bre o campo 0odi%o no 4uadro Define #ndex e d7 onome ind0od  para o $ndice"1 Kepita a operação para o campo Descri-o e d7 a este no*o $ndice o nome indDesc.1 al*e a tabela com o nome Esto('es clicando no botão !a/e As.

     A tabela Esto('es foi criada nos passos anteriores, mas está *a'ia" !amos colocar alguns dados nela :

    1 )o menu File, opção "pen, sub1opção =able$ abra a tabela Esto('es em seguida, no menu =able,escolha a opção Edit Data$ para trabalhar no modo de edição"1 3adastre os seguintes itens :Codigo Descrio uantidade /r0Compra

    ; #3 IO Apti*a mod" B M B998,B #3 3ompa4 mod" ; ; B@M, Oodem &1Kobotics B88 ;B,@ it OultOedia Ad*entures BB B@,M canner Qenius mod" ;B ; 9,

    1 al*e os dados deslocando1se para o prximo registro em branco"=abela /0lientes0 :13rie esta tabela utili'ando passos semelhantes ao da tabela anterior"13ampos da tabela 0lientes @

    Clube Delphi - www.clubedelphi.com.br 

    http://www.clubedelphi.com.br/http://www.clubedelphi.com.br/

  • 8/19/2019 Delphi - Curso.doc

    30/48

    DELPHI4 - CURSO BÁSICOPag 3)

    1 3rie dois $ndices : ind3od com o campo 0odi%o e ind)ome com o campo Nome.1 Digite os seguintes dados nesta tabela :Codigo $ome &e"o )enda +ensal 1olume de

    Compras2ndereo C2/ %elefone

    ; os% Oaria O B@, M, Jadeira do scorrega, BM BBBBM1;B BBB1BBBBB Oaria os% < ;, BB Kua do sconde1

    sconde, B;B;;;;;1;;; ;;;1;;;;

    Jui' 3láudio O 9, ;B, =ra*essa do P, ;B B;1; ;B1@MFE@ 3laudia Ju' < ;B, M@, Kua do #oste, B BBBBM1;B BBB1BBBBM Oarcos

  • 8/19/2019 Delphi - Curso.doc

    31/48

    DELPHI4 - CURSO BÁSICOPag 31

    #assos necessários para a montagem :1 3rie um projeto a partir de um formulário em branco? d7 ao formulário o nome FormaPrincipal ,

    mude o caption para Jerente de Loja e sal*e o cdigo como frmpri e o projeto como lojainfo$ nodiretrio 3:3DelphixM"- nsira um componente #ma%e -da paleta Additional . e selecione para ele -na propriedade Pict're.

    o ar4ui*o 3:""Delphiimagessplash;Fcolors\Gline"bmp, colo4ue duas legendas, um acima eoutra abaixo da Pict're "&tili'e para o caption das legendas a fonte Poster odonni A==*old*1  

    Clube Delphi - www.clubedelphi.com.br 

    http://www.clubedelphi.com.br/http://www.clubedelphi.com.br/

  • 8/19/2019 Delphi - Curso.doc

    32/48

    DELPHI4 - CURSO BÁSICOPag 32

    1 nsira um menu principal com submenus e teclas de atalho, conforme abaixo :

    1 nsira um componente Panel   apague seu caption e faça as propriedades  Ali%n C al=op Ali%nmentCta0entere/erl#nner C b/#None e e/el"'ter C b/3aised  "

    1 nsira no painel rec%m1criado alguns speedb'ttons com Kints e propriedade !howKint C =r'e. 6sar4ui*os "bmp para a propriedade Jliph dos speedb'ttons podem ser obtidos no diretrio

    3:..DelphiG#ma%es'ttons.  A escolha pode ser algo arbitrária, pois a finalidade % apenasilustrati*a" !erifi4ue os ar4ui*os calculat", comppc;,arro2;d, dooropen,fcabshut,printer e help, todos"bmp" )ote 4ue na propriedade Kint dos speedb'ttons pode1se inserir dois textos separados pelos$mbolo /0" 6 primeiro aparecerá junto ao speedb'tton e o segundo aparecerá na linha de status norodap%"

     6 seguintes hints de*em ser inseridos nos speedbuttons :

    1 3lientes3adastra[dita 3lientes no peedIutton;?  1 !endasOo*imento de !endas no peedIuttonB?  1 Oercadorias3adastra[dita Oercadorias no peedIutton?

    1

  • 8/19/2019 Delphi - Curso.doc

    33/48

    DELPHI4 - CURSO BÁSICOPag 33

    1 nsira teclas aceleradoras nos sub1itens do menu Ar4ui*o entrando na propriedade short*c't   eselecionando o conjunto de teclas desejadas"

    1 )este ponto do projeto ainda não desen*ol*emos nenhuma das rotinas do menu" #or ra'(es deorgani'ação do nosso trabalho -e para não perder os esboços de procedures abertas pelo Delphi.,inserimos as mensagem de ad*ert7ncia abaixo indicada em cada uma das chamadas de menu"

    3digo da mensagem : Application"OessageIox-] mbRDefIutton;.?

    !amos, a partir de agora, começar a retirar as mensagens de ad*ert7ncia e inserir nossas funç(es deprocessamento:

    6pção de menu Fim -no menu principal Ar4ui*o:)a procedure =

  • 8/19/2019 Delphi - Curso.doc

    34/48

    DELPHI4 - CURSO BÁSICOPag 34

    6 processo de pirataria do programa Animals consiste em copiar os ar4ui*os beast2in"dfm e beast2in"paspara o nosso diretrio de trabalho" #ara incluir o no*o ar4ui*o em nosso projeto de*emos utili'ar 6iewOProject 5ana%erOAdd e selecionar o ar4ui*o beast2in"pas" m seguida de*emos mudar o nome donosso ar4ui*o para Frm0ad , abrindo1o e sal*ando1o com no*o nome em FileQ!a/e File As.... De*emosdeletar, em nosso diretrio os ar4ui*os beast2in"pas e beast2in"dfm"

    3om o nosso no*o formulário -rec%m pirateado. selecionado, *amos mudar sua propriedade Name  paraForma0ad6is e o 0aption para Jerente de Loja. !amos selecionar =able1 e modificar as propriedades :DatabaseName para -deixar em branco. =ableName para 0lientes e Acti/e para =r'e. !amos tamb%m,com =able; selecionada, dar um duplo cli4ue sobre a mesma e remo*er todos os campos -no !" A imagem será transferida para a nossa tabela"Kepita este procedimento 4uantas *e'es for necessário")ota : A cpia de imagens gráficas para a área de transfer7ncia e, desta para a tabela pode ser feita por programa, utili'ando comandos e componente prprios" &ma consulta ao Kelp do Delphi $ tpico 0lipboard pode ser bastante elucidati*a" 6 programa clientes.exe foi adaptado de um demo do Delphi; -stoc\s."#ode1se tamb%m transferir direto de ar4ui*os de imagens atra*%s do comando :DImage"#icture"Joad

  • 8/19/2019 Delphi - Curso.doc

    35/48

    DELPHI4 - CURSO BÁSICOPag 39

    CRIA#(O DO FORMULÁRIO PARA QUERY DE CLIENTES ste formulário, al%m de tamb%m permiitr cadastrar os clientes da loja , *ai nos permitir demonstrar algunsusos de XJ e tamb%m o uso do m%todo Print da classe =

  • 8/19/2019 Delphi - Curso.doc

    36/48

    DELPHI4 - CURSO BÁSICOPag 36

    [[ Ar4ui*o de #rojeto -lojainfo"dpr.program Jojainfo?

    uses 

  • 8/19/2019 Delphi - Curso.doc

    37/48

    DELPHI4 - CURSO BÁSICOPag 3

      Dataource;: =Dataource?  #anelB: =#anel?  XuerG;: =XuerG?  IuttonB: =Iutton?  Iutton: =Iutton?  6penDialog;: =6penDialog?  Iut#rint: =IitItn?  3omboIox;: =3omboIox?  DI)a*igator: =DI)a*igator?  Iutton;: =Iutton?  Jabel;: =Jabel?  JabelB: =Jabel?  procedure

  • 8/19/2019 Delphi - Curso.doc

    38/48

    DELPHI4 - CURSO BÁSICOPag 3$

      end!end!

    procedure =

  • 8/19/2019 Delphi - Curso.doc

    39/48

  • 8/19/2019 Delphi - Curso.doc

    40/48

    DELPHI4 - CURSO BÁSICOPag 4)

    implementation uses

  • 8/19/2019 Delphi - Curso.doc

    41/48

  • 8/19/2019 Delphi - Curso.doc

    42/48

  • 8/19/2019 Delphi - Curso.doc

    43/48

    DELPHI4 - CURSO BÁSICOPag 43

    USANDO O INTERBASE 

    V;/ 55;= I=; "V=K XI-V9.1.1# / / 0= 5/0& 75;7 ;0; ; ;/55;=5;=

  • 8/19/2019 Delphi - Curso.doc

    44/48

    DELPHI4 - CURSO BÁSICOPag 44

    OBS 8 S!SDBA U= N;/ 7; 7 IB ; ?; 75@5;7; 7 = j/;=\_k.

    A0 O:& 7

  • 8/19/2019 Delphi - Curso.doc

    45/48

    DELPHI4 - CURSO BÁSICOPag 49

    O

  • 8/19/2019 Delphi - Curso.doc

    46/48

    DELPHI4 - CURSO BÁSICOPag 46

      "  CODIGO TCODIGO&  DATA DATE&  DESCRICAO TDESCRICAO&  QUANTIDADE INTEGER&  CUSTOTOTAL TDINHEIRO&FOREIGN :E! "CODIGO# REFERENCES ESTOQUES "CODIGO#

    #OBS 8 1#D/;5 K 50 0=7557

  • 8/19/2019 Delphi - Curso.doc

    47/48

  • 8/19/2019 Delphi - Curso.doc

    48/48

    DELPHI4 - CURSO BÁSICOPag 4$

    TESTANDO O BD

    F5/ / 0=@=;/5?; 7 "P=