Post on 07-Aug-2018
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 1/139
CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE SÃO VICENTE DO SUL
CENTRO DE INFORMÁTICA EDUCATIVA E TECNOLOGICA
CURSO TÉCNICO EM INFORMÁTICA
MÓDULO III
PROGRAMAÇÃO
São Vicente do S!" Ot#$o" %&&'(
)
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 2/139
Sumário
VERSÕES....................................................................................................................................................................5
IDE................................................................................................................................................................................6
O FORM DESIGN(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((*
A +ARRA DE MENU PRINCIPAL((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((,A PALETA DE COMPONENTES(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((,A SPEED+AR((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((-O+.ECT INSPECTOR(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((-CODE EDITOR((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((/CODE INSIG0T(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())SPEED MENUS((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((()%DES1TOPS TOOL+AR(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((()%CONFIGURAÇ2ES DO AM+IENTE(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((()%
TECLAS IMPORTANTES.......................................................................................................................................13
PROJETO EM DELPHI..........................................................................................................................................13
(PAS E (DPR((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((()'SALVAR O PRO.ETO((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((()'A+RIR O PRO.ETO(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((()*OPÇ2ES DE PRO.ETO(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((()*A LISTA TO3DO(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((()-
TIPOS DE COMPONENTES..................................................................................................................................18
CONVENÇÃO DE NOMEAÇÃO...........................................................................................................................18
MANIPULANDO COMPONENTES......................................................................................................................19
Utilizando o Object Inspector...........................................................................................................................20
MANIPULANDO EVENTOS..................................................................................................................................22
Construção de um manipulador de evento para o objeto button......................................................................22 Executando a aplicação................ .............. ............... .............. .............. .............. .............. ............. ..... ...... ..... ..23
COMENTÁRIOS(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((%4
VCL............................................................................................................................................................................24
Objeto !orm "!ormul#rio$.............................................................................................................................2%Objeto &utton "&otão$....................................................................................................................................2'Objeto Edit "Caixa de edição$........................................................................................................................2( Objeto )abel "*+tulo de orientação$..............................................................................................................2,
MAIS SO+RE A PALETA STANDART((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((%,Objeto -emo "-emorando$...........................................................................................................................2, Objeto Cec/&ox "Caixa de veriicação$.......................................................................................................21Objeto *adio&utton "&otão de radio$..........................................................................................................21Objeto )ist&ox "Caixa de lista4em$...............................................................................................................25Objeto Combo&ox "Caixa de lista4em em ormato de cortina$.....................................................................25Objeto 6roup&ox "Caixa de a4rupamento$...................................................................................................30Objeto *adio6roup "6rupo de bot7es radio$.................................................................................................30Objeto 8anel "8ainel$.....................................................................................................................................30Objetos -ain-enu e 8opup-enu "-enu principal e -enu r#pido$.............................................................39
A LINGUAGEM OJECT PASCAL......................................................................................................................31
O MÓDULO (DPR(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((4)AS UNITS((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((4%
%
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 3/139
ATRI+UIÇÃO((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((45DECLARAÇÃO DE VARIÁVEIS((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((45TIPOS PARA MANIPULAÇÃO DE VARIÁVEIS(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((45FUNÇ2ES DE CONVERSÃO E MANIPULAÇÃO((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((4*E6PRESS2ES LÓGICAS(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((4*COMANDO IF(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((4*COMANDO CASE((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((4,COMANDO REPEAT((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((4,
COMANDO 70ILE((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((4,COMANDO FOR(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((4-COMANDO +REA1(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((4-COMANDO 7IT0((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((4-PROCEDURES E FUNÇ2ES(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((4/DECLARAÇÃO E ATIVAÇÃO DE PROCEDIMENTO((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((4/DECLARAÇÃO E ATIVAÇÃO DE FUNÇ2ES(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((4/DECLARAÇ2ES CRIADAS AUTOMATICAMENTE PELO DELP0I(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((5&CAI6AS DE DIÁLOGO((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((5&CAI6AS DE ENTRADA(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((5%
CHAMADA DE !ORMS..........................................................................................................................................44
COMPONENTES "VCL#.........................................................................................................................................45
Objeto &it&tn "&otão com i4uras opcionais$................................................................................................%'Objeto :peed&utton "&otão para barra de ;cones$........................................................................................%( Objeto -as/Edit "Caixa de edição com m#scara$.........................................................................................%( Objeto Ima4e "Ima4em$.................................................................................................................................%, Objeto < 8a4eControl........................................................................................................................................%, Objeto Open=ialo4 "Caixa de di#lo4o para abertura de ar>uivos$..............................................................%1Objeto Ima4e)ist ")ista de ima4ens$.............................................................................................................%1Objeto *icEdit "?exto com ormatação$.......................................................................................................%5Objeto 8ro4ress&ar "&arra de pro4resso$.....................................................................................................%5Objeto 6au4e "&arra de pro4resso$...............................................................................................................'0Objeto @nimate "@nimaç7es$..........................................................................................................................'0Objeto =ate?ime8ic/er "=ata e ora atravAs de uma Combobox$...............................................................'0
Objeto -ontCalendar "Calend#rio mensal$................................................................................................'9Objeto :tatus&ar "&arra de status$................................................................................................................'9Objeto ?ool&ar "&arra de ;cones$..................................................................................................................'2
UM POUCO MAIS SORE COMPONENTES "VCL#........................................................................................52
Objeto ?imer "?emporizador$.........................................................................................................................'2Objeto !ile)ist&ox "Caixa de lista4em de ar>uivos$.....................................................................................'3Objeto =irectorB)ist&ox "Caixa de lista4em de diret+rios$..........................................................................'3Objeto < =riveCombo&ox "Caixa de lista4em de drives$..................................................................................'3Objeto !ilterCombo&ox "Caixa de lista4em de iltros$.................................................................................'%
ANCO DE DADOS.................................................................................................................................................55
CONECÇÃO AO ANCO DE DADOS..................................................................................................................55
+DE((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((''COMPONENTES DE CONTROLE E ACESSO((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((''
Exemplo................ .............. .............. .............. .............. .............. ............... .............. .............. .............. ....... ...... .'( O+.ETOS TFIELD(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((('-
APLICAÇÃO EM ANCO DE DADOS................................................................................................................6$
DATA+ASE DES1TOP(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((*&+DE 8 CRIAÇÃO DO ALIAS(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((*4APLICAÇÃO UTILI9ANDO +D EM DELP0I(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((*5
!rm8rincipal............... .............. .............. .............. .............. ............... .............. .............. .............. ........... ...... ....(%
4
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 4/139
DATA MODULE((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((*5FORMULÁRIO DE CADASTRO DE SETOR(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((**
!rmCad:etor................. .............. .............. ............... .............. .............. .............. .............. .............. .......... ...... ...(( MÉTODOS E PROPRIEDADES PARA MANIPULAÇÃO DE DADOS((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((*/FUNÇ2ES DE CONVERSÃO((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((,)OS ESTADOS DE UM DATASET((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((,)FORMULÁRIO DE CADASTRO DE FUNCIONÁRIO((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((,5
!rmCad!uncionario................. .............. .............. ............... .............. .............. .............. ............. ...... ..... ...... .....,%
MÁSCARA PARA ENTRADA DE DADOS((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((,*INTEGRAÇÃO DE DADOS ENTRE AS TA+ELAS(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((,,ATRI+UINDO VALORES ATRAVÉS DE ONNE7RECORD((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((,/CONSISTINDO DADOS ATRAVÉS DE ONVALIDADE(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((,/FORMULÁRIO DE CADASTRO DE DEPENDENTES(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((-&
!rmCad=ependente.................. .............. .............. .............. .............. .............. ............... .............. ...... ...... ..... ....10ATRI+UINDO VALORES DEFAULT :ONNE7RECORD;((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((-5MÉTODOS DE PES<UISA((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((-5FORMULÁRIO DE CONSULTA DE FUNCIONÁRIOS(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((-5
!rmCon!uncionario................. .............. .............. ............... .............. .............. .............. ............. ...... ..... ...... .....1%DEFININDO CAMPOS RE<UERIDOS E E6CEÇÃO LOCAL(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((-*E6CLUSÃO COM CONSIST=NCIA(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((-,E6CLUSÃO EM CASCATA(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((--
UM POUCO MAIS SO+RE CONSULTAS((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((-/ !rmCon:et!un................. .............. .............. .............. ............... .............. .............. .............. .............. ....... ...... ...15RELATÓRIOS((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((/)
!rm*el!unc................ ............... .............. .............. .............. .............. .............. ............... ........... ...... ...... ...... .....59CAMPOS CALCULADOS((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((/4RELATÓRIO MESTRE3DETAL0E((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((/'
!rm*el:et!un............... .............. ............... .............. .............. .............. .............. ............... ........... ...... ..... ...... ....5'CONSULTAS E IMPRESSÃO((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((/-
INSTALLSHIELD.....................................................................................................................................................98
:et te isual =esi4n.......................................................................................................................................900:peciB Components and !iles........................................................................................................................902:peciB Install:ield Objects or =elpi '......................................................................................................90'
:elect User Interace Components..................................................................................................................90, :peciB !olders and Icons...............................................................................................................................901 *un =is/ &uilder............. .............. .............. .............. .............. ............... .............. .............. ............. ...... ..... .....901
INSTALLSHIELD PAC%AGE!ORTHE&E....................................................................................................111
TRANSAÇÕES........................................................................................................................................................11'
DELP0I > TRANSAÇ2ES((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((()),
DELPHI ( S)L......................................................................................................................................................121
T*CNICAS DE INTER!ACE...............................................................................................................................125
SPLAS0 SCREEN((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((()%'CRIANDO E DESTRUINDO FORMS((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((()%,MANIPULANDO CURSORES((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((()%-
TOOLAR...............................................................................................................................................................129
APLICAÇÕES MDI...............................................................................................................................................132
Criando um lista das janelas abertas..............................................................................................................93( -esclando -enus..................... .............. .............. .............. ............... .............. .............. .............. .............. ......93( *eaproveitamento de c+di4o......... ............... .............. .............. .............. .............. .............. .............. ..... ...... ....93,
RE!ER+NCIA ILIOGR,!ICA.......................................................................................................................138
5
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 5/139
'
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 6/139
VERSÕES
O De!?@i diBt$i#do e t$B e$BeBH
:tandart
Ve$Bão #BicJ do ?$odto Ke diB?oni#i!iJ connto #e !iitJdo de co?onenteB(
8roessional Te ?o$ o#etioB ?$o$JJdo$eB ?$oiBBionJiB( PoBBi todoB oB $ec$BoB #BicoB" B?o$te ?$o$JJQão de #Jnco de dJdoB" B?o$te J Be$ido$eB 7e# e J!JB e$$JentJB ete$nJB(
EnterpriseCon@ecidJ coo ClientD:erver nJB e$BeB Jnte$io$eB enocJ ?$o$JJdo$eB Ke eBtão conBt$indoJ?!icJtioB e?$eBJ$iJiB( PoBBi o S<L LinB ?J$J coneeB C!ienteSe$ido$ +DE nJtiJB" $ioBco?onenteB ?J$J Inte$net" co?onenteB ADO e Inte$+JBe E?$eBB" B?o$te J J?!icJtioB!tiB$ioB" inte$nJcionJ!iJQão e J$Kitet$J de t$B cJJdJB(
TodJB JB e$BeB ?oBBe J eBJ deiniQão de J#iente inte$Jdo e J cJ?JcidJde de e?Jndi$ BJVCL o$iinJ!(
*
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 7/139
IDE
O J#iente de deBeno!iento do De!?@i co?oBto de $iJB ?J$teBW co?ondo conntointe$Jdo de Jne!JBW Ke inte$Je ent$e Bi(
VJoB J#o$dJ$ cJdJ J Be?J$JdJenteH
O FORM DESIGN
!orm o te$o ti!iJdo ?J$J $e?$eBentJ$ JB janelas do 7indoXB Ke co?e J J?!icJQão( OBo$B Be$e coo #JBe ?J$J o ?oBicionJento doB componentes" Ke Bão $eB?onBeiB ?e!J inte$JQãoent$e B$io e KinJ(
PJ$J selecionarmos o o$ deeoB c!icJ$ :J e; e BJ $eJ inte$nJ o nJ o#ectinB?ecto$" e não Bi?!eBente e Be tt!o(
AB cJ$Jcte$BticJB iniciJiB do o$ coo tJJn@o" #oteB :iniiJ$" JiiJ$" ec@J$" cont$o!e; econe ?ode Be$ odiicJdJB Jt$JB de $ec$BoB Ke e$eoB JdiJnte(
,
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 8/139
A BARRA DE MENU PRINCIPAL
Coo todo ?$o$JJ ?Jd$ão 7indoXB" @ J Jne!J onde eBtão BitJdoB oB menus dJ J?!icJQão" J #J$$J Ke conte oB enB tJ# J$?J ot$JB ?J$teB(
A PALETA DE COMPONENTES
A?!icJtioB o$ientJdoB J o#etoB t$J#J!@J co e!eentoB Ke denoinJoB componentes( No De!?@i"oB co?onenteB encont$J3Be e J ?J!etJ co $iJB 4uias(
Pode3Be coni$J$ J o$denJQão dJB 4uias c!icJndo co o -/0 / do oBe Bo#$e KJ!Ke$ co?onente e c!icJ$ nJ o?Qão P/(
-
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 9/139
0 #JBicJente t$B Jnei$JB de 7 77/ no o$!$ioH
• C!icJ$ J e no co?onente" e c!icJ$ dent$o do o$!$io :não J$$JBtJ$ para o o$;(• C!icJ$ dJB eeB $J?idJente no co?onente deBeJdo(• Se$J$ J tec!J :it e c!icJ$ no co?onente deBeJdo c!icJ$ no o$ $iJB eeB(
NJ te$cei$J o?Qão" o co?onente Be$ travado Jo oBe( PJ$J destrav#<loW c!iKe no cone dJ seta" o ?$iei$o cone dJ ?J!etJ(
A SPEEDBAR
A B?eed#J$ eBt ?oBicionJdJ Jo !Jdo eBKe$do dJ #J$$J ?$inci?J! do De!?@i( PoBBi die$BoB #oteB:coneB; Ke $e?$eBentJ coJndoB ito ti!iJdoB d$Jnte o deBeno!iento(
Pode3Be cBtoiJ$ J B?eed#J$ JdicionJndo o $eti$Jndo J! #otão Jt$JB do #otão di$eito eKJ!Ke$ cone :dJ B?eed#J$; e eBco!@e$ o coJndo :/;( NJ Jne!J J#e$tJ" Be!ecionJ3Be J iJC<7( NeBte oento ?ode3Be J$$JBtJ$ noB doiB BentidoB" ?J$J JdicionJ$ o $eti$J$ #oteB(
OBJECT INSPECTOR
UJ dJB ?J$teBW JiB i?o$tJnteB dJ o$ientJQão J o#eto J ?oBBi#i!idJde de deini$ cJ$Jcte$BticJB ?e$BonJ!iJdJB JoB co?onenteB(
No De!?@i" ti!iJoB J Jne!J o#ect inB?ecto$ ?J$J $eJ!iJ$ eBtJ tJ$eJ(
/
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 10/139
0 J caixa de lista4em9 Ke ?e$iteJ eBco!@J de KJ! co?onente dee$Be$ Be!ecionJdo(
DJB 4uiasH
Properties 8 Deine JB ?$o?$iedJdeB eJ!o$eB do O#eto Be!ecionJdo(
Events 8 Deine KJiB oB eentoB Be$ãoJni?!JdoB ?e!o deBeno!edo$(
A!JB propriedades t$Je o?QeBdie$enciJdJB ?J$J J!te$JQão(
Po$ ee?!oH
Caption 8 Pe$ite J inBe$Qão de JBt$in de cJ$Jcte$eB(
Color 8 Pe$ite J inBe$Qão de doBJ!o$eB prA<deinidos nJ cJiJ de !iBtJe(
BorderIcons 8 TodJ ?$o?$iedJde Ke ?oBBi o BinJ! de Y te J cJ$Jcte$BticJ de oBt$J$ subpropriedades( Dee3Be c!icJ$ no BinJ! de Y ?J$J e?Jndi$ e no BinJ! de 8 ?J$J oc!tJ$(
Icon 8 Ei#e #otão de $eticnciJB :(((; Ke dJ$ o$ie J J cJiJ de di!oo(
OB noeB deinidoB coo J!o$eB dJB ?$o?$iedJdeB nJ o#ect inB?ecto$ Be$ão oB noeB BJdoBnJ conBt$Qão do cZdio e O#ect PJBcJ!(
CODE EDITOR
O edito$ de cZdio $eB?onBe! ?o$ $ece#e$ todJB JB dec!J$JQeB c$iJdJB ?e!o De!?@i e andlers2
c$iJdoB ?e!o deBeno!edo$(
E no J#iente Code Edito$ Ke i?!eentJoB o J!o$ito nJ !inJe O#ect PJBcJ!(
) Co?onente Co#o+o(% MJni?!Jdo$ de eentoB(
)&
O#eto JtJ!Be!ecionJdo
P$o?$iedJde
VJ!o$ JtJ!deBtJ ?$o?$iedJde
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 11/139
NJ Jne!J do edito$ pode @Je$ J ot$J Jne!J denoinJdJ Code Explorer ( É J ?J$te eBKe$dJ dJ Jne!J" onde ?odeoB te$ J o$ientJQão Bo#$e oB o#etoB" ?$ocedientoB" nQeB e c!JBBeB ti!iJdJBnJ J?!icJQão( PJ$J deB!iJ$ o code explorer c!iKe no ?eKeno 6 Jo !Jdo dJ iJ do code editor " ?J$JiBJ!iJ3!o c!iKe co o #otão di$eito dent$o do edito$ e eBco!@J V= E>? o ?e!o tec!JdoCt$!YS@itYE(
UJ cJ$Jcte$BticJ ito i?o$tJnte do Code Explorer Ke KJndo inBe$i$oB co?onenteB no o$"J BJ dec!J$JQão eitJ ?e!o =elpi de Jnei$J JtoticJ(
PodeoB conBide$J$ tJ# o Beinte JtoHTdo o Ke o =elpi eBc$ee$" ?$o#!eJ deleW(
Ao$J" Tdo o Ke voc eBc$ee$ ?$o#!eJ seuW(
))
CodeE?!o$e$
CodeEdito$
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 12/139
P$o#!eJ no Bentido de JtJ!iJQão de cZdio" coo e$eoB JdiJnte( <Jndo J!te$JoB o noe doo#eto" dee3Be ti!iJ$ o eBo noe nJB $otinJB i?!eentJdJB( Ao$J" o Ke o De!?@i dec!J$o" e!eBe encJ$$eJ de JtJ!iJ$(
Pode3Be ?e$BonJ!iJ$ o Edito$ Jt$JB do en T? [ E/ O/7(
CODE INSIGHT
U $ec$Bo Ke Ji Jci!itJ$ noBBJ idJ no oento de deBeno!iento de cZdio o Code Insight
do Code Editor do De!?@i("
E!e JtJ coo ajudante de complemento nto Jo cZdio do deBeno!edo$( Po$ ee?!o" Jo diitJ$ o noe de o#eto Beido de ?onto :(; J#$e3Be J !iBtJe de mAtodos e ?$o?$iedJdeB Ke ?odeBe$ ti!iJdJB neBte o#eto(
EBtJ !iBtJ ?ode Be$ o$denJdJ ?o$ noe" c!icJndo co o botão direito dent$o dJ !iBtJe(
No oento de c@JJdJ de ?$ocedientoB o todoBH
PJ$J o$QJ$ o code insight e dete$inJdJ BitJQão" ti!iJ3BeH• Ct$! Y +J$$J de EB?JQo 3 PJ$J co?!eento de o#etoB BeB todoB e ?$o?$iedJdeB(
)%
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 13/139
• Ct$! Y S@it Y +J$$J de EB?JQo 8 PJ$J co?!eento de ?J$\et$oB(
SPEED MENUS
S?eed MenB o MenB R?idoBW J cJ$Jcte$BticJ de ?ode$oB Be!ecionJ$ coJndoB $?idoBW Jt$JBdo #otão di$eito do oBe( E $iJB BitJQeB : citJdJB Jnte$io$ente; ti!iJoB o #otão di$eito
?J$J eBco!@e$ J! coJndo o JQão(
DESKTOPS TOOLBAR
EBte noo $ec$Bo ?e$ite $JJ$ $ioB !J]otB4 de te!J ?e$BonJ!iJndo Be J#iente de t$J#J!@o(EBtJB o?QeB :!J]otB; ?ode Be$ Jni?!JdJB ?e!oB coneB o ?e!o enH V= @ D/
CONFIGURAÇÕES DO AMBIENTE
O De!?@i ?e$ite Ke oc ?e$BonJ!ie o J#iente Jt$JB do en T? B E777/ O/7(
A!JB o?QeB dJ Jne!J Environment Options Ke J ?$inc?io" ?odeoB !J$ i?o$tJnteBH
4 DiB?oBiQeB dJB Jne!JB no onito$(
)4
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 14/139
Autosave Options
Editor iles 8 G$JJ oB J$KioB onte :(PAS; no oento dJ co?i!JQão" eitJndo ?e$dJ de cZdio ecJBo de t$JJento dJ KinJ( Po$" não ?e$ite co?i!J$ dete$inJdo ?$oeto Be BJ!J3!oJnteB( 8roject =es/top 3 G$JJ J ?oBiQão dJB Jne!JB do ?$oeto JtJ!(
Compiling and running
-inimize on run 8 PJ$J iniiJ$ o De!?@i no oento dJ co?i!JQão e eeito de teBteB( EitJconBeB de Jne!JB(
Form designer
FeG orms as text 8PJ$J to$nJ$ compatível oB J$KioB de deinição de ormul#rio ".=!-$ c$iJdoB no Delphi5 ?J$J o Delphi4" deB!ie eBtJ o?Qão(
TECLAS IMPORTANTES
ecla Fun!"o
F)% A!te$nJ ent$e o code editor e o orm desi4ner.F)) A!te$nJ ent$e o code editor " orm desi4ner e J object inspector.F)& To$nJ o oco ?J$J J Jne!J principal.
F/:RUN; Pe$ite compilar e executar o ?$oeto ?J$J teBteB( EBte ?$oceBBo e$Jautomaticamente o J$Kio (E6E no di$etZ$io onde oi $JJdo o J$Kio de ?$oeto :(DPR;(
CTRL Y F/ Pe$ite compilar o ?$oeto sem eectJ$( IdeJ! ?J$J cone$nciJ de cZdio(
S0IFT Y F)% Pe$ite J!te$nJ$ ent$e oB o$!$ioB do ?$oeto(EKiJ!ente Jo cone V= ! nJ S?eed+J$(
CTRL Y F%Pe$ite deBt$JJ$W o De!?@i e cJBo de teBteB onde oco$$J exceç7es" cooe$eoB JiB JdiJnte(
PROJETO EM DELPHI
O conceito de ?$oeto e De!?@i #JBeJdo e connto de J$KioB neceBB$ioB ?J$J e$J$ JJ?!icJQão(
VJoB deBtJcJ$ oB ?$inci?JiB J$KioBH
Extens"o ipo e descri!"o Cria!"o #ecess$rio para compilar%
(PAS
A$Kio PJBcJ!H o cZdio3ontede J nidJde PJBcJ!" o JnidJde $e!JcionJdJ J o$!$io o J nidJdeinde?endente(
DeBeno!iento Si(
)5
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 15/139
(DPR A$Kio De!?@i P$oect(:Cont cZdio3onte ePJBcJ!(;
DeBeno!iento Si(
(DFM
De!?@i Fo$ Fi!eH J$Kio #in$io :nJ e$Bão ' ?ode Be$ cone$tido ?J$J teto; co J
deBc$iQão dJB ?$o?$iedJdeB de o$!$io e doBco?onenteB Ke e!e cont(
DeBeno!iento Si( Todo o$!$io J$JenJdo e J$KioPAS e e J$Kio DFM(
(DCU
De!?@i Co?i!ed UnitH o$eB!tJdo dJ co?i!JQão de J$Kio PJBcJ!(
Co?i!JQão A?enJB Be o cZdio3onte nãoeBtie$ diB?one!( OB J$KioBDCU ?J$J JB nidJdeB Keoc eBc$ee Bão ?JBBointe$edi$io ?o$tJnto" e!eBto$nJ J co?i!JQão JiB$?idJ(
(+MP"
(ICO"(CUR
A$KioB de #itJ?" cone e
c$Bo$H J$KioB ?Jd$ão do7indoXB BJdoB ?J$JJ$JenJ$ iJenB de #itJ?(
DeBeno!ientoH
IJe Edito$
No$J!ente não" JB e!eB
?ode Be$ neceBB$ioB ete?o de eecQão e ?J$JediQão JdicionJ!(
(CFGA$Kio de coni$JQão coo?QeB de ?$oeto( See!@JnteJoB J$KioB DOF(
DeBeno!iento NeceBB$io J?enJB Be o?QeB decompilação eB?eciJiB o$Jconi$JdJB(
(DOFDe!?@i O?tion Fi!eH J$Kiode teto co JB coni$JQeBJtJiB ?J$J JB o?QeB de ?$oeto(
DeBeno!iento Eiido J?enJB Be o?QeB decompilação eB?eciJiB o$Jconi$JdJB(
(DS1
A$Kio de DeBto?H contino$JQeB Bo#$e J ?oBiQão dJB
Jne!JB do De!?@i" oB J$KioBJ#e$toB no edito$ e ot$oB JBteBdJ $eJ de t$J#J!@o(
DeBeno!iento Não( Voc dee ec!3!o Beco?iJ$ o ?$oeto e noo
di$etZ$io(
(E6E
AKio eecte!H o J?!icJtio7indoXB Ke oc ?$odi(
Co?i!JQãoHLiJQão :!inin;
Não( EBBe o J$Kio Ke ocJi diBt$i#i$( E!e inc!i todJBJB nidJdeB co?i!JdJB"o$!$ioB e $ec$BoB(
(^PA
&ac/up do J$Kio PJBcJ!Pode Be$ JtiJdo o deBJtiJdoJt$JB do Men T? E/O/7 @ 4uia displaB 8 IteH
C$eJte #Jc? i!e(
DeBeno!iento Não( EBBe J$Kio e$JdoJtoJticJente ?e!o De!?@i"KJndo oc BJ!J J noJe$Bão do cZdio3onte(
(TODOA$Kio dJ !iBtJ /3" contendooB itenB $e!JcionJdoB Jo ?$oetointei$o(
DeBeno!iento Não( EBBe J$Kio contnotJB ?J$J oB ?$o$JJdo$eB(
O De!?@i ?oBBi ecJniBo de 4erncia de ar>uivos de projeto ino$Jndo oB principais J$KioBe Be pat( C!iKe e V= P/ M<7<F(
)'
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 16/139
A i$J JciJ ee?!o de ?$oeto iniciJ!" JindJ não BJ!o( O di$etZ$io ?Jd$ão ?J$J c$iJQãodoB J$KioB projects" o#iJente deeoB deini$ nJ $JJQão ?JBtJ e noeB de J$KioB JiBeB?ecicoB(
.PAS E .DPR
PJ$J iBJ!iJ$oB o cZdio onte dJ nidJde :(PAS; e De!?@i #JBtJ Be!ecionJ$oB o code editor :F)%;(PJ$J iBJ!iJ$oB o cZdio onte no J$Kio de ?$oeto :(DPR; #JBtJ Be!ecionJ$oB o en P/ V= S:( O J$Kio de ?$oeto ei#ido e J 4uia no code editor (PJ$J ec@J$ J iJ #JBtJ c!icJ$ co o #otão di$eito e eBco!@e$ close pa4e(
Não ec@e JB Jne!JB Jt$JB do X :#otão ec@J$ do 7indoXB;
SALVAR O PROJETO
Coo ioB Jnte$io$ente" o conceito de ?$oeto e De!?@i Be J Jt$JB de connto de J$KioB( No Men !? do De!?@i teoB KJt$o o?QeB ?J$J J $JJQão do ?$oetoH
OndeH
Comando O&'etivo
SJe SJ!J$ J?enJB J nidJde Be!ecionJdJSJe AB(((
SJ!J$ J nidJde Be!ecionJdJ coo((( ?ode3Be $enoeJ$ o t$ocJ$ de ?JBtJ :d?!icJndo; o J$Kio(
SJe P$oect AB(((SJ!J$ o ?$oeto coo_ ?ode3Be $enoeJ$ o t$ocJ$ de ?JBtJ:d?!icJndo; o J$Kio(
SJe A!! G$JJ todoB oB J$KioB do ?$oeto" e JtJ!iJ3oB cJBo BeJ BJ!oB(
Ao c!icJ$ e SJ!e A!! J#$e3Be J cJiJ de di!oo ?Jd$ão do 7indoXB onde dee Be$ ?$eenc@ido onoe do J$Kio e eBco!@idJ J ?JBtJ ?J$J J$JenJ$ o ?$oeto(
)*
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 17/139
O#Be$e o tt!o dJ Jne!J" ?oiB J?ZB J $JJQão do J$Kio dJ nidJdeW" Be$ ei#idJ J eBJ cJiJ:co tt!o die$ente; ?J$J J $JJQão do J$Kio de ?$oetoW(
ABRIR O PROJETO
O ?$oeto e De!?@i dete$inJdo Jt$JB do J$Kio co etenBão (DPR( DeBtJ o$J" ?J$J J#$i$ ?$oeto" dee3Be J#$i$ o J$Kio (DPR( No en !? do De!?@i ?odeoB ti!iJ$ JiB de J o?QãoH
OndeH
Comando O&'etivo
O?en Pe$ite J#$i$ J$Kio (DPR" (PAS ent$e $?oB de ?$oeto(O?en P$oect((( Pe$ite J#$i$ J$Kio de ?$oeto(Reo?en Pe$ite $eJ#$i$ J$Kio :DPR o PAS; ti!iJdo Jnte$io$ente(
Não J#$J J$Kio (PAS Jt$JB deBtJB o?QeB" J enoB Ke BJi#J o Ke eBt Jendo( OBJ$KioB (PAS dee Be$ J#e$toB Jt$JB do en V= B U7/ J?ZB J J#e$t$J do (DPR(
OPÇÕES DE PROJETO
O De!?@i ?e$ite J coni$JQão de $ioB itenB do BiBteJ Jt$JB do en P/ O/7(
),
EBco!@e$ J ?JBtJ(
NoeJ$ oJ$Kio(
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 18/139
Forms
• MJin o$ 3 NeBtJ iJ ?e$ite J eBco!@J do o$!$io principal dJ J?!icJQão(• AJi!J#!e o$ 3 OB o$!$ioB available :diB?oneiB; e cJBo de c$iJQão e te?o de
eecQão(
Application
• Tit!e 3 Deine noe ?J$J J BJ J?!icJQão die$ente do noe do J$Kio de ?$oeto :(DPR;(• 0e!? i!e 8 Deine o noe do J$Kio de 0e!? :(0LP; JBBociJdo J?!icJQão(• Icon 8 Deine o cone ti!iJdo no J$Kio eecte!( :(E6E;
Compiler
• EBtJB o?QeB ?e$ite eB?eciicJ$ J compilação personalizada o BeJ" cJdJ ?$oeto ?odeBe$ co?i!Jdo co J cJ$Jcte$BticJ(
(in)er
• EBtJB o?QeB inc!e ino$JQeB ?J$J J de?$JQão(
Directories*Conditionals
• NeBtJ iJ ?ode3Be coni$J$ o di$etZ$io de BJdJ ?J$J oB J$KioB e$JdoB ?e!J J?!icJQão(
+ersion In,o
• EBtJB ino$JQeB ?ode Be$ iBJ!iJdJB no 7indoXB Jt$JB do en $?ido do oBe noJ$Kio eecte!(
)-
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 19/139
Pac)ages
• OB ?JcJeB ?e$ite cont$o!e de diBt$i#iQão Jt$JB de DLLWB #BicJB externas Joeecte! ent$e ot$oB $ec$BoB(
A LISTA TO-DO
O De!?@i Jdiciono $ec$Bo de cont$o!ee$enciJento de ?$oeto nJ e$Bão '" denoinJdo o< Do
(ist ( Voc ?ode inc!i$ inc!i$ o odiicJ$ itenB J Be$e eitoB Jt$JB de di!ooB Ke ?ode te$ doiBeBtJdoB" prontos o azer (PJ$J ti!iJ$ J T3D L/ c!iKe no en V= [ T@D L/(
C!iKe co o #otão di$eito dent$o dJ Jne!J e eBco!@J A(O J$Kio e$Jdo ?e!J !iBtJ $JJdo no di$etZ$io do ?$oeto co J etenBão .todo
TIPOS DE COMPONENTES
FJeoB J diBtinQão de dJB cJteo$iJB #BicJB KJndo t$JtJoB doB co?onenteB" BãoHCo?onenteB ViBeiB e Co?onenteB Não3ViBeiB(
+isíveis<Jndo co?onente ?ode Be$ iBto ?e!o B$io e te?o de eecQão( Ee?!o +tton e Edit(
#"o-+isíveisA!nB co?onenteB J?J$ece no o$ d$Jnte o te?o de ?$oeto nJ J?J$nciJ de cone" JB não ?ode Be$ iBtoB ?e!o B$io e te?o de eecQão( Ee?!oH Tie$ e MJinMen(
CONVENÇÃO DE NOMEAÇÃO
A ?$o?$iedJde JiB i?o$tJnte de co?onente J ?$o?$iedJde Fame( É e!J Ke deine o noeinterno co $e!JQão Jo cZdio eBc$ito e O#ect PJBcJ!( PJ$J o$JniJ$ e Jci!itJ$ o ?$oceBBo dedeBeno!ientoJntenQão do BiBteJ" $Jnde ?J$te doB deBeno!edo$eB JdotJ J noenc!Jt$J ?J$J to$nJ$ o cZdio JiB !ee! ?oBBe!(
)/
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 20/139
O De!?@i JdotJ coo noenc!Jt$J ?Jd$ão o noe dJ c!JBBe dJ KJ! o co?onente instanciado e n`e$o c$eBcente de Jco$do co o n`e$o de oco$$nciJ deBte co?onente no o$( Ee?!oH+tton)" +tton%" etc((( Bão co?onenteB instanciados dJ c!JBBe T+tton (
Não o#$iJtZ$iJ J ti!iJQão dJ conenQão de noeB ti!iJdoB neBtJ J?oBti!J" JB A muito importanteJe$ Bo de J conenQão JiB c!J$J ?oBBe!(
Ee?!oH
#ome gerado pelo Delphi O&'etivo Conven!"o
+tton) SJi$ dJ J?!icJQão +tnSJi$ Edit) Rece#e$ noe do B$io EdtNoeLJ#e!) IndicJ$ co?onente Edit L#!Noe
MANIPULANDO COMPONENTES
PodeoB JdicionJ$ oB co?onenteB Jo o$!$io de t$B Jnei$JB" :citJdJB Jnte$io$ente; e ti!iJ$ e$$JentJB e tcnicJB de J!in@Jento ?J$J JentJ$ noBBJ ?$odtiidJde(
PJ$J Be!ecionJ$ co?onente" #JBtJ c!ic3!o J e o nJ o#ect inB?ecto$ Be!ecion3!o nJ cJiJ de!iBtJe(Pode3Be então J$$JBt3!o co o MoBe o ti!iJ$ JB tec!JB CTRLYSETAS ?J$J oe$ o co?onente(AB tec!JB S0IFTYSETAS J!te$J J !J$$J e J!t$J(
PJ$J Be!ecionJ$ JiB de co?onente Jo eBo te?o" ti!iJ3Be J tec!J S0IFT" ?ode3Be oe$ oJ!te$J$ o connto(
O $ec$Bo de arrastar e selecionar :PJint" ?o$ ee?!o; !ido KJndo J #JBe o Fo$(<Jndo inBe$i$oB co?onenteB e ciJ de ot$o o#eto :PJne!" ?o$ ee?!o; neceBB$ioBe$J$ J tec!J CTRL no ?$oceBBo de J$$JBtJ$(
PJ$J deini$ $ioB co?onenteB #JBeJdoB e J ?$o?$iedJde de ot$o" J!te$e o co?onentemodeloW" Be!ecione3o ?$iei$o e co S0IFT Be!ecione oB ot$oB( NJ o#ect inB?ecto$ Be!ecioneJ ?$o?$iedJde J Be$ deinidJ ?J$J todoB 7idt@ :!J$$J" ?o$ ee?!o; e J?e$te J tec!J ESC(
O De!?@i diB?e de J e$$JentJ ?J$J J!io Jo J!in@Jento doB co?onenteB( C!iKe no enV= A?F77/ P<?//
%&
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 21/139
UJ ot$J o?Qão c!icJ$ Bo#$e o co?onente Be!ecionJdo e no S?eed Men :Men $?ido; Be!ecionJ$ A?F7(
.tili/ando o O&'ect Inspector
O o#ect inB?ecto$ J Jne!J i?o$tJntBBiJ nJ ?$o$JJQão o$ientJdJ J o#etoB" Jt$JB de!J Ke ?odeoB J!te$J$ JB ?$o?$iedJdeB e deini$ oB eentoB de Jco$do co o o#etio dJ J?!icJQão(
%)
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 22/139
NJ ?J$te B?e$io$ dJ Jne!J @ J cJiJ de !iBtJe Ke ?e$ite J Be!eQão de co?onenteB inBe$idoB no o$!$io( DJB iJB : 8roperties e Events; Be?J$J JB !iBtJB de ?$o?$iedJdeB e eentoB(
AB ?$o?$iedJdeB Bão deinidJB Jt$JB de ti?oB( PodeoB citJ$ no ee?!o co o o#eto o$H
?ipos :imples
São ti?oB St$in o J!o$eB n$icoB deinidoB Jo diitJ$ J!o$ nJ $ente dJ ?$o?$iedJde( Ee?!oH NJe" CJ?tion" 0ei@t e 7idt@ ent$e ot$oB(
?ipos EnumeradosSão ti?oB deinidoB ?o$ J KJntidJde !iitJdJ de o?QeB Ke dee Be$ ?$eiJente Be!ecionJdJB"não Bi?!eBente deinidJB ?e!o B$io(Ee?!oH C$Bo$" +o$de$St]!e e 7indoXStJte ent$e ot$oB(
?ipo :et A!JB ?$o?$iedJdeB ?ode conte$ `!ti?!oB J!o$eB( U ee?!o J ?$o?$iedJde +o$de$IconB coo BinJ! Y indicJndo B#?$o?$iedJdeB(
?ipos com Editor de 8ropriedadesAB ?$o?$iedJdeB Ke Bão Jco?Jn@JdJB de cone de $eticnciJB :(((; indicJ Ke J Jne!J dedi!oo i$ Ji!iJ$ nJ eBco!@J de Be:B; J!o$:eB;( Ee?!oH Icon(
%%
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 23/139
Manip!an"# E$%n&#'
A iJ Events ?e$ite o deBeno!edo$ deini$ handler 4 e O#ect PJBcJ! ?J$J dete$inJdoeento Ke ?ode Be$ diB?J$Jdo ?e!o B$io o ?e!o BiBteJ(
U eento J a!"o diB?J$JdJ dent$o de J J?!icJQão o$ientJdJ J O#eto( PodeoB citJ$ JB
oco$$nciJB doB ?$inci?JiB eentoB Ke Bão diB?oni#i!iJdoB nJ Jio$iJ doB co?onenteB e De!?@iH
Evento Ocorr0ncia
OnC!ic <Jndo o B$io c!icJ$ J e co o #otão eBKe$do do oBe Bo#$e oco?onente(
OnD#!C!ic <Jndo o B$io d d?!o c!iKe no co?onente co o #otão eBKe$do dooBe(
OnEnte$ <Jndo o co?onente $ece#e o oco(OnEit <Jndo o co?onente ?e$de o oco(On1e]P$eBB <Jndo ?$eBBionJ J `nicJ tec!J de cJ$Jcte$e(
Constru!"o de um manipulador de evento para o o&'eto &utton1
• InBi$J um co?onente #tton no Fo$" não neceBB$io dJ$ nen@J ?$o?$iedJde(• Se!ecione J o#ect inB?ecto$ J iJ events e !ocJ!ie o eento OnClic/ (• D d?!o c!iKe no eB?JQo e #$Jnco do eento(
OB co?onenteB ?oBBe eento <0W ?J$J J conBt$Qão do cZdio" ?o$ iBBo ?oBBe!c!icJ$ no componente dJB eeB ?J$J J#$i$ eento(
5 MJni?!Jdo$ de eento
%4
Uti!ie ooBe e d d?!oc!iKe noeB?JQo e
#$Jnco" ?J$JJ#$i$ o eentodeBeJdo(
Se!ecione JiJ eentB
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 24/139
No Code Editor c$iJdJ J dec!J$JQão do eento nJ c!B!J Interace e J i?!eentJQão do ?$ocediento nJ c!B!J Implementation(
Coo e$eoB co JiB detJ!@eB noB ?$ZioB cJ?t!oB" todo cZdio e o#ect ?JBcJ! de!iitJdo ?e!JB ?J!J$JB $eBe$JdJB a-F7b e a7b(
DeinJ J?enJB JB dJB !in@JB de cZdio dent$o doB de!iitJdo$eB( procedure TForm1.Button1Click(Sender: TObject); begin
Form1.Caption := ‘Curo de !elp"i#; S"o$mea%e(‘&'emplo de cai'a de dilo%o#);end ;
O#Be$e J conBt$Qão do ?$ocediento c$iJdo ?e!o ?$Z?$io De!?@iH
procedure TForm1.Button1Click(Sender: TObject); begin
end ;
Executando a aplica!"oPJ$J eectJ$ o ?$o$JJ e iBJ!iJ$ oB doiB coJndoB codiicJdoB no eento OnClic/ #JBtJ tec!J$ !9o o cone R:7(
COMENT(RIOS
OB coent$ioB no cZdio onte Bão i?o$tJnteB e ?ode Be$ eitoB Jt$JB doB BeinteB B#o!oBH
//Comentário de linha
{ Comentário de bloco }
(*Comentário de bloco *)
%5
Fame do o#eto
Fame do o$Ke deine JnoJ c!JBBe
Eento Jni?!Jdo
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 25/139
VCL
VJoB conBide$J$ J!nB o#etoB e BJB ?$inci?JiB propriedades e mAtodos(
O&'eto 2 Form 3Formul$rio
PJ!etJ 8 StJndJ$t
I?o$t\nciJH É o ?$inci?J! co?onente container ?oiB ?e$ite ?oBicionJ$ oB deJiB co?onenteB e BieBo(É !ite$J!ente J i?!eentJQão do conceito de Jne!JBWdo BiBteJ o?e$JcionJ! 7indoXB(
Propriedades
ActieCont$o! Pe$ite deini$ KJ! o primeiro co?onente J $ece#e$ ,oco JBBi Ke oo$!$io c$iJdo(
A!in A!te$J o J!in@Jento e ?$eenc@iento do o#eto(AtoSc$o!! Pe$ite @J#i!itJ$ JB #J$$JB de $o!Je(AtoSie Dete$inJ Be o cont$o!e Be$ JtoJticJente $edienBionJdo(+o$de$IconB Dete$inJ oB coneB J Be$e ei#idoB nJ #J$$J de tt!o do o$!$io(+o$de$St]!e Deine o eBti!o dJ #o$dJ do o$!$io(
#BDiJ!o 8 +o$dJ não $edienBione!" co e cJiJ de di!oo #BSin!e 8 +o$dJ Bi?!eB e $edienBione!(
#BNone 8 +o$dJ iniBe!" não $edienBione!" Be #oteB de cont$o!e( #BSieJ#!e 8 +o$dJ ?Jd$ão $edienBione!(+o$de$7idt@ Deine J eB?eBB$J dJ #o$dJ(CJ?tion IndicJ o $Zt!o ei#ido ?J$J o co?onente(C!ient0ei@t C!ient7idt@
Deine J J!t$J e !J$$J dJ $eJ c!iente(
Co!o$ Deine J co$ de ndo de co?onente(C$Bo$ IndicJ J iJe ei#idJ ?e!o ?ontei$o do oBe KJndo eBte icJ$ Bo#$e o
o#eto(DeJ!tMonito$
ABBociJ o o$ J onito$ eB?ecico e J J?!icJQão Ke ti!iJ $ioBonito$eB(
EnJ#!ed Deine Be o co?onente eBt @J#i!itJdo o não(Font Pe$ite cont$o!J$ oB Jt$i#toB do teto ei#ido e co?onente(Fo$St]!e Dete$inJ o eBti!o do o$!$io(
BNo$J! 8 DeiniQão ?Jd$ão do o$!$io(BMDIC@i!d 8 O o$!$io Be$ J Jne!J3i!@J de J J?!icJQão MDI(BMDIFo$ 8 O o$!$io Be$ o o$!$io3?Ji de J J?!icJQão MDI(BStJ]OnTo? 8 O o$!$io ?e$Jnece sobre todoB oB ot$oB o$!$ioB do ?$oeto" eceto JKe!eB Ke tJ# t J ?$o?$iedJde Fo$St]!e iJ! JBStJ]OnTo?(
%'
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 26/139
0ei@t Deine J J!t$J do o#eto(0e!?Contet Deine o tZ?ico do J$Kio @e!? Ke Be$ ei#ido Jo ?$eBBionJ$ J tec!J F)(0e!?Fi!e Deine J$Kio de @e!? eB?ecico(0int Pe$ite ei#i$ teto de J!io no oento e Ke o ?ontei$o do oBe
?e$Jnece Bo#$e o cont$o!e(0o$Sc$o!!+J$ Deine o co?o$tJento de J #J$$J de $o!Je @o$iontJ!(
Icon Deine o cone Ke Be$ BJdo ?e!o o$!$io(1e]P$eieX Deine Be o o$!$io dee o não $eB?onde$ J ?$eBBionJento de tec!J"Jt$JB do eento On1e]P$eBB" ?o$ ee?!o(
Let Deine J coo$denJdJ dJ et$eidJde eBKe$dJ de co?onente(Men Pe$ite eBco!@e$ ent$e JiB de co?onente MJinMen(N< Deine o noe interno Ke identiicJ o co?onente dent$o dJ J?!icJQão(Po??Men Deine o co?onente Po??Men J Be$ ti!iJdo ?e!o o#eto(PoBition Pe$ite deini$ o tJJn@o e ?oBiQão de o$!$io no oento e Ke
e!e J?J$ece nJ BJ J?!icJQão(S@oX0int Deine Be J Bt$in de J!io dee o não Be$ ei#idJ KJndo o B$io
Jnt o ?ontei$o do oBe Bo#$e cont$o!e(
TJ A ?$o?$iedJde TJ J J$ie! do ti?o Lonint Ke o De!?@i co!ocJ diB?oBiQão do B$io" Ke ?ode Jt$i#i$ o BiniicJdo JiB coneniente(
To? Deine J coo$denJdJ dJ et$eidJde B?e$io$ de co?onente(Ve$tSc$o!!+J$ Deine o co?o$tJento de J #J$$J de $o!Je e$ticJ!(ViBi#!e Deine Be o co?onente J?J$ece o não nJ te!J(7idt@ Deine J !J$$J do o#eto(7indoXMen Pe$ite deini$ KJ! o en $eB?onBe! ?o$ Jni?!J$ JB Jne!JB3i!@JB de
J J?!icJQão MDI(7indoXStJte Deine o eBtJdo de ei#iQão de o$!$io(
6todos
S@oX Ei#e o o$!$io de Jni?!JQão não3odJ!(S@oXModJ! Ei#e o o$!$io de Jni?!JQão odJ!(C!oBe Pe$ite ec@J$ o o$!$io(
O&'eto 2 Button 3Bot"o
PJ!etJ 8 StJndJ$t
I?o$t\nciJH É doB o#etoB JiB ti!iJdoB ?J$J coni$J$ e diB?J$J$ $otinJB JBBociJdJB(
%*
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 27/139
Propriedades
Action Ree$enciJ J JQão deinidJ e o#eto TActionLiBt(Anc@o$B Pe$ite Jnte$ J ?oBiQão $e!JtiJ do o#eto Jo o#eto ?J$enteW KJndo eBte
$ediencionJdo(C<7? ABBociJ o eento OnC!ic do o#eto Jo ?$eBBionJento dJ tec!J EBc(D<:?/ ABBociJ Jo eento OnC!ic do o#eto Jo ?$eBBionJento dJ tec!J Ente$(
ModJ!ReB!t P$o?$iedJde ti!iJdJ ?J$J ence$$J$ J eecQão de o$!$io ModJ! KJndoBe!ecionJdo J!o$ die$ente de $None(PJ$ent((( AB ?$o?$iedJdeB 8arent ?e$ite Ke o co?onente $ece#J J eBJ
o$JtJQão do o#eto ?$o?$iet$io(TJ#O$de$ Deine J o$de nJ ?JBBJe de oco no oento de ?$eBBionJento dJ tec!J
TA+(TJ#Sto? Deine Be o oco p#ra no co?onente(
6todos
SetFocB EniJ o oco do XindoXB ?J$J o co?onente(
O&'eto 2 Edit 3Caixa de edi!"o
PJ!etJ 8 StJndJ$t
I?o$t\nciJH U doB ?$inci?JiB co?onenteB ?J$J J ent$JdJ de dJdoB do B$io do BiBteJ(
Propriedades
AtoSe!ect Deine Be o teto ei#ido ?e!o cont$o!e Be$ Be!ecionJdo KJndo eBte$ece#e$ o oco dJ J?!icJQão(
AtoSie PJ$J co?onenteB TEdit J ?$o?$iedJde dete$inJ Be J J!t$J do cont$o!eBe$ $edienBionJdJ KJndo o tJJn@o dJ onte J!te$Jdo(
+o$de$St]!e Dete$inJ o ti?o dJ #o$dJ do co?onente(C@J$CJBe Dete$inJ o Be ti?o dJ onte Be$ Ji Bc!J" in`Bc!J o no$J!(0ideSe!ection Deine Be o teto ?e$de J Be!eQão Jo ?e$de$ o oco(MJ!ent@ Deine !iite ?J$J J inBe$Qão de cJ$Jcte$eB(PJBBXo$dC@J$ Deine KJ! cJ$Jcte$e Be$ BJdo ?J$J oc!tJ$ o teto inBe$ido no
co?onente(T>/ Pe$ite Jni?!J$ oB cJ$Jcte$eB inBe$idoB no co?onente ?e!o B$io(
6todos
C!eJ$ Li?J o conte`do dJ ?$o?$iedJde tet(SetFocB EniJ o oco do XindoXB ?J$J o co?onente(
%,
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 28/139
O&'eto 2 (a&el 378tulo de orienta!"o
PJ!etJ 8 StJndJ$t
I?o$t\nciJH O$ientJ$ o B$io eBco!@J deco?onenteB #e coo BJ ti!iJQão(
Propriedades
A!inent Deine o J!in@Jento dJ Bt$in nJ $eJ do co?onente(AtoSie PJ$J co?onenteB TD+Tet e TLJ#e!" eBtJ ?$o?$iedJde deine Be o cont$o!e
Be$ JtoJticJente $edienBionJdo ?J$J JcoodJ$ o teto(FocBCont$o! Deine KJ! o co?onente $ece#e$ oco KJndo o B$io Be!ecionJ$ J
co#inJQão de tec!JB Jce!e$Jdo$JB :JtJ!@o; Be eiBti$(LJ]ot Deine o J!in@Jento e$ticJ! do teto nJ $eJ do co?onente(S@oXAcce!C@J$ Deine Be o cJ$Jcte$ >W Be$ !ite$J! o tec!J de Jce!e$Jdo$J :JtJ!@o;(T$JnB?J$ent Deine Be o ndo do co?onente Be$ t$JnB?J$enteW o não(7o$d7$J? Deine Be o teto ?ode$ ti!iJ$ o $eto$no JtoticoW e cJBo de
!t$J?JBBJ$ J !J$$J deinidJ e Be J ?$o?$iedJde @uto:ize eBtie$ J!BJ(
MAIS SOBRE A PALETA STANDART
O&'eto 2 emo 3emorando
PJ!etJ 8 StJndJ$t
I?o$t\nciJH Pe$ite o B$io ent$J$ co dJdoBdo ti?o TSt$inB" co?J$J3Be ncionJ!idJdedo BotXJ$e #!oco de notJB(
Propriedades
L7 P$o?$iedJde do ti?o TSt$inB Ke cont JB !in@JB de teto doco?onente(
MJLent@ Deine o !iite io de cJ$Jcte$eB no co?onente e BJ ?$o?$iedJdeLineB(
ReJdOn!] Deine Be o co?onente do ti?o Boente !eit$J(Sc$o!!+J$B Deine Be o co?onente ?ode t$J#J!@J$ co #J$$JB de $o!Je(7JntRet$nB Deine Be J tec!J ENTER Be$ ti!iJ ?J$J Ke#$J de !in@JW(
%-
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 29/139
7JntTJ#B Deine J tec!J TJ# coo tJ#!JQão o dJnQJ de oco( CJBo J!Bo ?ode3Be ti!iJ$ CTRLYTA+ ?J$J ?$odi$ o eeito deBeJdo(
6todos
LoJdF$oFi!e Pe$ite cJ$$eJ$W J$Kio ?J$J J ?$o?$iedJde LineB(SJeToFi!e Pe$ite BJ!J$ o conte`do dJ ?$o?$iedJde LineB e J$Kio
eB?eciicJdo(
O&'eto 2 Chec)Box 3Caixa de veri,ica!"o
PJ!etJ 8 StJndJ$t
I?o$t\nciJH Pe$ite e$iicJ$ o?QeB #oo!enJB ?$3deinidJB o $e3deinidJB ?e!o B$io(
Propriedades
A!!oXG$J]ed Deine cJBo e$dJdei$o" t$B eBtJdoB ?oBBeiB ?J$J o c@ec#oH c@eced:!iJdo;" nc@eced :deB!iJdo; e $J]ed :?J$ciJ!;( CJBo J!Bo" doiBeBtJdoBH c@eced :!iJdo; e nc@eced :deB!iJdo;(
C Deine Be o co?onente eBt !iJdo o não" cJBo ten@J J?enJB doiBeBtJdoB(
StJte Pe$ite deini$ t$B eBtJdoB Be A!!oXG$J]ed e$dJdei$o(
O&'eto 2 7adioButton 3Bot"o de 9radio:
PJ!etJ 8 StJndJ$t
I?o$t\nciJH Pe$ite eBco!@e$ ent$e $?o" pelo menos J o?Qão(
Propriedades
C Deine Be o co?onente eBt !iJdo o deB!iJdo(
%/
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 30/139
O&'eto 2 (istBox 3Caixa de listagem
PJ!etJ 8 StJndJ$t
I?o$t\nciJH Pe$ite o B$io ent$J$ oJni?!J$ J !iBtJ de dJdoB(
Propriedades
I/ Deine J !iBtJ de St$inB Ke J?J$ece no co?onente(M!tiSe!ect Pe$ite Be!ecionJ$ $ioB itenB :St$inB; no co?onente(So$ted Deine Be J !iBtJ de St$inB Be$ o$denJdJ o não(
6todosC!eJ$ Pe$ite !i?J$ o conte`do dJ ?$o?$iedJde IteB(LoJdF$oFi!e Pe$ite cJ$$eJ$W J$Ko ?J$J J ?$o?$iedJde IteB(SJeToFi!e Pe$ite BJ!J$ o conte`do dJ ?$o?$iedJde IteB ?J$J J$Kio(
O&'eto 2 Com&oBox 3Caixa de listagem em ,ormato de cortina
PJ!etJ 8 StJndJ$t
I?o$t\nciJH Pe$ite o B$io ent$J$ o
Jni?!J$ J !iBtJ de dJdoB(
Propriedades
I/ Deine J !iBtJ de St$inB Ke J?J$ece no co?onente(So$ted Deine Be oB dJdoB Be$ão o$denJdoB(T>/ Deine o teto JtJ! dJ Co#o#o(
6todos
C!eJ$ Pe$ite !i?J$ o conte`do dJ ?$o?$iedJde IteB(LoJdF$oFi!e Pe$ite cJ$$eJ$W J$Ko ?J$J J ?$o?$iedJde IteB(SJeToFi!e Pe$ite BJ!J$ o conte`do dJ ?$o?$iedJde IteB ?J$J J$Kio(
4&
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 31/139
O&'eto 2 ;roupBox 3Caixa de agrupamento
PJ!etJ 8 StJndJ$t
I?o$t\nciJH Pe$ite J$?J$ co?onenteB eeBtJ#e!ece$ tt!o nJ ?$o?$iedJde CJ?tion(
Propriedades
A!in Peite deini$ J!in@Jento no o#eto ?$o?$iet$io(CJ?tion Deine o teto ino$Jtio nJ ?J$te B?e$io$ do co?onente(
O&'eto 7adio;roup 3;rupo de &ot<es 9radio:
PJ!etJ 8 StJndJ$t
I?o$t\nciJH Pe$ite eBtJ#e!ece$ $?o de #oteB de $Jdio e Jni?!J3!oB ?e!J ?$o?$iedJde IteInde(
Propriedades
I/ Deine oB itenB diB?oneiB Jo B$io(I/I7> Deine KJ! doB itenB eBt Be!ecionJdo(Co!nB Deine o n`e$o de co!nJB ?J$J o$JniJQão doB co?onenteB(
O&'eto 2 Panel 3Painel
PJ!etJ 8 StJndJ$t
I?o$t\nciJH Pe$ite J$?J$ ot$oB o#etoB eeBtJ#e!ece$ eeito iBJ! nJB J?!icJQeB(
4)
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 32/139
Propriedades
A!in Deine o J!in@Jento do co?onente e $e!JQão Jo Be ?$o?$iet$io(+ee!((( Deine J cJ$Jcte$BticJ dJB #o$dJB :inte$nJ e ete$nJ; #e coo BJ eB?eBB$J(+o$de$St]!e Deine o ti?o dJ #o$dJ(
O&'etos 2 ainenu e Popupenu 3enu principal e enu r$pido
PJ!etJ 8 StJndJ$t
I?o$t\nciJH Deine oB MenB ti!iJdoB ?e!oB$io ?e!o #otão eBKe$do :MJinMen; o ?e!o #otão di$eito :Po??Men; do MoBe(
Propriedades
IteB Deine noo ite de Men(IJeB Deine o#eto do ti?o IJeLiBtW(
O o#eto MJinMen ?e$ite J conBt$Qão de sub<menus Jt$JB de Be construtor c!icJndo noite co o #otão di$eito e eBco!@endo J o?Qão Create submenu( Pode3Be tJ# ec!i$ o inc!i$ iteB J!eJto$iJente Jt$JB do #otão di$eito no ite deBeJdo(PJ$J c$iJ$ Be?J$Jdo$ de enB" ti!ie o o?e$Jdo$ de B#t$JQão :3; e coni$e co J
tec!J Ente$(
A LINGUAGEM OBJECT PASCAL
Po$ JiB $ec$BoB $icoB Ke JB !inJenB o$ientJdJB J o#etoB ?oBBJ" e dete$inJdo oentonão @ coo i$ do c+di4o( A ?$o$JJQão e De!?@i deinidJ Jt$JB dJ LinJe O#ectPJBcJ!" J etenBão do PJBcJ! ?$o?oBto ?o$ Ni!JB 7i$t@(
ConBide$JoB J J?!icJQão e De!?@i #JBeJdJ e connto de J$KioB" :citJdoBJnte$io$ente (DPR (PAS e (DFM; #BicoB( VJoB eJinJ$ J!nB J$KioB de ndJentJ!i?o$t\nciJH
O M)DULO .DPR
Todo ?$o$JJ e O#ect PJBcJ! ?oBBi J$Kio (DPR" conBide$Jdo coo ar>uivo de projeto" o Beo$Jto co?oBto iniciJ!ente dJ Beinte deiniQãoH
program roject1;
uses
4%
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 33/139
Form* +nit1 in ,+nit1.pa, -Form1;
{$R *.RES}
begin
/pplication.0nitialie; /pplication.CreateForm(TForm1* Form1);
/pplication.2un;end .
A ?J!J$J pro4ram deine o noe do ?$o$JJ" eBte noe Be$ J!te$Jdo KJndo o$ $JJdo oJ$Kio (DPR do ?$oeto( NJ c!B!J uses" Bão !iBtJdJB JB units BJdJB ?e!o Zd!o ?$inci?J!( AB units :Ke Be$ão iBtJB JdiJnte;Bão $eB?onBeiB ?e!J cJ?JcidJde de diidi$ o ?$o$JJ e J iBão modularizada( E cJdJ "dec!J$JoB J B$ie de o#etoB :nQeB" J$ieiB" ?$ocediento" etc(((; Ke ?ode Be$ BJdoB ?o$ ot$JB units e ?e!o Zd!o ?$inci?J!(E BeidJ e connto de coJndoB :denoinJdo comando composto; Jt$JB de doiBde!iitJdo$eB &egin e end (
AS UNITS
U ?$o$JJ e O#ect PJBcJ! conBtitdo de Zd!o ?$inci?J! :(DPR; e de J o JiBnidJdeB de co?i!JQão :(PAS;( O co?i!Jdo$ e$J J$Kio co o cZdio o#eto co$$eB?ondente" econBide$J o eBo noe do J$Kio (PAS co J etenBão (DCU(
AB units Bão entidJdeB inde?endenteB" o BeJ" no oento dJ c$iJQão não @ nc!o !Zico :neBico; ent$e J unit e ?$o$JJ ?$inci?J! Ke J ti!iJ( Co eBtJ cJ$Jcte$BticJ" ?odeoB ti!iJ$ JB units e KJ!Ke$ ?$oeto(A ?$inci?J! cJ$Jcte$BticJ do conceito de unit Ke ?oBBi#i!itJ eBt$t$J$ o ?$o$JJ e Zd!oB
ncionJiB" co cJdJ unit ?$oendo connto de nQeB e ?$ocedientoB( CJdJ o$!$ioco$$eB?onde J J unit ( MJB" ?odeoB c$iJ$ units inde?endenteB" não JBBociJdJB J orm(
Se conBide$J$oB o cZdio J unit co co?onente &utton e Jni?!Jdo$ de eento" te$eoBo Beinte cZdioHunit +nit1;
interface
uses 3indo$* 4ea%e* S5+til* Clae* 6rap"ic* Control* Form*!ialo%* StdCtrl* &'tCtrl* ComCtrl;
type TForm1 = cla(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private
- ri7ate declaration public
- ublic declaration end ;
var
44
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 34/139
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject); begin
Form1.Caption := ,Curo de !elp"i,; S"o$mea%e(,&'emplo de cai'a de dilo%o,);end ;
end .
UJ unit ?oBBi cinco ?J$teBH
Ca&e!alhoCont J ?J!J$J $eBe$JdJ unit BeidJ de identiicJdo$ Ke o noe dJ unit ( EBte noe o eBo noe do J$Kio co etenBão (PAS
unit +nit1;
Inter,aceCont tdo o Ke J unit e?o$tJH conBtJnteB" ti?oB" J$ieiB" ?$ocedientoB" nQeB" etc((( NJdec!J$JQão doB ?$ocedientoB e nQeB Ke J unit e?o$tJ" dee conBtJ$ J?enJB o cJ#eQJ!@o:noe e ?J$\et$oB;( A dec!J$JQão co?!etJ icJ nJ ?J$te dJ implementação(
interfaceuses 3indo$* 4ea%e* S5+til* Clae* 6rap"ic* Control* Form*!ialo%* StdCtrl* &'tCtrl* ComCtrl;
type
TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private
- ri7ate declaration public
- ublic declaration end ;var
Form1: TForm1;
Implementa!"oCont J deiniQão co?!etJ dJB unç7es e procedimentos Ke conBtJ nJ interace( Se nJ
i?!eentJQão Bão BJdoB identiicJdo$eB deinidoB e ot$J unit " o noe deBtJ ot$J unit deeBe$ inc!do nJ !iBtJ de units dJ c!B!J uses dJ i?!eentJQão(
implementation{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject); begin Form1.Caption := ,Curo de !elp"i 8 S&9/C 46,; S"o$mea%e(,&'emplo de cai'a de dilo%o,);end ;
45
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 35/139
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 36/139
SJ!!int 34%,*-((4%,*, )*Lonint 3%)5,5-4*5-(( %)5,5-4*5, 4%Int*5 3%*4((%*43) *5+]te &((%'' - #itB" Be BinJ!7o$d &((*''4' )* #itB" Be BinJ!LonXo$d &((5%/5/*,%/' 4% #itB" Be BinJ!
ipos de n=meros 7eais
ipo Faixa de +alores
ReJ! %(/)&E34/(()(,)&E4-Sin!e )(')&E35'((4(5)&E4-Do#! '(&)&E34%5(()(,)&E4&-Etended 4(5)&E35/4%(()())&E5/4%Co? 3%)&E*4Y)((%)&E*43)C$$enc] 3/(%%)&E)5((/(%%)&E)5
ipos de vari$veis &ooleanas
ipo Faixa de +alores+oo!eJn FJ!Be o T$e+]te+oo! 7o$d+oo! Lon+oo!
ipos de vari$veis de caracteres
ipo +alores
C@J$ Pe$ite J$JenJ$ cJ$Jcte$e ASCII(S@o$tSt$in Pe$ite J$JenJ$ J cJdeiJ de Jt %'' cJ$Jcte$eB(
St$in Pe$ite J$JenJ$ J cJdeiJ i!iitJdJW de cJ$Jcte$eB(ipo gen6rico 3+ariantO#etoB J$iJnt Bão eBBenciJ!ente J$ieiB sem tipo ?odendo JBBi$ die$enteB ti?oB"JtoJticJente( EBtJ JntJe J?J$ente te J cJ$Jcte$BticJ de Be$ ineiciente Be ti!iJdJindiBc$iinJdJente(
4*
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 37/139
FUNÇÕES DE CONVERSÃO E MANIPULAÇÃO
OB o#etoB do De!?@i ?J$J ent$JdJ eo ei#iQão de dJdoB ti!iJ ?$o?$iedJdeB do ti?o St$in" JB ?$o?$iedJdeB Tet e CJ?tion Bão #onB ee?!oB( O ?$o#!eJ oco$$e KJndo tentJoB $eJ!iJ$ c!c!oBJteticoB co oB dJdoB Ke dee Be$ Jni?!JdoB ?o$ eBtJB ?$o?$iedJdeB(
DeBtJ Jnei$J ?$eciBJoB de nQeB ?J$J cone$te$ dJdoB St$in e ti?oB Intei$oB o ReJiB o DJtJB" ?o$ ee?!o(
Fun!"o O&'etivo
St$ToInt:conBt SH St$in; Cone$te dJdo St$in e ti?o Intei$o(IntToSt$:J!eH Intee$; Cone$te dJdo Intei$o e ti?o St$in(St$ToF!oJt:conBt SH St$in; Cone$te dJdo St$in e ti?o Ponto F!tJnte(F!oJtToSt$:VJ!eH Etended; Cone$te dJdo Ponto F!tJnte e ti?o St$in(DJteToSt$:DJteH TdJteTie; Cone$te dJdo TDJteTie e St$in(DJteTieToSt$:DJteTieHTDJteTie;
Cone$te dJdo TDJteTie e St$in(
St$ToDJte :conBt SH St$in; Cone$te dJdo St$in e ti?o TDJteTie(St$ToDJteTie:conBt SHSt$in;
Cone$te dJdo St$in e ti?o TDJteTie
Fo$JtF!oJt:conBt Fo$JtHBt$in VJ!eH Etended;HBt$in
Pe$ite o$JtJ$ ti?o ?onto !tJnte $eto$nJndo J Bt$in(&dit<.Te't := FormatFloat(,*.>>,*oma);
Sendo BoJ J J$ie! $eJ!(
O ti?o TDJteTie inte$nJente Jni?!Jdo coo ti?o Ponto F!tJnte(
E*PRESSÕES L)GICAS
São e?$eBBeB Ke $eto$nJ J!o$ booleano :J!Bo o e$dJdei$o;(Operador Opera!"o
Not NeJQãoAnd E !ZicoO$ OU !Zico6o$ OU E6CLUSIVO !Zico
O o?e$Jdo$ not n$io" ?o$ ee?!oH if not (? @) then
DeeoB BJ$ ?J$nteBeB Jo co?J$J$oB e?$eBBeB !ZicJB" ?o$ ee?!oH
if (? @) or (3 A) then
COMANDO IF
O comando condicional i, pode ser composto de uma ou mais condiç7es de processamento porexemploJ
• if (/ B) then
B := B 1; // ou !C(")#
4,
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 38/139
• if (/ B) then B := B 1else / := / 8 1; // ou DEC()#
• if (/ B) then begin B := B 1;
? :% B /; end else begin / := / 8 1;
A :% A B; end ;
No `!tio ee?!o ?J$J $e?$eBentJ$ #!oco de coJndoB e cJBo e$dJdei$o o J!Bo" ti!iJ3Be doBde!iitJdo$eB &egin e end (O coJndo i, <then<else conBide$Jdo coo `nico" ?o$tJnto" não @ ?onto e $!J :;W;JnteB dJ
?J!J$J $eBe$JdJ ?(
COMANDO CASE
O coJndo case..o oe$ece J J!te$nJtiJ ?J$J coJndoB i, <then<else co $JndeW n`e$o deteBteB( Po$ ee?!oH
case e5 of
‘/#..‘#: Dabel1.Caption := ‘Detra#; ‘>#..‘E#: Dabel1.Caption := ‘9mero#; ‘#* ‘8#* ‘G#* ‘H#: Dabel1.Caption := ‘Operador#
else Dabel1.Caption := ‘Caracter epecial#;end; //&im do ca'e
COMANDO REPEAT
O coJndo repeat..until J o?Qão ?J$J eBt$t$JB de $e?etiQão( A $Jnde die$enQJ co o coJndoGile o Jto do coJndo repeat Be$ eectJdo ?e!o enoB J e(
repeat ? := ? 1; 09C(@*I); //euiale a +% , -#
!&C(/+?*<);until ? = <>>;
COMANDO +HILE
O coJndo Gile..do tJ# ?e$ite J conBt$Qão de eBt$t$JB de $e?etiQão" co die$enQJ de nãoeectJ$ o !JQo no incio do teBte !Zico(
while ? = <>> do
4-
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 39/139
begin ? := ? 1; 09C(@*I); !&C(/+?*<); end;
COMANDO FOR
O coJndo or..do eBtJ#e!ece J eBt$t$J de $e?etiQão conBide$Jndo cont$o!e iniciJ! e inJ!( PodeBe$ conBt$do de Jnei$J c$eBcente o dec$eBcente(
for i:=> to J>> do
Dabel1.Caption := 0ntToStr(i);
for i:=J>> downto 1>> do begin Dabel1.Caption := 0ntToStr(i); &dit1.Caption := 0ntToStr(i); end ;
COMANDO BREAK
O coJndo brea/ BJdo ?J$J J!te$J$ o !o no$J! de coJndoB de $e?etiQão" o cont$o!e deBiJdo ?J$J o coJndo Beinte Jo coJndo $e?etitio(Krae := &dit1.Te't;for i:=1 to len%t"(Krae) do begin iK KraeL0M = ,/, t"en break;
au' := au' KraeL0M; end;
Dabel1.caption := au'; //abel recebe o conteudo de &ra'e at0 a letra 12
COMANDO +ITH
O coJndo Git..do BJdo ?J$J J#$eiJ$ J $ee$nciJ J cJ?oB de $eiBt$o" o J todoB" e propriedades de o#eto(
begin Form1.Caption := ‘Senac#; Form1.Color := ClBlue; Form1.Top := EJ; end;
//Euialente 3+
with Form1 do begin
Caption := ‘Senac#; Color := ClBlue; Top := EJ; end;
4/
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 40/139
PROCEDURES E FUNÇÕES
P$ocedientoB e nQeB Bão #!ocoB de cZdio :$otinJB; e O#ect PJBcJ! Ke ?ode o não $ece#e$ ?J$\et$oB :J!o$eB; ?J$J ?$oceBBJento( UJ e deinidJ J $otinJ ?ode3Be JtiJ3!J de die$BJB ?J$teBdo ?$o$JJ Jt$JB de Be noe(
A $Jnde die$enQJ ent$e JB o$JB de deiniQão deBtJB $otinJB :Be ?$ocedientoB o nQeB; eBt noJto de KeH
• 8rocedimento 8 NÃO $eto$nJ J!o$(• !unção 8 Reto$nJ J!o$(
DECLARAÇÃO E ATIVAÇÃO DE PROCEDIMENTO
PodeoB dec!J$J$ ?$ocediento dJ Beinte Jnei$J Jnei$JHDent$o dJ c!B!J </ ou :-?" deinJ J dec!J$JQão do ?$ocedientoH
procedure Soma(?* A: Strin%);
Co o c$Bo$ ?oBicionJdo nJ eBJ !in@J" ?$eBBioneH CTRLSHI!TC e ?e$ce#J Ke o ?$Z?$io De!?@i $eJ!iJ J conBt$Qão do ?$ocediento dent$o dJ c!B!J ?7/</7( EBBe$ec$Bo c@JJdo C?< C?/7. NoBBJ tJ$eJ J?enJB deini$ o cZdio J Be$ $eJ!iJdo ?e!o ?$ocediento(
procedure TForm1.Soma(?* A: Strin%); begin
Dabel1.Caption := FloatToStr(StrToFloat(?)StrToFloat(A));end;
S?ondo J eiBtnciJ de doiB co?onenteB Edit " co?onente &utton e co?onente )abel " eBtecZdio ?ode Be$ JtiJdo dJ Beinte o$JH
procedure TForm1.Button1Click(Sender: TObject); begin
Soma(&dit1.Te't* &dit<.Te't);end;
DECLARAÇÃO E ATIVAÇÃO DE FUNÇÕES
A conBt$Qão de nQeB te o eBo $Jciocnio die$indo nJ cJ$Jcte$BticJ de $eto$no dJ nQão(
PodeoB dec!J$J$ ?$ocediento dJ Beinte Jnei$J Jnei$JHDent$o dJ c!B!J </ ou :-?" deinJ J dec!J$JQão dJ nQãoH
function Subtrai(?* A: Strin%): Strin%;
O#Be$e Ke Jo$J" de?oiB doB ?J$\et$oB @ ti?o de deiniQão de $eto$no dJ nQão:St$in;(
5&
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 41/139
Pode3Be ti!iJ$ J eBJ dicJ de conBt$Qão do ?$ocediento" nJ !in@J dJ dec!J$JQão tec!eCTRLSHI!TC :C!JBB Co?!etion; e ?e$ce#J Ke o ?$Z?$io De!?@i $eJ!iJ J conBt$Qão dJ nQãodent$o dJ c!B!J ?7/</7(
NoBBJ tJ$eJ J?enJB deini$ o cZdio J Be$ $eJ!iJdo ?e!J nQão(
function TForm1.Subtrai(?* A: Strin%): Strin%; begin reult := FloatToStr(StrToFloat(?)8StrToFloat(A));end ;
A ?J!J$J $eBe$JdJ result o $ec$Bo BJdo ?e!J O#ect PJBcJ! ?J$J eBtJ#e!ece$ o $eto$nodJ $otinJ( Não Be dee dec!J$J$ eBtJ J$ie!" e!J dec!J$JdJ no oento dJ ti!iJQão dJ ,un!"o(S?ondo J eiBtnciJ de doiB co?onenteB Edit " W co?onente &utton e co?onente )abel " eBtJ nQão ?ode Be$ JtiJdJ dJ Beinte o$JH
function TForm1.Button<Click(Sender: TObject); begin
Dabel1.Caption := Subtrai(&dit1.Te't* &dit<.Te't);end;
NeBte cJBo" o LJ#e! $ece#e o :?/ de B#t$Ji" o BeJ" J B#t$JQão doB dJdoB ?JBBJdoB noB ?J$\et$oB(
DECLARAÇÕES CRIADAS AUTOMATICAMENTE PELO DELPHI
Se oc #o o#Be$Jdo$" ?e$ce#e Ke o De!?@i tJ# e$J JB dec!J$JQeB e BeB $eB?ectioB ?$ocedientoB KJndo oc deBeJ Jni?!J$ dete$inJdo eento(
CAI*AS DE DI(LOGO
PodeoB ti!iJ$ J!nB ti?oB de cJiJB de di!oo ?$3deinidJB ?e!o De!?@i Jci!itJndo e ito odeBeno!iento ?e!J e$$JentJH
>ho?essage
A cJiJ de di!oo S@oXMeBBJe dec!J$JdJ inte$nJente ?e!o De!?@i deBtJ o$JH procedure S"o$4ea%e(cont 4%: trin%);
Onde o ?J$\et$o MB dJdo St$in( Ee?!oH
S"o$4ea%e(‘+m te'to ou propriedade trin% er e'ibida.#);
5)
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 42/139
essageDlg
A cJiJ de di!oo MeBBJeD! dec!J$JdJ inte$nJente ?e!o De!?@i deBtJ o$JH
function 4ea%e!l%(cont 4%: trin%; !l%T5pe: T4%!l%T5pe;Button: T4%!l%Button; NelpCt': Don%int): 3ord;
OndeH
conBt MBH Bt$in É J conBtJnte Bt$in o ?$o?$iedJde deBte ti?o(
D!T]?eH TBD!T]?e
t7J$ninContAm um ;cone exclamação amarelo.tE$$o$ ContAm um ;cone vermelo de parada.tIno$JtionContAm um ;cone i azul.tConi$JtionContAm uma interro4ação verde.tCBto Fão contAm &it-ap.
+ttonBH TMBD!+ttonB#eB #No #O1 #CJnce! #A#o$t #Ret$]#Ino$e #A!! #NoToA!! #eBToA!! #0e!?
0e!?CtH Lonint Deine n`e$o ?J$J o @e!? de conteto( Po$ ?Jd$ão" e$o &W(
O retorno dJ nQão o ti?o do #otão coo mr
DeBtJ Jnei$J ?ode3Be Je$ teBteB !ZicoB coo no ee?!oH
if 4ea%e!l%(‘!eeja air#* mtConKirmation* LmbAe* mb9oM* >)=mrAe then
Application1essageBox
UJ ot$J cJiJ de di!oo o todo MeBBJe+o do o#eto A??!icJtion( EBtJ nQão eBt deinidJdJ Beinte Jnei$JH
function 4ea%eBo'(cont Te't* Caption: C"ar; Fla%: Don%int): 0nte%er;
OndeH
conBt Tet É J conBtJnte Bt$in o ?$o?$iedJde deBte ti?o(CJ?tionH PC@J$ Deine J Bt$in ?J$J o tt!o dJ Jne!J(F!JB Deine oB #oteB" coneB e J ?oBBi#i!idJde de ocJ$ dete$inJdo
#otão(
5%
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 43/139
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 44/139
conBt ACJ?tion Deine o tt!o dJ Jne!JAP$o?t Deine $Zt!o ?J$J o$ientJQão dent$o dJ cJiJ(ADeJ!t Deine J!o$ deJ!t ?J$J J cJiJ(
Ee?!oH
0nputBo'(,TPtulo da janela,*,!ecriRo,*,alor adro,)
Input@uer
A nQão In?t<e$] $eto$nJ ti?o +oo!eJno" o dJdo diitJdo ?e!o B$io Be$ co!ocJdo e JJ$ie! do ti?o Bt$in previamente dec!J$JdJ(SJ deiniQão inte$nJ J BeinteH
function 0nputUuer5(cont /Caption* /rompt: trin%; 7ar alue: trin%): Boolean;
Ee?!oH
if 0nputUuer5(,TPtulo,* ,!ecriRo,* au') and (au' ,,) then
NeBte ee?!o JciJ" J Jne!J BZ $eto$nJ$ e$dJde @oe$ J! J!o$ diitJdo o B$io c!icJ$ no #otão O1" cJBo cont$$io o $eto$no Be$ J!Bo(
Exemplo
VJoB eJinJ$ J unit e ee?!icJ$ oB ?$inci?JiB conceitoBHtype
TForm1 = class(TForm) Button1: TButton; &dit1: T&dit; &dit<: T&dit; Dabel1: TDabel; procedure Button1Click(Sender: TObject); function Soma(?* A: Strin%): 0nte%er; HHde&inida 4elo de'enoledor
55
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 45/139
private { 5riate declaration' }
au': 0nte%er; HHariáel 4riada public { 5ublic declaration' }
Krae: Strin%; HHariáel 46blica end ;var
Form1: TForm1;implementation
{$R *.DFM}
const 4/? = J>; HHde&ini78o de con'tante
procedure TForm1.Button1Click(Sender: TObject);var titulo: Strin%; HHariael local i: 0nte%er;
begin if (&dit1.Te't ,,) and (&dit<.Te't ,,) then //atribui 3 ariael 4riate 9 au: o retorno da &un78o 'oma
au' := Soma(&dit1.Te't*&dit<.Te't); titulo := ,Curo de !elp"i,; //atribui 3 ari3el local
Krae := titulo, V ero J,; //atribui 3 ariael 4ublic
Form1.Caption := Krae; //atribui 3 4ro4riedade Ca4tion do &orm
S"o$4ea%e(,/ oma do 7alore W: ,0ntToStr(/u')); for i:=> to 4/? do Dabel1.Caption := 0ntToStr(i);end ;
function TForm1.Soma(?* A: Strin%): 0nte%er; begin
reult := StrTo0nt(?)StrTo0nt(A);end ;
end .
CHAMADA DE FORMS
UJ cJ$Jcte$BticJ i?o$tJnte dJ J?$eBentJQão doB o$!$ioB e J J?!icJQão" o Jto de Be$ J?$eBentJdo coo MODAL o NÃO@MODAL( 0 doiB todoB ?J$J eectJ$ J iBJ!iJQão" JBJnteB JoB entende$ coo iBBo ncionJ(
• MODAL 8 O oco icJ preso no o$!$io e não !i#e$Jdo ?J$J ot$o o$ Jt Ke e!e BeJec@Jdo( O B$io ?ode JtiJ$ ot$J J?!icJQão do 7indoXB" JB não ?ode$ t$J#J!@J$ e ot$J Jne!J dJKe!e ?$o$JJ cJ Jne!J oi J#e$tJ coo odJ! :Jt Ke BeJ ec@JdJ;(
• NÃO MODAL 8 O oco ?ode Be$ t$JnBe$ido ?J$J ot$J Jne!J Be Ke eBtJ ?$eciBe Be$ ec@JdJ(
Entendido eBte conceito" oB todoB Ke o De!?@i ti!iJ ?J$J J?$eBentJ$ oB o$B BãoHS= ?J$J J?$eBentJ$ o$B NÃO3MODAIS" o S=M<? ?J$J J?$eBentJ$ o$B MODAIS(
5'
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 46/139
COMPONENTES ,VCL
O&'eto 2 BitBtn 3Bot"o com ,iguras opcionais
PJ!etJ 8 AdditionJ!
I?o$t\nciJH Pe$ite inBe$i$ i$JB ?J$J Je!@o$ o$ientJQão do B$io" J! de nQeB ?$3deinidJB(
Propriedades
G?K Deine +itJ? ?J$J o co?onente( :A$Kio co etenBão (+MP;
1indDeine o ti?o de +itJ? ei#ido ?e!o B$io( #CBto &itmap deinido pelo usu#rio. #O &otão OK padrão com uma marca de veriicação na cor verde e propriedade =eault i4ual a ?rue. #CJnce! &otão Cancel padrão com um LxM na cor vermela e propriedadeCancel i4ual a ?rue. #eB &otão Nes padrão com uma marca de veriicação na cor verde e
propriedade =eault i4ual a ?rue. #No &otão Fo padrão com uma marca vermela representando um c;rculocortado e propriedade Cancel i4ual a ?rue. #0e!? &otão de aux;lio padrão com uma interro4ação na cor cBan. uando ousu#rio clica sobre o botão uma tela de aux;lio deve ser exibida"baseada no c+di4o do desenvolvedor$. #C!oBe &otão Close padrão com o deseno de uma porta. uando o usu#rioclica sobre o botão o ormul#rio a >ue ele pertence se eca.
#A#o$t &otão @bort padrão com um LxM na cor vermela e propriedade Canceli4ual a ?rue. #Ret$] &otão *etrB padrão com uma seta circular verde. #Ino$e &otão i4nore padrão com o deseno de um omem verde se aastando. #A!! &otão @ll padrão com uma marca de veriicação dupla na cor verde e
5*
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 47/139
propriedade deault i4ual a ?rue.ModJ!ReB!t Pe$ite ence$$J$ J eecQão de o$!$io -odal KJndo o Be J!o$
o$ die$ente de mrFone(
O&'eto 2 >peedButton 3Bot"o para &arra de ícones
PJ!etJ 8 AdditionJ!
I?o$t\nciJH Pe$ite Jo B$io Jni?!J$ oB #oteB indiidJiB o Jt$JB do conceitode $?o(
Propriedades
G?K Deine +itJ? ?J$J o co?onente(G$o?Inde Pe$ite a4rupar connto de S?eed+ttonB KJndo Jo Be$e
Be!ecionJdoB" tie$e J ?$o?$iedJde die$ente de e$o(A!!oXA!!U? Pe$ite Ke o co?onente ?oBBJ te$ o $e!eo BB?enBo Jo Be$ c!icJdo( SZ
?ode Be$ ti!iJdo nto Jo conceito de J$?Jento(!?</ Deine eeito iBJ! inte$eBBJnte(DoXn Pe$ite dete$inJ$ KJ! co?onente oi ?$eBBionJdo( SZ ?ode Be$
ti!iJdo nto Jo conceito de J$?Jento(
O&'eto as)Edit 2 3Caixa de edi!"o com m$scara
PJ!etJ 8 AdditionJ!
I?o$t\nciJH Pe$ite eBtJ#e!ece$ J BcJ$J ?J$J J ent$JdJ de dJdoB no co?onente( PodeBe$ conBide$Jdo !ite$J!ente co?onenteEdit co BcJ$JW(
Propriedades
C@J$CJBe Deine o ti?o doB cJ$Jcte$eB(E/M< Pe$ite deini$ J BcJ$J ?J$J ent$JdJ de dJdoB(P<=C< Deine cJ$Jcte$ ?J$J oc!tJ$ J ent$JdJ de dJdoB(
5,
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 48/139
O&'eto 2 Image 3Imagem
PJ!etJ 8 AdditionJ!
I?o$t\nciJH Pe$ite inBe$i$ J i$J ?J$J
Bo e$J! nJ J?!icJQão(
Propriedades
AtoSie Pe$ite J!te$J$ o tJJn@o do componente #JBeJdo no tJJn@o dJ i$J(P/: Deine J i$J J Be$ ei#idJ(St$etc@ Pe$ite J!te$J$ o tJJn@o dJ i4ura #JBeJdo no tJJn@o do co?onente(
6todos
LoJdF$oFi!e Pe$ite cJ$$eJ$W J$Kio de i$J nJ ?$o?$iedJde Pict$e(
PJ$J t$J#J!@J$ co iJenB ?" neceBB$io Jc$eBcentJ$ nJ c!B!J BeB dJ inte$Jce J #i#!iotecJ F(
O&'eto - PageControl
PJ!etJ 8 7in4%
I?o$t\nciJH Pe$ite deini$ iJB ?J$J J$?J$ oBdeJiB co?onenteB(CJdJ iJ $e?$eBentJ co?onente TJ#S@eet doti?o TTJ#S@eet" J eB?cie de B#3o#etoW doPJeCont$o!(
Propriedades
ActiePJe Pe$ite dete$inJ$ KJ! J iJ oi Be!ecionJdJ ?e!o B$io(
PJ$J c$iJ$ noJB ?inJB" c!iKe co o #otão di$eito no co?onente 8a4eControl e eBco!@J NeX PJe(
5-
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 49/139
O&'eto 2 OpenDialog 3Caixa de di$logo para a&ertura de aruivos
PJ!etJ 8 DiJ!oB
I?o$t\nciJH Pe$ite ti!iJ$ J cJiJ dedi!oo ?$ontJ co $ec$BoB ?Jd$oniJdoB
?e!o BiBteJ o?e$JcionJ!(
Propriedades
DeJ!tEt EB?eciicJ J etenBão J Be$ JdicionJdJ Jo noe de J$Kio KJndo oB$io diitJ o noe de J$Kio Be J BJ etenBão(
Fi!eNJe Deine o J$Kio Be!ecionJdo no co?onente(Fi!te$ Pe$ite deini$ JB BcJ$JB de i!t$o de J$Kio J Be$e ei#idJB(
Fi!te$Inde Deine o i!t$o deJ!t J Be$ ei#ido nJ !iBtJ d$o?3doXn Ke deine oB ti?oBde J$KioB Be!ecioneiB(
InitiJ!Di$ Deine o di$etZ$io deJ!t KJndo J cJiJ de di!oo J#e$tJ(O?tionB NeBte co?onente" o?tionB deine J B$ie de J!o$eB #oo!eJnoB(Tit!e Deine o tt!o dJ cJiJ de di!oo(
OB co?onenteB dJ ?J!etJ diJ!oB Bão eectJdoB Jt$JB do todo execute1 EBte todo J nQão Ke $eto$nJ J!o$ #oo!eJno" JBBi ?J$J ei#i$ J cJiJ de di!oo" ?odeoBeBc$ee$H
if Open!ialo%1.&'ecute then
Se o B$io eBco!@e$ J! J$Kio e coni$J$ J cJiJ" execute $eto$nJ e$dJdei$o" cJBo
cont$$io" J!Bo(
O&'eto 2 Image(ist 3(ista de imagens
PJ!etJ 8 7in4%
I?o$t\nciJH Pe$ite deini$ connto deconeB ?J$J Be$e $e3ti!iJdoB ?o$ die$BoBco?onenteB de $ece#e eBte o#eto coo ?$oedo$ de J !iBtJ de iJenB(
PJ$J inc!i$ iJenB no co?onente IJeLiBt" c!iKe % eeB $J?idJente no co?onente ec!iKe no #otão Add(
5/
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 50/139
O De!?@i ?oBBi connto de coneB e iJenB e J ?JBtJ ?Jd$ão'HC:\Arquivos de programas\Arquivos comuns\orland !hared\"mages
O&'eto 2 7ichEdit 3exto com ,ormata!"o
PJ!etJ 8 7in4%
I?o$t\nciJH Pe$ite o$JtJ$ o teto:Ne$ito" It!ico" S#!in@Jdo" FonteB" etc(((; ?J$J J !eit$J de ot$oB edito$eB co?JteiBco o ?Jd$ão RTF(
Propriedades
LineB Deine o teto ei#ido no co?onente(
7JntRet$nB Deine J tec!J Ente$ coo Ke#$J de !in@J(7JntTJ#B Deine J tec!J TJ# coo tJ#!JQão o dJnQJ de oco( CJBo J!Bo ?ode3Be ti!iJ$ CTRLYTA+ ?J$J ?$odi$ o eeito deBeJdo(
7o$d7$J? Deine J Ke#$J de !in@J JtoticJ de teto(
6todos
C!eJ$ Pe$ite !i?J$ o conte`do do co?onente(LoJdF$oFi!e Pe$ite cJ$$eJ$W J$Kio ?J$J J ?$o?$iedJde LineB(SJeToFi!e Pe$ite BJ!J$ o conte`do dJ ?$o?$iedJde LineB e J$Kio(
O&'eto 2 ProgressBar 3Barra de progresso
PJ!etJ 8 7in4%
I?o$t\nciJH Pe$iti$ Jo B$io te$ Jco?Jn@Jento de J $otinJ deo$JdJ(
PropriedadesMJ Pe$ite deini$ o J!o$ io ?J$J J JiJ de J!o$eB no co?onente(Min Pe$ite deini$ o J!o$ nio ?J$J J JiJ de J!o$eB no co?onente(O$ientJtion Deine Be o co?onente dee$ Be$ e$ticJ! o @o$iontJ!(PoBition Deine J ?oBiQão co$$ente do cont$o!e no co?onente(Ste? Deine o inc$eento BJdo nJ J$iJQão do J!o$ dJ ?$o?$iedJde ?oBition(
' CJBo oc ten@J inBtJ!Jdo o BotXJ$e noB di$etZ$ioB Be$idoB coo ?Jd$ão(
'&
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 51/139
O&'eto 2 ;auge 3Barra de progresso
PJ!etJ 8 SJ?!eB
I?o$t\nciJH Pe$iti$ Jo B$io te$ Jco?Jn@Jento de J $otinJ deo$JdJ(
Propriedades
1ind Pe$ite deini$ J?J$nciJB die$enciJdJB no co?onente(P$o$eBB Deine J ?oBiQão co$$ente do cont$o!e no co?onente(
O&'eto 2 Animate 3Anima!<es
PJ!etJ 8 7in4%
I?o$t\nciJH Pe$ite ei#i$ i!eW (AVI ?J$J i!Bt$J$ tJ$eJB :$otinJB; e JndJento(
Propriedades
CoonAVI Deine o AVI J Be$ ei#ido(Actie LiJ e deB!iJ J ei#iQão do AVI(Re?etitionB Deine n`e$o intei$o co$$eB?ondente Jo n`e$o de $e?etiQeB( 9e$o
deine $e?etiQeB indeinidJB(
O&'eto 2 DateimePic)er 3Data e hora atrav6s de uma Com&o&ox
PJ!etJ 8 7in4%
I?o$t\nciJH Pe$ite Jo B$io eBco!@e$ J dJtJ Jt$JB de co?onente Ke ?oBBi i?o$tJnte i?Jcto iBJ! eJci!idJde o?e$JcionJ!(
')
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 52/139
Propriedades
CJ!Co!o$B Deine JB co$eB do cJ!end$io(DJte Deine J dJtJ Be!ecionJdJ no co?onente(DJteFo$Jt Deine o o$Jto dJ J?$eBentJQão dJ dJtJ(DJteMode Deine o eBti!o dJ cJiJ de !iBtJe(1ind Deine Be o co?onente dee t$J#J!@J$ co dJtJ o @o$J(
MJDJte Deine J dJtJ iJ ?J$J J JiJ de J!o$eB(MinDJte Deine J dJtJ niJ ?J$J J JiJ de J!o$eB(
O&'eto 2 onthCalendar 3Calend$rio mensal
PJ!etJ 3 7in4%
I?o$t\nciJH Pe$ite Jo B$io eBco!@e$ JdJtJ Jt$JB de co?onente Ke ?oBBi i?o$tJnte i?Jcto iBJ! e Jci!idJdeo?e$JcionJ!(
Propriedades
DJte Deine J dJtJ Be!ecionJdJ no co?onente(Fi$BtDJ]O7ee Deine KJ! o ?$iei$o diJ dJ BeJnJ(7eeN#e$B Pe$ite ne$J$ JB BeJnJB(
O&'eto 2 >tatusBar 3Barra de status
PJ!etJ 8 7in4%
I?o$t\nciJH U doB ?$inci?JiB co?onenteBde ino$JQeB Bo#$e o?e$JQeB e$JiB noBiBteJ(
PropriedadesAto0int Pe$ite ei#i$ o @int do co?onente JtoJticJente nJ #J$$J de BtJtB(
Se não @oe$ ?JiniB" J #J$$J dee te$ J ?$o?$iedJde Si?!ePJne! !iJdJ(Si?!ePJne! Deine Ke J #J$$J de BtJtB Be$ sem diiBeB(Si?!eTet Deine o teto J Be$ ei#ido ?e!J #J$$J de BtJtB(PJne!B Pe$ite J c$iJQão e ediQão de painAis nJ #J$$J de BtJtB(
A ?$o?$iedJde Si?!ePJne! dee eBtJ$ deB!iJdJ(Pode3Be tJ# dJ$ d?!o c!iKe nJ #J$$J de BtJtB(
'%
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 53/139
Ao ti!iJ$ J ?$o?$iedJde Ato0int" ?ode3Be deini$ o @int doB o#etoB co dJB Bt$inBBe?J$JdJB ?o$ pipe :[W;(A ?$iei$J Bt$in Be$ ti!iJdJ coo @int !ocJ!" J BendJ coo @int nJ #J$$J de BtJtB(
O&'eto 2 oolBar 3Barra de ícones
PJ!etJ 8 7in4%I?o$t\nciJH Pe$ite c$iJ$ #J$$JB de coneB deJnei$J $?idJ e Bi?!eB(
Propriedades
F!Jt Deine eeito iBJ! co $e!eo Jt$JB do oBe noB #oteB(IJeB Pe$ite deini$ o#eto do ti?o Ima4e)ist (0otIJeB Pe$ite deini$ o#eto do ti?o Ima4e)ist J Be$ BJdo no oento e
Ke o oBe ?JBBJ :o c!icJ; Bo#$e o co?onente(S@oXCJ?tionB Pe$ite ei#i$ J ?$o?$iedJde caption doB #oteB(
PJ$J JdicionJ$ #oteB o Be?J$Jdo$eB nJ Too!+J$" c!iKe co o #otão di$eito Bo#$e oco?onente e eBco!@J NeX +tton o NeX Se?J$Jto$(
UM POUCO MAIS SOBRE COMPONENTES ,VCLO&'eto 2 imer 3empori/ador
PJ!etJ 8 S]Bte
I?o$t\nciJH Pe$ite J eecQão de $otinJB e!oo?" e inte$J!o ?$3deinido(
Propriedades
EnJ#!ed Pe$ite !iJ$W o tie$" o BeJ" e!e ent$J e !oo? eectJndo o eentoOnTie$ Jt Ke BeJ Jt$i#do J!Bo o te$inJdJ J J?!icJQão(
Inte$J! Deine e i!iBendoB o inteJ!o de $e?etiQão do eento OnTie$(
'4
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 54/139
O&'eto 2 File(istBox 3Caixa de listagem de aruivos
PJ!etJ 8 7in 4()
I?o$t\nciJH Pe$ite !iBtJ$ J$KioB de
dete$inJdo di$etZ$io(
Propriedades
Fi!eEdit Deine J cJiJ de ediQão :TEdit; Ke ei#i$ o J$Kio JtJ!enteBe!ecionJdo(
Fi!eNJe Deine o noe do J$Kio Be!ecionJdo( V!ido e te?o de eecQão(
MJB Deine BcJ$JB de i!t$o :Be?J$JdJB ?o$ ?onto e $!J; ?J$J J ei#iQãodoB J$KioB(
O&'eto 2 Director(istBox 3Caixa de listagem de diret8rios
PJ!etJH 7in 4()
I?o$t\nciJH Pe$ite !iBtJ$ oB di$etZ$ioB dod$ie deBeJdo(
Propriedades
Di$LJ#e! Pe$ite ei#i$ o di$etZ$io co$$ente co J ?$o?$iedJde CJ?tion de co?onente do ti?o TLJ#e!(
Fi!eLiBt Pe$ite J coneão co co?onente TFi!eLiBt+o(
O&'eto - DriveCom&oBox 3Caixa de listagem de drivesPJ!etJH 7in 4()
I?o$t\nciJH Pe$ite !iBtJ$ oB d$ieBdiB?oneiB no co?tJdo$(
'5
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 55/139
Propriedades
Di$LiBt Pe$ite J coneão co co?onente TDi$ecto$]LiBt+o(
O&'eto 2 FilterCom&oBox 3Caixa de listagem de ,iltrosPJ!etJH 7in 4()
I?o$t\nciJH Pe$ite eBtJ#e!ece$ i!t$oB ?J$JiBJ!iJQão de J$KioB(
Propriedades
Fi!eLiBt Pe$ite J coneão co co?onente TFi!eLiBt+o(Fi!te$ Pe$ite deini$ JB BcJ$JB de i!t$o de J$Kio J Be$e ei#idJB(
''
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 56/139
BANCO DE DADOS
NJ Jio$iJ doB cJBoB" JB J?!icJQeB Ke JoB conBt$i$ co o De!?@i" o ot$J e$$JentJ iBJ!"dee Jni?!J$ #Jnco de dJdoB(U #Jnco de dJdoB ?ode Be$ iBto de die$enteB ?e$B?ectiJB" ?ode Be$ J$Kio o ?ode Be$
di$etZ$io co $ioB J$KioB( VJoB entende$ eBBJB die$enQJB ?oco JiB JdiJnte(
CONECÇÃO AO BANCO DE DADOS
O De!?@i ti!iJ J eBt$t$J de cJJdJB ?J$J Je$ co Ke o ront<end :o$!$io; Jni?!Jdo ?e!o B$io en@J inte$Ji$ co J base de dados( O cJin@o dee Be$ ?e$co$$ido ?o$ J B$ie deco?onenteB coni$JdoB ent$e Bi" ?o$" @ J cJJdJ inte$edi$iJ Ke não icJ dentro doJ#iente De!?@i" ne di$etJente ?$eBo Jo banco" o +DE(
BDE
O +DE connto de DLLB Ke dee Jco?Jn@J$ JB J?!icJQeB Ke Je Bo de BeB $ec$BoB deJceBBo Jo #Jnco( É neBtJ cJJdJ Ke Bão deinidJB cJ$Jcte$BticJB eB?ecicJB de cJdJ #Jnco de dJdoB" #e coo BJ !ocJ!iJQão" o BeJ" o ront<end não JceBBJ di$etJente J base de dados" o +DE $eB?onBe! ?J$J eBtJ#e!ece$ eBte ncionJento(
EiBte ot$JB Jnei$JB de JceBBJ$oB #Jnco de dJdoB SEM O +DE" J ?J!etJ Inte$+JBediB?one! J ?J$ti$ do De!?@i ' #o ee?!o(
COMPONENTES DE CONTROLE E ACESSO
O BiBteJ ?J$J coneão co o #Jnco de dJdoB ti!iJ J! do +DE connto de co?onenteBdenoinJdoBH SeBBion" DJtJ+JBe" =ata:et " =ata:ource e =ata<@Gare( O co?onente SeBBion não Be$o oco de noBBo eBtdo(
UJ iBão e$J!W Bo#$e eBteB co?onenteB ?ode Be$ iBtJ dJ Beinte Jnei$JH
'*
A?!icJQão De!?@i"!ront<End ;
+o$!Jnd DJtJ+JBe Enine :+DE;
+JncoB de DJdoB LocJiB S<L LinB D$ie$B OD+C
SeBBion DJtJ+JBe DJtJSet DJtJSo$ce DJtJ3AXJ$e
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 57/139
• >essionH A?!icJQeB Bi?!eB" t$J#J!@J co J?enJB #Jnco de dJdoB( Po$ o De!?@i ?e$ite JiB de J coneão Bi!t\neJ #JncoB de dJdoB diBtintoB" e tJ# JiB de Jconeão co o eBo #Jnco de dJdoB( O cont$o!e 4lobal dJB coneeB eito Jt$JB doco?onente dJ c!JBBe TSeBBion" c$iJdo automaticamente ?e!o De!?@i nJ eecQão do ?$o$JJ(EBBe co?onente $e?$eBentJ J BeBBão deault dJ J?!icJQão(
• DataBaseH O co?onente DJtJ+JBe $eB?onBe! ?e!J coneão dJ J?!icJQão J #Jnco dedJdoB co J inJ!idJde Jio$ de i?!eentJ$ Be$JnQJ :transaç7es; e deini$ cJ$Jcte$BticJB deconicJQão ent$e J J?!icJQão De!?@i3C!ientSe$e$( E#o$J e J?!icJQeB !ocJiB" BJti!iJQão explicita $ecoendJdJ(
• Data>et H EiBte t$B co?onenteB Ke deBcende de J c!JBBe c@JJdJ TDJtJSet ei?!eentJ i?o$tJnteB todoB de Jni?!JQão de #Jnco de dJdoB J! de BJBcJ$Jcte$BticJB eB?ecicJB( De Jto" não ti!iJoB J c!JBBe TDJtJSet di$etJente" JB Jt$JBdoB co?onenteB TTJ#!e" T<e$]:S<L; e TSto$eP$oc( EBteB co?onenteB eBtão nJ ?J!etJDJtJAcceBB
• Data>ourceH O co?onente DJtJSo$ce $eB?onBe! ?o$ conectJ$ oB co?onenteB DJtJ3AXJ$e J dete$inJdJ tJ#e!J $e?$eBentJdJ ?e!o DJtJSet( EBte co?onente eBt nJ ?J!etJ
DJtJAcceBB(• Data-A?areH OB co?onenteB DJtJ3AXJ$e Bão $eB?onBeiB ?e!J iBJ!iJQão e Jni?!JQão
di$etJ doB dJdoB( Todo co?onente DJtJ3AXJ$e te J ?$o?$iedJde ?J$J conectJ$3Be JoDJtJSo$ce co$$eB?ondente tJ#e!J deBtino( EBteB co?onenteB eBtão nJ ?J!etJ DJtJCont$o!B(
Exemplo
VJoB ee?!iicJ$ J ti!iJQão de co?onenteB #BicoB de acesso e controle Jt$JB de ee?!o #JBeJdo e J tJ#e!J :J$Kio de dJdoB; ?$ontJ" c$iJdJ nJ inBtJ!JQão do De!?@i( O o#etio entende$oB o ncionJento deBteB co?onenteB(
)( C$ie J noJ J?!icJQão e BJ!e3J nJ ?JBtJ eB?eciicJdJ ?e!o inBt$to$(
O Fo$!$ioH UF$PeieBP$oetoH PeieB
%( InBi$J doiB co?onenteBH U DJtJSo$ce e TJ#!e( Coni$e BJB ?$o?$iedJdeB de Jco$do co Jo$ientJQão J#JioH
ob#ect Tbei'e: TTable !atabae9ame = ,!B!&4OS, Table9ame = ,bioliKe.db, /cti7e = True 9ame = Tbei'e end
ob#ect !ei'e: T!ataSource /uto&dit = Fale !ataSet = Tbei'e 9ame = !ei'e end
4( InBi$J co?onente D+G$id e coni$e3oH
',
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 58/139
ob#ect !B6rid1: T!B6rid /li%n = alBottom !ataSource = !ei'e end
5( InBi$J co?onente D+IJe e coni$e3oH
ob#ect !B0ma%e1: T!B0ma%e !ataField = ,6rap"ic, !ataSource = !ei'e Stretc" = True end
'( InBi$J co?onente D+Meo e coni$e3oH
ob#ect !B4emo1: T!B4emo !ataSource = !ei'e !ataField = ,9ote, end
*( InBi$J co?onente D+NJiJto$ e coni$e3oH
ob#ect !B9a7i%ator1: T!B9a7i%ator !ataSource = !ei'e end
UJ BeBtão do iBJ! ?ode Be$ J BeinteH
,( SJ!e noJente e eecte J J?!icJQão(
PodeoB ?e$ce#e$ Ke J J?!icJQão ncionJJni?!Jndo J tJ#e!J g#io!ie(D+g Be JneceBBidJde de nen@J !in@J de cZdioe?!citJ(
É c!J$o Ke eBte J?enJB ee?!o ?J$Jentende$oB o ecJniBo de co?onenteB deJceBBo e cont$o!e( DeBBe odo" e$eoB JBei$ Ke !in@JB de cZdio Be$ão neceBB$iJB ?J$J i?!eentJ$ ncionJ!idJdeB eB?ecicJB:?eBKiBJB;" o eBo #BicJB coo inc!Bão"ediQão e $eoQão(
Po$ `!tio" JoB ?e$BonJ!iJ$ o co?onente =&6rid ?J$J não ei#i$ oB cJ?oB 6raic e Fotes:cJ?oB +LO+;(
Pode3Be BJ$ J ?$o?$iedJde C?:7 o d?!o c!iKe no co?onente =&6rid " O Edito$ de co!nJB ei#ido" c!iKe no cone A A?? !? oB cJ?oB diB?oneiB Be$ão ei#idoB" Be!ecione o cJ?odeBeJdo :G$Jic; e c!iKe e D?/ S?/
'-
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 59/139
OBJETOS TFIELD
VJoB c$iJ$ J ot$J J?!icJQão e ee?!iicJ$ $ec$Bo ito i?o$tJnte nJ conBt$Qão de
J?!icJQeB #JBeJdJB e #Jnco de dJdoB oB campos persistentes()( C$ie J noJ J?!icJQão e BJ!e3J nJ ?JBtJ eB?eciicJdJ ?e!o inBt$to$( OB ?ode Be$H
O Fo$!$ioH UF$PJiBeBP$oetoH PJiBeB
%( InBi$J doiB co?onenteBH U DJtJSo$ce e TJ#!e( Coni$e BJB ?$o?$iedJdeB de Jco$do co Jo$ientJQão J#JioH
ob#ect Tbaie: TTable !atabae9ame = ,!B!&4OS,
Table9ame = ,countr5.db, /cti7e = True 9ame = Tbaie end
ob#ect !aie: T!ataSource /uto&dit = Fale !ataSet = Tbaie 9ame = !aie end
'/
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 60/139
4( Ao$J" Jo inB de co!ocJ$oB co?onenteB data<aGare :?J!etJ DJtJCont$o!B; di$etJente no o$"JoB deini$ oB cJ?oB ?e$BiBtenteB Jt$JB de d?!o c!iKe co?onente TJ#!e B$i$ o edito$ decJ?oB:!? E/;(C!iKe co #otãodi$eito no edito$ e eBco!@J
Add J!! ie!dB(A ?J$ti$ de Jo$J" cJdJ cJ?o nJtJ#e!J conBide$Jdo o&'eto Field co BJB propriedadesindiidJ!iJdJB nJ O#ectInB?ecto$(
MJB" o e!@o$ de tdo o Jtode ?ode$oB <</< oBcJ?oB TFie!d di$etJente<< :?" e ?e$ce#e$ Ke o De!?@i BeencJ$$eJ de conBt$i$ oco?onente data<aGare neceBB$io J cJdJ cJ?o(IBBo $eJ!ente ?o?J ito te?o no deBeno!iento de J?!icJQeB e #Jnco de dJdoB( Po$ @ J ?oBBi#i!idJde de c$iJ$ J?!icJtioB Ke ti!ie JceBBo #Jnco Be dJtJ3JXJ$e" noBBo eBtdo não JienocJ$ eBtJ etodo!oiJ(
5( InBi$J co?onente D+NJiJto$ e coni$e3oH
ob#ect !B9a7i%ator1: T!B9a7i%ator
!ataSource = !aie end
UJ BeBtão ?J$J J diB?oBiQão doB co?onenteB ?ode Be$H
'( SJ!e noJente e eecte J J?!icJQão(
A ?$inci?J! JntJe doB cJ?oB ?e$BiBtenteB JJci!idJde de c$iJQão e J deiniQão de ?$o?$iedJdeB i?o$tJnteB coo EditMJB eReKi$ed ?o$ ee?!o(
*&
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 61/139
APLICAÇÃO EM BANCO DE DADOS
VJoB iniciJ$ ?eKeno ?$oeto Ke ee?!iicJ$ J conBt$Qão de J J?!icJQão de #Jnco de dJdoBco todoBW oB ?JBBoB #BicoB" Ke ão deBde J conBt$Qão dJB tJ#e!JB Jt J e$JQão de $e!JtZ$ioB einBtJ!JQão do J?!icJtio(
O ?$oetoW Be$ de #Jnco de dJdoB !ocJ! e ?oBBi t$B tJ#e!JB co J Beinte deiniQão de cJ?oB e$e!JcionJentoBH
PJ$J c$iJ$oB JB tJ#e!JB deeoB ti!iJ$ e$enciJdo$ de #Jnco de dJdoB :PJ$Jdo" AcceBB; oJ! ?$o$JJ eB?ecico ?J$J eBtJ tJ$eJ( O De!?@i inBtJ!J J?!icJtio ?J$J eBtJ inJ!idJdedenoinJdo DataBase Des)op( Po$ o#Be$e Ke Bão itenB distintosH O De!?@i 70 c$iJ JB tJ#e!JB"e!e J?enJB :< o #Jnco de dJdoB(
DATABASE DESKTOP
SJ ti!iJQão ito Bi?!eB( PJ$J c$iJ$ JB tJ#e!JB" #JBtJ c!icJ$ no coJndo !? B N= B T<-?(
UJ Jne!J ?J$J deiniQão do tipo do #Jnco de dJdoB Be$ ei#idJ( VJoB t$J#J!@J$ co o #Jnco dedJdoB P<<>(
*)
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 62/139
CJdJ tJ#e!J e PJ$Jdo" BiniicJ J$Kio e diBco co etenBão (D+( NeBte cJBo o conceito de #Jnco de dJdoB deinido ?e!o diret+rio onde eBtão JB tJ#e!JB e não o noe do J$Kio Ke o cJBo deot$oB #JncoB coo AcceBB" ?o$ ee?!o(
A deiniQão doB cJ?oB dee Be$ eitJ nJ ?$ZiJ te!J" ondeH
• !ield FameH Deine o noe do cJ?o dJ tJ#e!J(• ?BpeH Deine o ti?o de dJdoB do cJ?o( Tec!e J #J$$J de $o!Je ?J$J o#te$ J !iBtJ doB
?oBBeiB ti?oB(• :izeH TJJn@o do ti?o de dJdoB deinido no ite Sie( A!nB cJ?oB Bão ?Jd$oniJdoB não
?e$itindo J J!te$JQão(• KeBH Deine Be o cJ?o c@Je ?$i$iJ( Tec!e J #J$$J de eB?JQo ?J$J !iJ$ o deB!iJ$( U
JBte$iBco ei#ido ?J$J coni$JQão dJ c@Je !iJdJ(• ?able propertiesH Deine J B$ie de itenB coo alidaç7es Inte4ridade reerencial e ite
ito i?o$tJnte 8 Pndices :ecund#rios(
PJ$J deini$ ndiceB Becnd$ioB" c!iKe e ?able properties e eBco!@J :econdarB Indexes e c!iKe e =eine( NJ Jne!J ei#idJ Be!ecione o cJ?o deBeJdo ?J$J c$iJ$ o ndice Becnd$io" neBte ee?!o SetNoe(At$JB dJ BetJ" Be!ecione3o ?J$J J !iBtJ Indexed ields(
*%
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 63/139
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 64/139
BDE CRIAÇÃO DO ALIAS
VJoB e?!o$J$ co JiB detJ!@eB o conceito e ncionJento dJ cJJdJ +DE( O +DE JBBi coo oDJtJ+JBe DeBTo? inBtJ!Jdo nto co o De!?@i*( Eecte o ?$o$JJ e eJine J te!J iniciJ!(
A te!J diididJ e dJB ?J$teB #BicJBH A !iBtJe de Aliases do !Jdo eBKe$do e JB coni$JQeB de
cJdJ @lias no !Jdo di$eito(
U conceito i?o$tJntBBio J deiniQão de Alias( CJdJ noe do !Jdo eBKe$do do +DE $e?$eBentJJ coni$JQão ?J$J JceBBo J dete$inJdo #Jnco( Ee?!oH O Alias +DDEMOS $e?$eBentJ odi$etZ$io CJQ@r>uivos de pro4ramasQ@r>uivos comunsQ&orland :aredQ=ata o d$ie$ ?J$J JceBBo Jo de #Jnco :PJ$Jdo; ent$e ot$JB coni$JQeB(
DeBBJ Jnei$J o deBeno!edo$ ti!iJ o noe D+DEMOS dent$o do De!?@i ?o$ o di$etZ$io ?odeBe$ J!te$Jdo no +DE Be Jio$eB ?$o#!eJB(
O Alias J Bt$in Ke deine o ?Jt@ e coni$JQeB ?J$J JceBBo Jo #Jnco de dJdoB(
* Ve$eoB JdiJnte Ke BJ inBtJ!JQão nJ KinJ do B$io tJ# Be$ neceBB$iJ" cJBo J J?!icJQão e De!?@i ti!ieJceBBo J #Jnco de dJdoB(
*5
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 65/139
PJ$J c$iJ$ J!iJBH
• C!iKe no en O-/ e eBco!@J N=( :CTRLYN;(• Coni$e o ti?o de d$ie$ :PJ$Jdo;(• DeinJ noe ?J$J o A!iJB :!Jdo eBKe$do;(• DeinJ o pat Jt$JB do #otão $eticnciJB(• C!iKe no en O-/ e eBco!@J A?K" ?J$J coni$J$ JB J!te$JQeB(• Coni$e J $JJQão(
APLICAÇÃO UTILI/ANDO BD EM DELPHI
O ?$Zio ?JBBo conBt$i$ J J?!icJQão no De!?@i" JceBBJndo o #Jnco de dJdoB Jt$JB do ALIAS do+DE( O ?$oeto te$ J nQão #BicJ de Jni?!J$ oB dJdoB dJB tJ#e!JB" !ocJ!iJ3!oB Jt$JB deconB!tJB Bi?!eB e eiti$ $e!JtZ$ioB Bi?!eB e co?oBtoB(
FrmPrincipal
Ao J#$i$ J noJ J?!icJQão" $Je o ?$oeto dent$o de J ?JBtJH Empresa
A ?$iei$J nidJde coo Urm8rincipal E o ?$oeto coo Empresa
No o$!$io inBi$J co?onente MJinMen e c$ie oB itenB de Men J#Jio(
DATA MODULE
A deiniQão doB co?onenteB de JceBBo JoB dJdoB Be$ão centralizados e o$!$ioeB?eciJ! c@JJdo Data odule( EBte o$!$io te J cJ$Jcte$BticJ #e eB?ecicJH o$iniBe! e BZ $ece#e co?onenteB invis;veis, " o BeJ" o B$io ne Ji iJinJ$ o DJtJMod!e e oBco?onenteB Ke e!e $ece#e( A BJ inJ!idJde cent$J!iJ$ oB co?onenteB ?J$J Ke >ual>uer
ormul#rio ?oBBJ te$ JceBBo JoB dJdoB" Be J neceBBidJde de repetir oB co?onenteB de JceBBo e cJdJo$!$io(
PJ$J c$iJ$ o$!$io DJtJMod!e" c!iKe e !? B N=.
NJ iJ NeX" c!iKe no ;cone DJtJMod!e e coni$e O1(
, Co $e!JQão Jo B$io(
*'
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 66/139
SJ!e o noo o$!$io co o noe de U!rm=mEmpresa(
InBi$J doiB co?onenteBH U DJtJSo$ce e co?onente TJ#!e(
AB ?$o?$iedJdeB ?ode Be$ coni$JdJB cooH
ob#ect TbSetor: TTable !atabae9ame = ,&mprea, Table9ame = ,Setor.db, /cti7e = True 9ame = TbSetor
end
ob#ect !Setor: T!ataSource /uto&dit = Fale !ataSet = TbSetor 9ame = !Setor $nd
**
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 67/139
D</<S:AtoEdit Pe$ite @J#i!itJ$ oB cont$o!eB ?J$J editJ$ oB dJdoB JtoJticJente(DJtJSet Pe$ite deini$ o co?onente DJtJSet :TJ#!e o <e$] o Sto$eP$oc;
T<-?Actie Pe$ite J#$i$W J tJ#e!J ?J$J ?e$iti$ BJ Jni?!JQão(
DJtJ+JBeNJe Pe$ite pat io o ALIAS ?J$J JceBBo Jo #Jnco de dJdoB(TJ#!eNJe Pe$ite eBco!@e$ J tJ#e!J J?ZB J deiniQão dJ ?$o?$iedJdeDJtJ+JBeNJe(
O eBo ?$ocediento ?ode Be$ eito ?J$J JB ot$JB dJB tJ#e!JB(U ?J$ de co?onenteB de JceBBo e JB $eB?ectiJB ?$o?$iedJdeB !iBtJdJB JciJ(
FORMUL(RIO DE CADASTRO DE SETOR
FrmCad>etor
C$ie 7 :? e inBi$J doiB co?onenteB PJne!" J!in@Jdo nJ ?J$te ine$io$ e ot$o nJ$eJ c!iente(
SJ!e o o$( O noe do J$Kio Be$H U!rmCad:etor ( A ?$o?$iedJde NJe do o$ Be$H !rmCad:etor
UJ cJ$Jcte$BticJ i?o$tJnte nJ conBt$Qão de J?!icJQeB ti!iJndo #Jnco de dJdoB J ?oBBi#i!idJdede t$J#J!@J$oB co cJ?oB TFIELD ee?!iicJdoB Jnte$io$ente" o BeJ" cJ?oB Ke BãoconBide$JdoB coo o#etoB dent$o dJ J?!icJQão" Bendo JBBi eBteB cJ?oB ?oBBe ?$o?$iedJdeB eeentoB indiidJiB Jt$JB dJ o#ect inB?ecto$ o ?o$ Jt$i#iQeB Jni?!Jndo cZdio(VJoB e?!o$J$ ?oco JiB dJ ncionJ!idJde deBte $ec$Bo( CJ?oB TFIELD Bão c@JJdoB decJ?oB ?e$BiBtenteB e BJ c$iJQão et$eJente Bi?!eB(
• No DJtJMod!e" !ocJ!ie o o#eto TJ#!e $ee$ente tJ#e!J deBeJdJ(• U d?!o c!iKe no o#eto TJ#!e" ei#i$ J Jne!J de Jni?!JQão doB cJ?oB• U c!iKe dentro da janela co o #otão di$eito ei#i$ o B?eed en(• EBco!@J J o?Qão A A?? !?(
A?ZB J c$iJQão doB cJ?oB ?e$BiBtenteB" ?ode3Be Be!ecionJ3!o e e$iicJ$ ?$o?$iedJdeB eB?ecicJB nJO#ect InB?ecto$( AB ?$o?$iedJdeB Be$ão die$enteB de?endendo do ti?o de dJdoB do cJ?o" neBteee?!o ti?o TSt$inFie!d(
*,
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 68/139
MJB o e!@o$ eBt ?J$J i$( PoBicione J Jne!J doB cJ?oB ?e$BiBtenteB e !Jdo dJ te!J e co oo$!$io F$CJdSeto$ :c$iJdo Jnte$io$ente; iBe!" Be!ecione oB cJ?oB e J$$JBte3oB ?J$J dent$odo Fo$( UJ ?e$ntJ do ti?oH
Se$ ei#idJ( Coni$e co eB" o BeJ" o De!?@i eBt KeBtionJndo Be no o$!$io !rmCad:etor Wdee @Je$ J $ee$nciJ Jo o$!$io =mEmpresaW :DJtJMod!e;( Ao coni$J$ o De!?@i JdicionJJ $ee$nciJ no C E/ dJ nidJde U!rmCad:etor nJ Beinte eBt$t$JH
implementation
uses +!4&mprea;
E#o$J o De!?@i JQJ eBtJ tJ$eJ de Jnei$J JtoticJ" i?o$tJnte BJ#e$ diBtoh C!J$o Seoc ?o$ J!tJ de cidJdoW" eectJ$ $ioB o$B Be BJ!J$ Jendo $ee$nciJB ent$e e!eB"eBtJ c!B!J ti!iJ$ oB noeB ?Jd$eB :Unit)" Unit%" etc(((; e KJndo oc $eBo!e$ BJ!J$((( o De!?@i ?JBBJ J não encont$J$ JiB eBtJB $ee$nciJB de noeB JntioB( NeBte cJBo ?ode3Be Jni?!J$ o Code Edito$ e e J!JB BitJQeB" J?enJB J?JJ$ o noe e$$Jdo" J$ee$nciJ co$$etJ Be$ $eeitJ(
Pode3Be ec@J$ o edito$ de cJ?oB ?e$BiBtenteB( UJ die$enQJ iBJ! Ke te deBtJKe Jo$J Bão oBcont$o!eB de Jni?!JQão de dJdoB Ke o$J inBe$idoB JtoJticJente ?e!o De!?@i(
*-
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 69/139
E#o$J Be ?J$eQJ co co?onente iBto Jnte$io$ente :Edit; eBteB co?onenteB Bão ?$oenienteB dJ ?J!etJ DJtJ Cont$o!B e te o noe de D+Edit" o BeJ" cont$o!e eB?ecico ?J$JJni?!JQão de dJdoB ?$oenienteB de #Jnco de dJdoB( . noB $ee$ioB J eBteB cont$o!eB noB ?$iei$oB ee?!oB do cJ?t!o de +Jnco de DJdoB(
DE/DJtJSo$ce Pe$ite conectJ$W o cont$o!e onte de dJdoB(DJtJFie!d Pe$ite eB?eciicJ$ cJ?o dJ tJ#e!J $ee$enciJdJ e DJtJSo$ce(
InBi$J co?onente DN<F</ e odiiKe BJB ?$o?$iedJdeBH
ob#ect !B9a7i%ator1: T!B9a7i%ator !ataSource = !m&mprea.!Setor iibleButton = LnbFirt* nbrior* nb9e't* nbDatM end
InBi$J BeiB co?onenteB +it+tn" e coni$e J?enJB JB ?$o?$iedJdeB NJe" CJ?tion e G!]?@( UJBeBtão iBJ! ?ode Be$ iBtJ J Bei$H
*/
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 70/139
M0TODOS E PROPRIEDADES PARA MANIPULAÇÃO DE DADOS
PJ$J oB $eiBt$oB de J tJ#e!J ?odeoB ti!iJ$ oB BeinteB mAtodosH
Fi$Bt Moe o c$Bo$ ?J$J o ?$iei$o $eiBt$o do dJtJBet(P$io$ Moe o c$Bo$ ?J$J o $eiBt$o Jnte$io$ :Be @oe$;(
Net Moe o c$Bo$ ?J$J o ?$Zio $eiBt$o :Be @oe$;(LJBt Moe o c$Bo$ ?J$J o !tio $eiBt$o do dJtJBet(Moe+]:N; Moe o c$Bo$ ?J$J $ente o ?J$J t$B" cono$e o J!o$ do ?J$\et$o N"
Ke J!o$ intei$o" ?oBitio o neJtio(
PJ$J 7/?< o incio e i dJ tJ#e!J ?odeoB ti!iJ$ JB propriedadesH
+OF H +oo!eJn &e4in O !ile( IndicJ T$e Be o c$Bo$ eBtie$ no ?$iei$o $eiBt$o dJtJ#e!J(
EOF H +oo!eJn End O !ile( IndicJ T$e Be o c$Bo$ eBtie$ no `!tio $eiBt$o dJ tJ#e!J(
Po$ ee?!oH
Table1.Firt; %hile not Table1.&OF do begin
comando1; comando<; ... Table1.9e't;end;
U incoeniente co $e!JQão Jo cZdio JciJ Ke oB cont$o!eB data<aGare :dJtJ cont$o!B; Be$ão
JtJ!iJdoB no onito$ edidJ e Ke o todo Net ?e$co$$e J tJ#e!J" e$Jndo J iBJ!iJQãoindeBeJdJ e ?e$dJ de te?o co J BJ JtJ!iJQão( NeBte cJBo" ?ode3Be ti!iJ$ oB todoB =isableControls e EnableControls(
Table1.!iableControl;try
Table1.Firt; while not Table1.&OF do begin comando1; comando<; ... Table1.9e't;
end;finally Table1.&nableControl;end;
E noBBo ee?!o JtJ!" no o$!$io de CJdJBt$o de Seto$eB" oB cZdioB ?J$J ?e$co$$e$ o dataset o$J i?!eentJdoB de Jnei$J JtoticJ Jt$JB do co?onente DN<F</( Po$ nJdJi?ede J c$iJQão de #oteB inde?endenteB e J deiniQão de andlers de cont$o!e ?J$J nJeJQão$eti$Jndo o D+NJiJto$(
,&
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 71/139
PJ$J <?/< :editJ$; oB J!o$eB de dataset ?odeoB ti!iJ$ o Beinte todoH
Edit Pe$ite editJ$ o dJtJ Bet ?J$J J!te$JQão doB J!o$eB JtJiB ?J$J nooBJ!o$eB(
Ee?!oH Table1.&dit;
PJ$J 7 noo $eiBt$o e dataset ?odeoB ti!iJ$ doiB todoBH
A??end C$iJ noo $eiBt$o J?ZB o Hltimo $eiBt$o do dJtJBet(InBe$t C$iJ noo $eiBt$o J?ZB o $eiBt$o co$$ente(
Ee?!oH Table1./ppend;Ou Table1.0nert;
PJ$J $eiBt$o e dataset ?odeoB ti!iJ$ o todoH
De!ete Reoe o $eiBt$o co$$ente(
Ee?!oHif 4ea%e!D6(‘&t certo ditoX#*mtConKirmation*LmbAe*mb9oM*>) = mrAe then Table1.!elete;
PJ$J 7< :$JJ$; JB J!te$JQeB- no dataset ?odeoB ti!iJ$ o todoH
PoBt Coni$J JB J!te$JQeB e dJtJBet(
Ee?!oHTable1./ppend;...Table1.ot;
Table1.&dit;...Table1.ot;
PJ$J << o J!o$ e cJ?o Jt$JB de ?!ield ?odeoB ti!iJ$ J ?$o?$iedJde !ields o otodo !ield&BFame(
Fie!dB FJ $ee$nciJ J cJ?o eB?ecico Jt$JB de arraB(Fie!d+]NJe FJ $ee$nciJ J cJ?o Jt$JB de Be noe(
PJ$J <7?< J! coJndo eniJdo Jo #Jnco de dJdoB" ti!iJ3Be o todo cJnce!(
CJnce! Coni$J JB J!te$JQeB e dJtJBet(
Ee?!oHTable1./ppend;...Table1.Cancel;
Table1.&dit;...Table1.Cancel;
- InBe$QeB Bão conBide$JdJB J!te$JQeB(
,)
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 72/139
FUNÇÕES DE CONVERSÃO
TJnto J ?$o?$iedJde !ields coo o todo !ield&BFame ti!iJ unç7es de conversão ?J$J JceBBoJoB cJ?oB(
Ee?!oH Dabel1.Caption := Table1.FieldL>M./Strin%; Dabel<.Caption := Table1.FieldB59ame(‘Set9ome#)./Strin%; &dit1.Te't := Table1.FieldB59ame(‘SetDocal#).alue;
OS ESTADOS DE UM DATASET
OB datasets t$J#J!@J co eBtJdoBW( E cJdJ eBtJdo J dete$inJdJ o?e$JQão ?ode Be$ !idJ"ot$JB não( A Jni?!JQão do dataset Jt$JB de todoB e nQeB Je neBteB eBtJdoB e todo ote?o ?$oocJndo dJnQJB(
UJ iBão e$J! Bo#$e oB eBtJdoB/ de dataset ?ode Be$ iBtJ J Bei$H
VJoB ti!iJ$ no o$!$io !C<S/ J ?$ticJ deBteB conceitoB( AnteB" t$oKe o D+Edit)$ee$ente Jo cZdio ?J$J co?onente D+Tet coni$e JB ?$o?$iedJdeB =ata:ource ?J$J JtJ#e!J Seto$ e =ata!ield ?J$J o cJ?o SetCodio(
O +it+tn $ee$ente BJdJ do o$ ?ode te$ BJ ?$o?$iedJde Cancel e$dJdei$J(
/ O eBtJdo de ?eBKiBJ não oi conBide$Jdo neBte ee?!o(
,%
Edit
+$oXBe
InJtio
InBe$t
InBe$tA??end
PoBtCJnce!
C!oBe O?en
EditCJnce!
PoBt
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 73/139
O +it+tn $ee$ente coni$JQão dJB o?e$JQeB ?ode te$ BJ ?$o?$iedJde =eault e$dJdei$J e J ?$o?$iedJde Enabled coo J!Bo(
O +it+tn $ee$ente Jo cJnce!Jento dJB o?e$JQeB ?ode te$ BJ ?$o?$iedJde Enabled cooJ!Bo(
unit +FrmCadSetor;{ inter&ace n8o &oi im4re''a}
implementation
uses +!4&mprea;
{$R *.DFM}
procedure TFrmCadSetor.BbtSairClick(Sender: TObject); begin
FrmCadSetor.Cloe;end;
{5ara criar o 4rocedimento ;rata"otoe'< di=ite 'ua declara78o('em ;FrmCadSetor) na cláu'ula 4riate e utili>e C;R,S?F;,C
5ara todo' o' demai'< 'elecione o ob@eto e utili>e a ob@ect in'4ector}
procedure TFrmCadSetor.TrataBotoe; begin Bbt0nerir.&nabled := not Bbt0nerir.&nabled; Bbt&ditar.&nabled := not Bbt&ditar.&nabled; Bbt2emo7er.&nabled := not Bbt2emo7er.&nabled; BbtCancelar.&nabled := not BbtCancelar.&nabled; BbtConKirmar.&nabled := not BbtConKirmar.&nabled; BbtSair.&nabled := not BbtSair.&nabled; !b9a7i%ator1.&nabled := not !b9a7i%ator1.&nabled;end;
procedure TFrmCadSetor.FormCloeUuer5(Sender: TObject; var CanCloe: Boolean);
begin if !m&mprea.TbSetor.State in Ld&dit* d0nertM then
if 4ea%e!D6(,&'item dado pendente*,1I,deeja %ra78lo,* mtConKirmation* LmbAe*mb9oM* >) = mrAe then
CanCloe := Fale else
begin
,4
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 74/139
!m&mprea.TbSetor.Cancel; TrataBotoe; CanCloe := True; end;end;
procedure TFrmCadSetor.Bbt0nerirClick(Sender: TObject);var ro'9um: 0nte%er;
begin TrataBotoe; !m&mprea.TbSetor.Dat; ro'9um := !m&mprea.TbSetor.FieldB59ame(,SetCodi%o,)./0nte%er 1; !m&mprea.TbSetor./ppend; !m&mprea.TbSetor.FieldB59ame(,SetCodi%o,)./0nte%er := ro'9um; !b&dit<.SetFocu;end;
procedure TFrmCadSetor.Bbt&ditarClick(Sender: TObject); begin !m&mprea.TbSetor.&dit; TrataBotoe;end;
procedure TFrmCadSetor.Bbt2emo7erClick(Sender: TObject); begin if !m&mprea.TbSetor.2ecordCount = > then
S"o$4ea%e(,Tabela 7aiaX,) else
if 4ea%e!D6(,Tem certea Yue deeja remo7er o etor: ,1I !m&mprea.TbSetor.FieldB59ame(,Set9ome,)./Strin% , ,* mtConKirmation* LmbAe* mb9oM* >) = mrAe then
!m&mprea.TbSetor.!elete;end;
procedure TFrmCadSetor.BbtCancelarClick(Sender: TObject);
begin !m&mprea.TbSetor.Cancel; TrataBotoe;end;
procedure TFrmCadSetor.BbtConKirmarClick(Sender: TObject); begin
!m&mprea.TbSetor.ot; TrataBotoe;end;
end&
AnteB de ?$oBBei$ co o ?$Zio o$!$io" neceBB$io inBe$i$ J +i#!iotecJ D nJc!B!J : dJ 7/<( ConB!te J dicJ Coo BJ#e$W ?J$J JiB ino$JQeB(
,5
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 75/139
FORMUL(RIO DE CADASTRO DE FUNCION(RIO
FrmCadFuncionario
VJoB iniciJ$ J conBt$Qão do o$!$io de CJdJBt$o de Fncion$io(
No en !? eBco!@J o coJndo N= !(0 cone ?J$J o eBo coJndo nJ S?eed+J$(
G$Je eBte noo o$!$io co o noe deH U!rmCad!uncionario A ?$o?$iedJde NJe do o$ dee$ Be$ !rmCad!uncionario
C@Je o DJtJMod!e( C$ie oB cJ?oB ?e$BiBtenteB :TFie!dB; ?J$J J tJ#e!J Fncion$io( A$$JBte3oB ?J$Jdent$o do o$!$io( Coni$e o di!oo :ES; Bo#$e BJ$ o DJtJMod!e e ?oBicione oB o#etoB eJ BeKjnciJ BJ eBco!@J( UJ BeBtão ?ode Be$ iBtJ J Bei$H
ABBocie o co?onente o co?onente D+Tet) tJ#e!J Jt$JB dJ ?$o?$iedJde =ata:ource J?ontJndo ?J$J J tJ#e!J FncinJ$io e =ata!ield J?ontJndo ?J$J o cJ?o FnCodio(
ABBocie o co?onente D+NJiJto$ tJ#e!J Fncion$io Jt$JB dJ ?$o?$iedJde =ata:ource(
I?!eente oB andlers de cJdJ #otão cono$e o $Jciocnio do o$!$io Jnte$io$(
VJoB deini$ ot$oB co?onenteB e cJ$Jcte$BticJB Ke no o$!$io Jnte$io$ não eiBtiJ(Po$ ee?!o" o cJ?o :exo oi deinido nJ tJ#e!J coo St$in de cJ$Jcte$( PodeoB eitJ$ Keo B$io ent$e co J Bt$in die$ente de M o F ?o$ ee?!o" eBte $Jciocnio ?ode Be$ eito iJcZdio o iJ co?onente(VJoB o?tJ$ ?e!J BendJ o?Qão ?o$ J B$ie de JntJenB(
InBi$J co?onente DR<G: no o$!$io e não Be ?$eoc?e co o J!in@Jento :?o$ enKJnto;(
ModiiKe JB ?$o?$iedJdeB do co?onenteH
,'
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 76/139
ob#ect !B2adio6roup1: T!B2adio6roup Caption = ,Se'o, Column = < !ataSource = !m&mprea.!Funcionario !ataField = ,FunSe'o, 0tem.Strin% =
Fem
4a alue.Strin% =
F 4 end
Co!nB Deine e KJntJB co!nJB oB dJdoB dJ ?$o?$iedJde items Be$ãoo$denJdoB(
IteB Deine oB itenB J Be$e ei#idoB no co?onente(VJ!eB Deine oB J!o$eB J Be$e J$JenJdoB nJ tJ#e!J(
Pode3Be ec!i$ o D+Edit $eB?onBe! ?e!o cJ?o Seo e J!in@J$ o D+RJdioG$o? e Be !J$(
U ot$o co?onente Ke ?ode ei#i$ connto de dJdoB ?$3deinidoB o DC->(InBi$J o co?onente no o$!$io e odiiKe BJB ?$o?$iedJdeBH
ob#ect !BComboBo'1: T!BComboBo' !ataSource = !m&mprea.!Funcionario !ataField = ,Fun&tado, 0tem.Strin% =
/C/D//4
B/C&!F&S6O4/4T4S46/B2&02Z292S2O22SCSS&TO
end
,*
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 77/139
Ec!J o D+Edit $eB?onBe! ?e!o EBtJdo e J!in@e o D+Co#o+o e Be !J$(
M(SCARA PARA ENTRADA DE DADOS
PodeoB deini$ m$scaras ?J$J J ent$JdJ doB dJdoB noB cJ?oB =ata de Fascimento e
CE8 ( Po$" eBtJ deiniQão não eitJ di$etJente no co?onente data<aGare e Bi noo#eto T!?.
• Se!ecione o DJtJMod!e(• D?!o c!iKe no co?onente T#FncionJ$io(• Se!ecione o cJ?o ?e$BiBtente FnDJtJNJBc• NJ o#ect inB?ecto$ Be!ecione J ?$o?$iedJde EditMJB(• Coni$e J BcJ$J deBeJdJ(
Ee?!oH
0 J B$ie de ee?!oB ?$3deinidoB" eBco!@J o ti?o DJte e o#Be$e Ke o$J Jc$eBcentJdoB doiBe$oB :?e!o deBeno!edo$; ?J$J ei#i$ o Jno dJ dJtJ(
É neceBB$io coni$J$ no 7indoXBH PJine! de Cont$o!e [ Coni$JQeB ReionJiB [DJtJ0o$J ?J$J ei#i$ oB KJt$o ditoB no Jno(
ConB!te o #otão 0e!? ?J$J e$iicJ$ J Bi#o!oiJ de cJdJ cJ$Jcte$ nJ BcJ$J(
A BcJ$J ?J$J o cJ?o CEP ?ode Be$ J BeinteH EE[.EEE[8EEE;>;Q O CEP ?ode icJ$ J o?Qão de BJ!J$ oB cJ$Jcte$eB !ite$JiB( A dJtJ / eBtJ o?Qão(
:ave )iteral Caracters ?e$ite BJ!J$ o não" :neBte cJBo do CEP; oB Be?J$Jdo$eB .W e 8 nJtJ#e!J(
,,
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 78/139
INTEGRAÇÃO DE DADOS ENTRE AS TABELAS
VJoB Jc$eBcentJ$ J!J ncionJ!idJde ?J$J Ke o B$io não ?$eciBe de BJ#e$ o cZdio do Beto$"e!e ?ode$ Be!ecionJ$ J cJiJ de !iBtJe Jt$JB do noe do Beto$ ?o$ ee?!o(
Ac$eBcente DL:C-> Jo Fo$ e JQJ JB odiicJQeB neceBB$iJB" J BeBtão iBJ! J BeinteH
Coni$e o D+Loo?Co#o+o co JB ?$o?$iedJdeB J Bei$H
ob#ect !BDookupComboBo'1: T!BDookupComboBo'
DitSource = !m&mprea.!Setor DitField = ,Set9ome, e5Field = ,SetCodi%o,
!ataSource = !m&mprea.!Funcionario !ataField = ,SetCodi%o, end
OndeHLiBtSo$ce Pe$ite conectJ$W o cont$o!e onte F doB dJdoB(LiBtFie!d Pe$ite eB?eciicJ$ cJ?o dJ tJ#e!J $ee$enciJdJ e LiBtSo$ce(1e]Fie!d Pe$ite eB?eciicJ$ o cJ?o c@Je dJ tJ#e!J o$ie doB dJdoB(
DJtJSo$ce Pe$ite conectJ$W o cont$o!e onte /7 doB dJdoB(DJtJFie!d Pe$ite eB?eciicJ$ o cJ?o c@Je eBt$Jnei$J dJ tJ#e!J deBtino(UJ BeBtão de i?!eentJQão ?J$J o cZdio onte do o$!$io ?J$J CJdJBt$o de Fncion$io oBeinteH
unit +FrmCadFuncionario;
{ inter&ace n8o &oi im4re''a}
implementation
,-
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 79/139
uses +!4&mprea;
{$R *.DFM}
procedure TFrmCadFuncionario.FormCloeUuer5(Sender: TObject; 7ar CanCloe: Boolean);
begin
if !m&mprea.TbFuncionario.State in Ld&dit* d0nertM then if 4ea%e!D6(,&'item dado pendente*,1I,deeja %ra78lo,* mtConKirmation* LmbAe*mb9oM* >) = mrAe then CanCloe := Fale else begin
!m&mprea.TbFuncionario.Cancel; TrataBotoe; CanCloe := True; end;end;
{5ara criar o 4rocedimento ;rata"otoe'< di=ite 'ua declara78o
('em ;FrmCadFuncionario) na cláu'ula 4riate e utili>e C;R,S?F;,C
5ara todo' o' demai'< 'elecione o ob@eto e utili>e a ob@ect in'4ector}
procedure TFrmCadFuncionario.TrataBotoe; begin
Bbt0nerir.&nabled := not Bbt0nerir.&nabled; Bbt&ditar.&nabled := not Bbt&ditar.&nabled; Bbt2emo7er.&nabled := not Bbt2emo7er.&nabled; BbtCancelar.&nabled := not BbtCancelar.&nabled; BbtConKirmar.&nabled := not BbtConKirmar.&nabled; BbtSair.&nabled := not BbtSair.&nabled; !b9a7i%ator1.&nabled := not !b9a7i%ator1.&nabled;end;
procedure TFrmCadFuncionario.Bbt0nerirClick(Sender: TObject);7ar ro'9um: 0nte%er;
begin
TrataBotoe; !m&mprea.TbFuncionario.Dat; ro'9um := !m&mprea.TbFuncionario.FieldB59ame(,FunCodi%o,)./0nte%er 1; !m&mprea.TbFuncionario./ppend; !m&mprea.TbFuncionario.FieldB59ame(,FunCodi%o,)./0nte%er := ro'9um; !b&ditI.SetFocu;end;
procedure TFrmCadFuncionario.Bbt&ditarClick(Sender: TObject); begin
!m&mprea.TbFuncionario.&dit; TrataBotoe;end;
procedure TFrmCadFuncionario.Bbt2emo7erClick(Sender: TObject); begin
if !m&mprea.TbFuncionario.2ecordCount = > then S"o$4ea%e(,Tabela 7aiaX,) else if 4ea%e!D6(,Tem certea Yue deeja remo7er o Kuncionrio: ,1I !m&mprea.TbFuncionario.FieldB59ame(,Fun9ome,)./Strin% , ,*
,/
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 80/139
mtConKirmation* LmbAe* mb9oM* >) = mrAe then
!m&mprea.TbFuncionario.!elete;end;
procedure TFrmCadFuncionario.BbtCancelarClick(Sender: TObject); begin
!m&mprea.TbFuncionario.Cancel; TrataBotoe;
end;
procedure TFrmCadFuncionario.BbtConKirmarClick(Sender: TObject); begin
!m&mprea.TbFuncionario.ot; TrataBotoe;end;
procedure TFrmCadFuncionario.BbtSairClick(Sender: TObject); begin
FrmCadFuncionario.Cloe;end;
end&
ATRIBUINDO VALORES ATRAV0S DE ONNE+RECORD
AindJ no CJdJBt$o de Fncion$ioB" o#Be$e Ke o co?onente =&*adio6roup não te J ?$o?$iedJde ItemIndex ?J$J iniciJ$ o cJdJBt$o co J dJB o?QeB :Fe o MJB; Be!ecionJdJ(
IBBo oco$$e ?o$Ke oB co?onenteB data<aGare $e!ete o conte`do dJ tJ#e!J(
NeBte cJBo" ?J$J deini$ J!o$ ?Jd$ão" Jt o D</< M:? selecione a tabela :FncionJ$io" neBteee?!o; e nJ O-/ I7/ nJ iJ E7/ Be!ecione o eento O7N=R o BeJ" J cJdJ
noo $eiBt$o" JoB Jt$i#i$ J!o$ di$eto ?J$J tJ#e!J" Be o co?onente $e!ete o conte`do dJ tJ#e!J"e!e Ji indicJ$ o J!o$ deJ!tW(
procedure T!m&mprea.TbFuncionario9e$2ecord(!ataSet: T!ataSet); begin
TbFuncionario.FieldB59ame(,FunSe'o,)./Strin% := ,F,;end;
CONSISTINDO DADOS ATRAV0S DE ONVALIDADE
U ee?!o de conBiBtnciJ ?ode Be$ ti!iJdo no cJ?o !:7D</<N< co o Beinte $JciocnioH Be
J dJtJ diitJdJ ?e!o B$io o$ Jio$ do Ke J dJtJ JtJ!" B#tende3Be Ke o ncion$io cJdJBt$JdoJindJ não nJBce(((
PJ$J c$iJ$ eBtJ $e$J de J!idJQão Jt o D</< M:? e c!iKe dJB eeB nJ tJ#e!J :FncionJ$io"neBte ee?!o; c@JJndo oB TFie!dB( Se!ecione o TFie!d !:7D</<N< e nJ O#ect InB?ecto$ Be!ecione o eento O7V<?<( C$ie o Beinte cZdio ?J$J o eentoH
procedure T!m&mprea.TbFuncionarioFun!ata9acalidate(Sender: TField); begin
if TbFuncionarioFun!ata9ac.alue !ate then
-&
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 81/139
raise &'ception.Create(,!ata menor do Yue a atualX,);end;
NeBte ee?!o J eceQão eBt Bendo JtiJdJ ?e!o coJndo raise" ?ode$JoB t$JtJ$ eBtJ BitJQão co ocoJndo @bort Ke e$J J eceQão Bi!encioBJW" o BeJ" J eceQão Be enBJe(
O eento Onalidade oco$$e KJndo J!o$ Jt$i#do Jo cJ?o( Po$ ee?!o J Jt$i#iQão
di$etJH
TbFuncionarioFun9ome.alue := ‘&dileumar#;
diB?J$J o eento Onalidade ?J$J o TFie!d co$$eB?ondente Jo cJ?o FnNoe dJ tJ#e!J FncionJ$io(<Jndo ti!iJoB cont$o!eB data<aGare eBBe eento oco$$e KJndo o oco sai do componente e oB$io e J!J J!te$JQão enKJnto o oco eBtJJ no co?onente(O eento tJ# ?ode oco$$e$ d$Jnte o ?$oceBBJento do todo PoBt" se eiBti$ J!J J!te$JQão ?endente J Be$ eitJ ?e!oB co?onenteB data<aGare(
FORMUL(RIO DE CADASTRO DE DEPENDENTES
VJoB c$iJ$ ot$o o$!$io co J inJ!idJde de cJdJBt$J$ oB de?endenteB do ncion$io(Uti!iJ$eoB o eBo $Jciocnio iBto Jt JKi embora este processo possa ser bem dierente do KeJoB Je$( O o#etio Jio$ iJ$oB oB conceitoB iBtoB Jnte$io$ente(
FrmCadDependente
C!iKe no en !? B N= !...
G$Je J nit co o noeH U!rmCad=ependente A ?$o?$iedJde NJe do o$ Be$H !rmCad=ependente
Coni$e o co?onente D+NJiJto$H
ob#ect !B9a7i%ator1: T!B9a7i%ator !ataSource = !m&mprea.!!ependente iibleButton = LnbFirt* nbrior* nb9e't* nbDatM end
-)
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 82/139
C$ie J BcJ$J ?J$J o cJ?o DJtJ de NJBciento Jt$JB do o#eto TFie!d co$$eB?ondente(
InBi$J doiB co?onenteB DR<G:" ?J$J o Seo e ot$o ?J$J o PJ$enteBco(
A coni$JQão do D+RJdioG$o? ?J$J o cJ?o Seo ?ode Be$ J BeinteH
ob#ect !B2adio6roup1: T!B2adio6roup Caption = ,Se\'o, Column = < !ataSource = !m&mprea.!!ependente !ataField = ,!epSe'o, 0tem.Strin% =
Feminino 4aculino alue.Strin% =
F 4 end
A coni$JQão do D+RJdioG$o? ?J$J o cJ?o PJ$enteBco ?ode Be$ J BeinteH
ob#ect !B2adio6roup<: T!B2adio6roup Caption = ,\areteco, Column = ] !ataSource = !m&mprea.!!ependente !ataField = ,!eparenteco, 0tem.Strin% =
C^nju%e Fil"o(a) ai 4e alue.Strin% =
1 < I ] end
Le#$e3Be Ke nJ deiniQão dJ tJ#e!J" o cJ?o ?J$enteBco oi deinido coo Intee$(((Po$Kh A$JenJ$ n`e$o oc?J enoB eB?JQo do Ke J Bt$in e oco?onente ?ode exibir JW Bt$in e armazenar ot$o ti?o de dJdoB(
VJoB entende$ JiB JdiJnte Ke o ine$Bo tJ# e$dJdei$o" ?o$ ee?!oH <Jndo o$ neceBB$io eiti$ $e!JtZ$io JoB !e$ n`e$o e i?$ii$ J Bt$in(
InBi$J D+Tet e J!te$e BJB ?$o?$iedJdeB =ata:ource e =ata!ield.
U de!eB dee ei#i$ o c+di4o do dependente Ke Be$ e$Jdo ?e!o J!o$ito( O ot$o :D+Tet%; dee ei#i$ o nome do uncion#rio dJ tJ#e!J ncion$io( O S?eed+tton Be$ ti!iJdo JdiJnte" e!e dee icJ$ co J ?$o?$iedJde EnJ#!ed J!BJ e dee$
Be$ inc!do no ?$ocediento t$JtJ#otoeB(
UJ BeBtão iBJ! ?ode Be$ iBtJ J Bei$H
-%
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 83/139
O cZdio ?J$J i?!eentJ$ JB nQeB doB +it+tnB ?ode Be$ iBto J Bei$H
unit +FrmCad!ependente;
{ inter&ace n8o &oi im4re''a}implementation
uses +!4&mprea;
{$R *.DFM}
procedure TFrmCad!ependente.Bbt0nerirClick(Sender: TObject);7ar ro'9um: 0nte%er;
begin TrataBotoe; !m&mprea.Tb!ependente.Dat; ro'9um := !m&mprea.Tb!ependente.FieldB59ame(,!epCodi%o,)./0nte%er 1; !m&mprea.Tb!ependente./ppend; !m&mprea.Tb!ependente.FieldB59ame(,!epCodi%o,)./0nte%er := ro'9um; !b&dit<.SetFocu;end;
{5ara criar o 4rocedimento ;rata"otoe'< di=ite 'ua declara78o
('em ;FrmCadFuncionario) na cláu'ula 4riate e utili>e C;R,S?F;,C
5ara todo' o' demai'< 'elecione o ob@eto e utili>e a ob@ect in'4ector}
procedure TFrmCad!ependente.TrataBotoe; begin Bbt0nerir.&nabled := not Bbt0nerir.&nabled; Bbt&ditar.&nabled := not Bbt&ditar.&nabled; Bbt2emo7er.&nabled := not Bbt2emo7er.&nabled;
BbtCancelar.&nabled := not BbtCancelar.&nabled; BbtConKirmar.&nabled := not BbtConKirmar.&nabled; BbtSair.&nabled := not BbtSair.&nabled; !b9a7i%ator1.&nabled := not !b9a7i%ator1.&nabled; SpeedButton1.&nabled := not SpeedButton1.&nabled;end;
procedure TFrmCad!ependente.Bbt&ditarClick(Sender: TObject); begin
!m&mprea.Tb!ependente.&dit; TrataBotoe;
-4
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 84/139
end;
procedure TFrmCad!ependente.Bbt2emo7erClick(Sender: TObject); begin
if !m&mprea.Tb!ependente.2ecordCount = > then S"o$4ea%e(,Tabela 7aiaX,) else if 4ea%e!D6(,Tem certea Yue deeja remo7er o Kuncionrio: ,1I
!m&mprea.Tb!ependente.FieldB59ame(,!ep9ome,)./Strin% , ,* mtConKirmation* LmbAe* mb9oM* >) = mrAe then
!m&mprea.Tb!ependente.!elete;end;
procedure TFrmCad!ependente.BbtCancelarClick(Sender: TObject); begin
!m&mprea.Tb!ependente.Cancel; TrataBotoe;end;
procedure TFrmCad!ependente.BbtConKirmarClick(Sender: TObject); begin
!m&mprea.Tb!ependente.ot; TrataBotoe;end;
procedure TFrmCad!ependente.BbtSairClick(Sender: TObject); begin FrmCad!ependente.Cloe;end;
procedure TFrmCad!ependente.FormCloeUuer5(Sender: TObject; 7ar CanCloe: Boolean);
begin
if !m&mprea.Tb!ependente.State in Ld&dit* d0nertM then if 4ea%e!D6(,&'item dado pendente*,1I,deeja %ra78lo,* mtConKirmation* LmbAe*mb9oM* >) = mrAe then
CanCloe := Fale else
begin !m&mprea.Tb!ependente.Cancel; TrataBotoe; CanCloe := True; end;end;
procedure TFrmCad!ependente.!B&dit<&'it(Sender: TObject);
begin if FrmCad!ependente.!B&dit<.Te't ,, then
if not !m&mprea.TbFuncionario.Finde5(LFrmCad!ependente.!B&dit<.Te'tM) then
begin
S"o$4ea%e(,C_di%o in7lido,); FrmCad!ependente.!B&dit<.SetFocu; end;end;
end&
-5
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 85/139
ATRIBUINDO VALORES DEFAULT ,ONNE+RECORD
PJ$J iniciJ!iJ$ oB cJ?oB Seo e PJ$enteBco co J!o$eB ?$3deinidoB deeoB c@JJ$ o =ata -odule e Be!ecionJ$ J tJ#e!J :De?endente;" nJ O#ect InB?ecto$ Be!ecione o eento O7N=R edeinJ o cZdio neceBB$io(
procedure T!m&mprea.Tb!ependente9e$2ecord(!ataSet: T!ataSet); begin //?á di&eren7a entre 1&2 e 1F2
Tb!ependente.FieldB59ame(,!epSe'o,)./Strin% := ,F,; Tb!ependente.FieldB59ame(,!eparenteco,)./0nte%er := <;end;
VJoB deini$ o$!$io ?J$J localizar o ncion$io cJBo o o?e$Jdo$ do ic$o não BJi#J :e ?$oJe!ente não BJ#e$; o cZdio do ncion$io(
M0TODOS DE PES1UISA
Uti!iJ$eoB todoB de ?eBKiBJ ?J$J encont$J$ oB dJdoB dJ tJ#e!J Fncion$io( +JBicJente oBtodoB !7%K e !7N</( EBteB todoB Je ?$oc$J e cJ?oB indeJdoB" o BeJ" ocJ?o J Be$ ?eBKiBJdo dee te$ ndice dee eBtJ$ o$denJdo ?o$ e!e( A die$enQJ #BicJ Ke!7%K $eJ!iJ J ?eBKiBJ eJtJ" enKJnto !7N</ $eJ!iJ J ?eBKiBJ ?J$ciJ!" !7%K J nQão Ke $eto$nJ J!o$ #oo!eJn e !7N</ ?$ocediento(
PJ$J odiicJ$ J eBt$t$J de ndiceB dJ tJ#e!J" ti!iJ3Be J ?$o?$iedJde I7>N< dJ tJ#e!J deBeJdJ(Ee?!oH
//utili>a o Andice 'ecundário
!m&mprea.TbFuncionario.0nde'9ame := ,0ndSet9ome,;
!m&mprea.TbFuncionario.Find9earet(L&dit<.Te'tM);
//utili>a o Andice 4rimário
!m&mprea.TbFuncionario.0nde'9ame := ,,;!m&mprea.TbFuncionario.Finde5(L&dit1.Te'tM);
FORMUL(RIO DE CONSULTA DE FUNCION(RIOS
FrmConFuncionario
C!iKe e !? B N= !
G$Je o noJ nit coo U!rmCon!uncionario A ?$o?$iedJde NJe do o$ Be$H !rmCon!uncionario
InBi$J oB co?onenteB neceBB$ioB" J!te$e BJB ?$o?$iedJdeB( FJQJ J $ee$nciJ Jo DJtJ Mod!e JnJ!ente Jt$JB do coJndo !? B U U7/...
Coni$e o DG ?J$J JceBBJ$ J tJ#e!J FncionJ$io e ei#i$ J?enJB o cZdio e o noe doncion$io" dJnQJB iBJiB ?ode Be$ eitJB nJB ?$o?$iedJdeB Ti!eFont e O?tionB(
-'
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 86/139
U ee?!o de al4umas ?$o?$iedJdeB Ke ?ode Be$ J!te$JdJBH
ob#ect !B6rid1: T!B6rid Curor = crNandoint TabStop = Fale
/li%n = alBottom BorderSt5le = b9one !ataSource = !m&mprea.!Funcionario 2eadOnl5 = True TitleFont.St5le = LKBoldM end
A ?$o?$iedJde NJe doB +it+tnWB Be$ão o ?$eio +#t Y o cJ?tion :Be eB?JQo e Be Jcento;(
A i?!eentJQão do cZdio do o$!$io F$ConFncionJ$io ?ode Be$ iBtJ !oo J Bei$H
unit +FrmConFuncionario;
{ inter&ace n8o &oi im4re''a}implementation
uses +!4&mprea;
{$R *.DFM}
procedure TFrmConFuncionario.BbteYuiaCodi%oClick(Sender: TObject); begin if &dit1.Te't ,, then
!m&mprea.TbFuncionario.Finde5(L&dit1.Te'tM);end;
procedure TFrmConFuncionario.&dit1&nter(Sender: TObject); begin &dit<.Clear; !m&mprea.TbFuncionario.0nde'9ame := ,,;end;
procedure TFrmConFuncionario.&dit<&nter(Sender: TObject); begin
&dit1.Clear; !m&mprea.TbFuncionario.0nde'9ame := ,0ndFun9ome,;
-*
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 87/139
end;
procedure TFrmConFuncionario.&dit<C"an%e(Sender: TObject); begin
if &dit<.Te't ,, then !m&mprea.TbFuncionario.Find9earet(L&dit<.Te'tM);end;
procedure TFrmConFuncionario.&dit1e5re(Sender: TObject; 7ar e5: C"ar); begin
if e5 = 1I then BbteYuiaCodi%o.Click else if ( (e5 in L,>,..,E,M = F/DS&) and (3ord(e5) QB/C) ) then
e5 := >;end;
procedure TFrmConFuncionario.BbtSairClick(Sender: TObject); begin FrmConFuncionario.Cloe;end;
procedure TFrmConFuncionario.FormCloe(Sender: TObject; var /ction: TCloe/ction);
begin !m&mprea.TbFuncionario.0nde'9ame := ,,; !m&mprea.Tb!ependente.FieldB59ame(,FunCodi%o,)./0nte%er := !m&mprea.TbFuncionario.FieldB59ame(,FunCodi%o,)./0nte%er; FrmCad!ependente.!B&dit<.SetFocu;end;
end&
DEFININDO CAMPOS RE1UERIDOS E E*CEÇÃO LOCAL
PodeoB deini$ J!nB cJ?oB Ke dee" o#$iJto$iJente" Be$e ?$eenc@idoB ?e!o B$io" ?o$ ee?!oH No o$!$io de Cadastro de =ependentes oB cJ?oB !unCodi4o e =epFome Bão itoi?o$tJnteB e ?ode$iJ" nJ BJ JBnciJ to$nJ$ o #Jnco inconBiBtente( VJoB ti!iJ$ ee?!o coJ tJ#e!J De?endente(
PJ$J deini$ cJ?oB $eKe$idoB e eitJ$ inconBiBtnciJ de cJ?oB e #$JncoH
• C@Je o DJtJ Mod!e(• EBco!@J J tJ#e!J deBeJdJ :T#De?endente; e c!iKe dJB eeB ?J$J c@JJ$ oB TFie!dB(• EBco!@J o cJ?o TFie!d deBeJdo :FnCodio" neBte ee?!o; e nJ Object Inspector deinJ
R: coo T:(
DeinJ o eBo $ec$Bo ?J$J o noe do De?endente(
NeBte oento" Be o B$io tentJ$ $JJ$ o $eiBt$o sem diitJ$ o cZdio do ncionJ$io o o noe dode?endente Be$ !eJntJdJ J eceQão dJ c!JBBe EDJtJ#JBeE$$o$ Ke dee$ Be$ t$JtJdJ ?e!oBconceitoB iBtoB no c$Bo(
-,
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 88/139
O eento OnClic/ do #otão coni$J$ no cJdJBt$o de de?endenteB ?ode Be$ :JtJ!iJdo; i?!eentJdocoo o ee?!o J#JioH
procedure TFrmCad!ependente.BbtConKirmarClick(Sender: TObject); begin try
!m&mprea.Tb!ependente.ot; TrataBotoe; e'cept
on &: &!ataBae&rror do S"o$mea%e(,Campo obri%at_rio em preenc"erX , 1I1I &.4ea%e); end;end;
O o#eto E dJ c!JBBe Exception $ece#e o J!o$ do o#eto de eceQão( EBte o#eto não ?$eciBJ Be$ dec!J$Jdo e ?e$ite co?J$J$ KJ! o e$$o JtJ!" ?J$J toJdJ de deciBeB(
E*CLUSÃO COM CONSIST2NCIA
AnteB de ec!i$ e cJBcJtJ" JoB ee?!iicJ$ J BitJQão e KeH @Jendo J c@Je ?$i$iJ cooc@Je eBt$Jnei$J nJ ot$J tJ#e!J" não Be ?ode ec!i$ o $eiBt$o(
NeBte ?$oeto" o ee?!o o BeinteH Se @oe$ J oco$$nciJ do cZdio do Beto$ :c@Je ?$i$iJ;dJ tJ#e!J Beto$ nJ tJ#e!J ncion$io :c@Je eBt$Jnei$J; 70 JoB de!etJ$ o Beto$(
A nQão ?</ Ji !ocJ!iJ$ nJ tJ#e!J uncion#rio no cJ?o SetCodio o J!o$ do cJ?o SetCodiodJ tJ#e!J setor ?JBBJdo coo ?J$\et$o( CJBo encont$e" J nQão $eto$nJ J!o$ #oo!eJnoe$dJdei$o(
A J!te$JQão no cZdio do #otão $eoe$ do o$ CJdJBt$o de Seto$ ?ode Be$ iBto J Bei$H
procedure TFrmCadSetor.Bbt2emo7erClick(Sender: TObject); begin
if !m&mprea.TbSetor.2ecordCount = > then S"o$4ea%e(,Tabela 7aiaX,) else if !m&mprea.TbFuncionario.Docate(,SetCodi%o,* !m&mprea.TbSetor.FieldB59ame(,SetCodi%o,)./0nte%er*LM) then S"o$4ea%e(,&te etor poui Kuncionrio*,1I
,Ka7or realoc8lo ante de deletar.,) else if 4ea%e!D6(,Tem certea Yue deeja remo7er o etor: ,1I !m&mprea.TbSetor.FieldB59ame(,Set9ome,)./Strin% , ,* mtConKirmation* LmbAe* mb9oM* >) = mrAe then
!m&mprea.TbSetor.!elete;end;
A nQão !ocJte dec!J$JdJ inte$nJente dJ Beinte o$JH
function Docate(cont e5Field: trin%; cont e5alue: ariant;Option: TDocateOption): Boolean; 7irtual;
OndeH
--
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 89/139
1e]Fie!dB Pe$ite deini$ o:B; cJ?o:B; J Be$e ?eBKiBJdoB(1e]VJ!eB Pe$ite deini$ o:B; J!o$e:B; J Be$e ?eBKiBJdoB(O?tionB Pe$ite deini$ Be oB J!o$eB J Be$e ?eBKiBJdoB Be$ão ?J$ciJiB eo
die$enciJdoB de Ji`Bc!J e in`Bc!J( k!oCJBeInBenBitie" !oPJ$tiJ!1e]l
if !m&mprea.TbFuncionario.Docate(,SetCodi%o,*!m&mprea.TbSetor.FieldB59ame(,SetCodi%o,)./0nte%er*LM) then
NeBte ee?!o JciJ" eBtJoB ?eBKiBJndo nJ tJ#e!J T#FncionJ$io o cJ?o SetCodio o J!o$ KeeBt nJ tJ#e!J T#Seto$ no cJ?o SetCodio( A ?eBKiBJ eJtJ(
E*CLUSÃO EM CASCATA
PenBe neBtJ BitJQãoH Ao ec!i$ ncionJ$io" o cZdio co$$eB?ondente nJ tJ#e!J de?endente nãoBe$ JiB !ido" o BeJ" o de?endente te$ cZdio :FnCodio; Ke não eiBte JiB(
NoBBo o#etio então Be$ de!etJ$ o:B; de?endente:B; do ncion$io de!etJdo( procedure T!m&mprea.TbFuncionarioefore!elete(!ataSet: T!ataSet); begin if Tb!ependente.Docate(,FunCodi%o,* TbFuncionario.FieldB59ame(,FunCodi%o,)./0nte%er*LM) then begin//de'abilitar o' controle' data aBare
Tb!ependente.!iableControl;
{4licar e li=ar o &iltro 4ara ue a tabela con'idere a4ena' o' re=i'tro' ue tem
a chae e'tran=eira com o cdi=o do &uncionario a 'er deletado}
Tb!ependente.Filter :=,FunCodi%o=,TbFuncionario.FieldB59ame(,FunCodi%o,)./Strin%; Tb!ependente.Filtered := True;
//Enuanto nao e o &im da tabela< delete o' re=i'tro' &iltrado'
while not Tb!ependente.&oK do Tb!ependente.!elete;
//Retirar o &iltro 4ara ue a tabela 4o''a con'iderar o' outro' re=i'tro'
Tb!ependente.Filter := ,,; Tb!ependente.Filtered := Fale; end;end;
procedure T!m&mprea.TbFuncionario After!elete(!ataSet: T!ataSet); begin//?abilitar o' controle' data aBare a4' a dele7ao do &uncionario
Tb!ependente.&nableControl;end;
AB ?$o?$iedJdeB !?/ e !?/ ncionJ dJ Beinte o$JH
Dee3Be Jt$i#i$ J!o$ :c$it$io; ?$o?$iedJde i!te$( Tb!ependente.Filter := ‘!epSe'o=F#;
-/
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 90/139
De?oiB !iJ$ o i!t$o ?J$J Ke o c$it$io ten@J eeito( Tb!ependente.Filtered := True;
A ?J$ti$ deBte oento J tJ#e!J :T#De?endente; BZ Ji Jni?!J$ oB $eiBt$oB Ke Jtente Jo c$it$io"o BeJ" todJB JB ?eBBoJB do Beo einino( CJBo o i!t$o não BeJ deB!iJdo" J tJ#e!J não Ji conBide$J$ oB deJiB $eiBt$oB(
OB todoB E7<-?C7/? e D<-?C7/? Be$e ?J$J @J#i!itJ$ e deBJ#i!itJ$ oB cont$o!eB dataaGare(
IBto ti!iJdo e noBBo ee?!o ?o$Ke @ o eento OnCan4e no D+Edit% do CJdJBt$o deDe?endenteB" o BeJ" KJndo oB $eiBt$oB dJ tJ#e!J de?endenteB o$e de!etJdoB" o cZdiodo ncion$io J Be$ de!etJdo não eiBti$ nJ tJ#e!J de?endenteB" o eento OnCan4e dodata aGare D+Edit% Be$ diB?J$Jdo e dJ$ o $eiBt$o dJ tJ#e!J ncion$io de ?oBiQão(<Jndo o cZdio o$ de!etJ$ o ncion$io" de!etJ$ o ncion$io e$$Jdo(
PJ$J eitJ$ iBBo" deBJ#i!itJoB oB cont$o!eB no oento dJ de!eQão doB de?endenteB e @J#i!itJoB nooento ap+s J de!eQão do ncion$io(
UM POUCO MAIS SOBRE CONSULTAS
VJoB c$iJ$ J conB!tJ ?J$J BJ#e$ KJiB ncion$ioB t$J#J!@J e dete$inJdo Beto$ e te$ J o?Qãode i?$ii$ Be $eB!tJdo(
FrmCon>etFun
C$ie noo o$!$io e $Je3o co o noe de U!rmCon:et!un InBi$J oB co?onenteB neceBB$ioBH
PJ$J JceBBJ$ JB tJ#e!JB neceBB$iJB" Be o coJndo !? B U U7/ e Be!ecione o DJtJMod!e(
O co?onente D+Loo?Co#o+o Be$ BJdo apenas para listar o conte`do de cJ?o dedete$inJdJ tJ#e!J( NeBte ee?!o JB ?$o?$iedJdeB J!te$JdJB Be$ãoH
ob#ect !BDookupComboBo'1: T!BDookupComboBo'
/&
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 91/139
DitSource = !m&mprea.!Setor DitField = ,Set9ome, e5Field = ,SetCodi%o, end
Ao cont$$io do Ke ?ode$JoB ?enBJ$" JB ?$o?$iedJdeB DJtJSo$ce e DJtJFie!d neBteco?onente 70 Be$ão J!te$JdJB( E!JB $e?$eBentJ J tJ#e!J /7 ?J$J o enio dedJdoB dJ tJ#e!J F" J tJ#e!J o$ie oi coni$JdJ Jt$JB dJB 4 ?$o?$iedJdeB JciJ(
Então oB noeB doB Beto$eB Be$ão !iBtJdoB no D+Loo?Co#o+o e oB $eB?ectioBncion$ioB Be$ão !iBtJdoB no D+G$id" eBtJ J idiJ #BicJ(
Coni$e o D+G$id nJB BJB ?$o?$iedJdeBH
ob#ect !B6rid1: T!B6rid /li%n = alBottom !ataSource = !m&mprea.!Funcionario end
NJ ?$o?$iedJde Column deinJ J?enJB dJB co!nJBH FnCodio e FnNoe(
O ?$ocediento ?J$J i?$ii$ Be$ iBto J?ZB J conBt$Qão doB $e!JtZ$ioB(OB deJiB ?$ocedientoB Be$ão oB BeinteBH
unit +FrmConSetFun;{ inter&ace n8o &oi im4re''a}
implementation
uses +!4&mprea* +Frm2elSetFun;
{$R *.DFM}
procedure TFrmConSetFun.!BDookupComboBo'1Click(Sender: TObject); begin
with !m&mprea do begin TbFuncionario.Filter := ,SetCodi%o=, TbSetor.FieldB59ame(,SetCodi%o,)./Strin%; TbFuncionario.Filtered := True; end;
!B6rid1.!ataSource := !m&mprea.!Funcionario;end;
procedure TFrmConSetFun.FormCloe(Sender: TObject; var /ction: TCloe/ction);
begin
with !m&mprea do
begin TbFuncionario.Filter := ,,; TbFuncionario.Filtered := Fale; end; !B6rid1.!ataSource := nil;end;
procedure TFrmConSetFun.BbtSairClick(Sender: TObject); begin
FrmConSetFun.Cloe;end;
/)
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 92/139
end&
A ?$o?$iedJde DJtJSo$ce do D+G$id oi ?$eenc@idJ e te?o de ?$oeto ?J$J Ji!iJ$ nJBconi$JQeB" ?o$ dee$ icJ$ JiJ J?ZB J conBtQão e teBteB inJiB( E!J Be$ ?$eenc@idJe te?o de eecQão ?J$J Ke não !iBte oB ncion$ioB JBBi Ke o o$ ei#ido(
RELAT)RIOS
VJoB J#o$dJ$ iniciJ!ente J conBt$Qão de o$!$io Bi?!eB Ke ei#i$ oB dJdoB de uma tJ#e!JJ?enJB(DJ eBJ o$J Ke ?J$J Jni?!J$ J #JBe dJ dJdoB ti!iJoB co?onenteB data aGare dJ ?J!etJDJtJ Cont$o!B( PJ$J Jni?!J$ $e!JtZ$ioB JoB ti!iJ$ co?onenteB dJ ?J!etJ <$e?o$t)&( MJiBino$JQeB :tcnicJB; Bo#$e o <icRe?o$t ?ode Be$ encont$JdJB no Bite dJ <Sot:XXX(KBot(co;(
Frm7elFunc
C$ie o$!$io noo e BJ!e3o co o noeH U!rm*el!unc
InBi$J co?onente <icRe? e não Be ?$eoc?e co o J!in@Jento do co?onente no o$(UJ ?$o?$iedJde ito i?o$tJnte do <icRe? H &ands( PoiB eBtJ ?$o?$iedJde deine JB $eJB `teiB:#JndJB; ?J$J J ti!iJQão do $e!JtZ$io( EBtJB #JndJBW Be$ão o#etoB do ti?o T<R+Jnd Ke $ece#eot$oB o#etoB ?J$J ei#iQão doB dJdoB(
DeinJ JB BeinteB #JndJB ?J$J eBte ee?!oH
0JBCo!n0eJde$ Deine J $eJ ?J$J oB dJdoB Ke Be$ão $e?etidoB e todJB JB ?inJB coo$Zt!o dJB co!nJB(
0JBDetJi! Deine J $eJ ?J$J oB dJdoB :de J tJ#e!J; J Be$e ei#idoB(0JBPJeFoote$ Deine J $eJ $odJ? do $e!JtZ$io(0JBPJe0eJde$ Deine J $eJ cJ#eQJ!@o do $e!JtZ$io(0JBSJ$] Deine J $eJ de B$io" ei#idJ nJ !tiJ ?inJ do $e!JtZ$io(0JBTit!e Deine J $eJ ?J$J o tt!o do o$!$io ei#ido J?enJB nJ ?$iei$J
?inJ(InBi$J oB deJiB co?onenteB e BJB $eB?ectiJB #JndJBH <RS]BDJtJ" <RLJ#e!" <RD+Tet(
)& <ic Re?o$t(
/%
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 93/139
PJ$J oB co?onenteB <RS]BDJtJ J!te$e J ?$o?$iedJde =ata ?J$J o J!o$ deBeJdo(
PJ$J oB co?onenteB <RLJ#e! J!te$e JB ?$o?$iedJdeB @li4nment @li4n?o&and e !ont (
PJ$J oB co?onenteB <RD+Tet não J!te$e nen@J ?$o?$iedJde JindJ(
E#o$J BeJ ?e$eitJente ?oBBe! ti!iJ$ o DJtJMod!e ?J$J Be$ J onte de co?onenteB dedJdoB noB $e!JtZ$ioB JoB ti!iJ$ J etodo!oiJ die$ente(OB co?onenteB de JceBBo Be$ão inBtJnciJdoB noB ?$Z?$ioB $e!JtZ$ioB(
InBi$J co?onente TJ#!e( Coni$e BJB ?$o?$iedJdeBH
ob#ect TbFunc: TTable !atabae9ame = ,&mprea, Table9ame = ,Funcionario.db, /cti7e = True 9ame = TbFunc end
Coni$e oB deJiB co?onenteBH
PJ$J oB co?onenteB <RLJ#e! J!te$e J ?$o?$iedJde Caption(
PJ$J oB co?onenteB <RD+Tet J!te$e JB ?$o?$iedJdeB D</<S/ e D</<!?(
/4
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 94/139
O co?onente <RD+Tet4 te$ t$JtJento die$enciJdo coo e$eoB JdiJnte(
Se!ecione o co?onente <icRe?) e coni$e BJ ?$o?$iedJde D</<S/(
Co o #otão di$eito do oBe no co?onente <icRe? e eBco!@J P=(U ee?!o ?ode Be$ iBto JindJ e te?o de ?$oeto(
PJ$J Je$ J c@JJdJW do $e!JtZ$io no en ?$inci?J!" dee3Be c@JJ$ o todo P$eieX do <icRe?dJ Beinte o$JH
Frm2elFunc.Uuick2ep1.re7ie$;
CAMPOS CALCULADOS
Voc dee !e#$J$3Be Ke o cJ?o Beo deinido coo cJ?o A!JN$ico de J ?oBiQão FWo MW( MJB Ke$eoB Ke BJiJ J Bt$in FeininoW o MJBc!inoW no $e!JtZ$io" JoB ti!iJ$ cJ?o cJ!c!Jdo ?J$J $eJ!iJ$ eBtJ tJ$eJ(
CJ?oB cJ!c!JdoB Be$e ?J$J cJ!c!J$W J!J $otinJ e tempo de execução( EBte c!c!o não o#$iJto$iJente J e?$eBBão de c!c!o Jtetico" ?ode Be$ J condiQão de Jt$i#iQão J?ZB teBte !Zico" ?o$ ee?!o(
No $e!JtZ$io" Be!ecione o =ata:et < ?able" d d?!o c!iKe( No edito$ de cJ?oB ?e$BiBtenteB ti!ie o #otão di$eito do oBe e c!iKe e A A?? !? ?J$J JdicionJ$oB todoB oB cJ?oB(Co o #otão di$eito noJente" c!iKe dent$o do edito$ e eBco!@J N= !?...
/5
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 95/139
UJ noJ Jne!J Be$ ei#idJ( P$eec@J oB iteB #ame e pe" coni$e J Jne!J(
U noo cJ?o c@JJdo SeoEtenBo dee$ B$i$ no edito$(
O cJ?o cJ!c!Jdo ncionJ J?enJB e tempo de execu!"o $eJ!iJndo o cZdio Ke dee icJ$ noeento O7C<?!? dJ tJ#e!J deBeJdJ(Se!ecione J tJ#e!J T#Fnc e eBc$eJ o cZdio no eento :OnCalc!ields; indicJdoH
procedure TFrm2elFunc.TbFuncCalcField(!ataSet: T!ataSet); begin{ ;bFuncFunSe:o e ;bFuncSe:oE:ten'o '8o o' !ame2' do' cam4o' 4er'i'tente'. 5oderia
'er u'ado a 4ro4riedade Field"!ame ou Field' 4ara ace''ar o' cam4o'.}
if TbFuncFunSe'o.alue = ,F, then
TbFuncSe'o&'teno./Strin% := ,Feminino,
/'
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 96/139
else
TbFuncSe'o&'teno./Strin% := ,4aculino,;end;
Se!ecione o <RD+Tet deBtinJdo Jo cJ?o Beo e J!te$e BJB ?$o?$iedJdeB D</<S/ e D</<!?.Le#$Jndo Ke o cJ?o DJtJFie!d Be$ o cJ?o cJ!c!Jdo :exoExtenso.
PJ$J J #JndJ :ummarB inBi$J co?onente <RLJ#e! e co?onente <RS]BDJtJ( A!te$e oCJ?tion do <RLJ#e! ?J$J TotJ! de ncion$ioBW( E J!te$e J ?$o?$iedJde dJtJ do <RS]BDJtJ ?J$JK$BDetJi!Cont(
E cJdJ #JndJ ?ode3Be J!te$J$ JB onteB e J ?$o?$iedJde !rame ?J$J cJBJ$ eeito de diiBãoi?o$tJnte(
A !J$$J dJB #JndJB deine J diBt\nciJ ent$e oB $eiBt$oB(
RELAT)RIO MESTRE-DETALHE
U $e!JtZ$io co?oBto de JiB de J tJ#e!J onde @ $e!JcionJento e?!cito Jt$JB de Jc@Je ?$i$iJ e J eBt$Jnei$J denoinJdo MeBt$e3DetJ!@e( A tJ#e!J Ke o$nece J c@Je ?$i$iJ J tJ#e!J MeBt$e J tJ#e!J Ke t$J#J!@J co J c@Je eBt$Jnei$J J tJ#e!J DetJ!@e(
Po$ ee?!o JoB c$iJ$ $e!JtZ$io ent$e :etor e !uncion#rio" ?J$J cJdJ Beto$ :c@Je ?$i$iJ; ?ode@Je$H e$o" o $ioB ncion$ioB :J tJ#e!J ncion$io t o cJ?o SetCodio coo c@JeeBt$Jnei$J;( Se$ ei#ido dJ tJ#e!J MeBt$eH o cZdio e o noe do Seto$" dJ tJ#e!J DetJ!@eH o noe doncion$io(
Frm7el>etFun
C$ie noo o$!$io e $Je3o coo Urm*el:et!un(InBi$J oB co?onenteBH) 8 <icRe?() 8 DJtJSo$ce% 8 TTJ#!eB
Coni$e oB co?onenteB :dJ tJ#e!J eBt$e; coo J Bei$H
ob#ect !Setor: T!ataSource /uto&dit = Fale !ataSet = TbSetor 9ame = !Setor end
ob#ect TbSetor: TTable !atabae9ame = ,&mprea, Table9ame = ,Setor.!B, /cti7e = True
/*
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 97/139
9ame = TbSetor end
AnteB de deini$ o $e!JcionJento" neceBB$io ndice Becnd$io ?e!o cJ?o c@JeeBt$Jnei$J nJ tJ#e!J detJ!@e( Se o ndice JindJ não eiBte" c$ie Jo$J Jt$JB do DJtJ+JBeE?!o$e$" Be noe Be$ IndSetCodio
PJ$J deini$oB $e!JcionJento :e?!cito; do ti?o MeBt$e3DetJ!@e Be!ecione J tJ#e!J detJ!@e:T#FncionJ$io; ?$eenc@J JB ?$o?$iedJdeB #BicJB(
ob#ect TbFuncionario: TTable /cti7e = True !atabae9ame = ,&mprea, Table9ame = ,Funcionario.db, 9ame = TbFuncionario
4aterSource = !Setor end
A ?$o?$iedJde M</!? Be$ ?$eec@idJ ?e!J cJiJ de di!oo ondeH
AJi!J#!eIndeeB
Re?$eBentJ o ndice Becnd$io :dJ tJ#e!J ncion$io; ?e!J c@Je eBt$Jnei$J:SetCodio;(
DetJi! Fie!dB É J c@Je eBt$Jnei$J(MJBte$ Fie!dB É J c@Je ?$i$iJ(
C!iKe e A e coni$e J Jne!J co O (
DeinJ JB #JndJB e inBi$J oB co?onenteB neceBB$ioB iBJ!iJQão doB dJdoBH
/,
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 98/139
A #JndJ =etail Be $ee$e tJ#e!J MeBt$e :T#Seto$;
A #JndJ :ub =etail Be $ee$e tJ#e!J DetJ!@e :T#FncionJ$io;
A #JndJ :ub =etail dee te$ J ?$o?$iedJde DJtJSet !iJdJ tJ#e!J detale(
Lie oB co?onenteB <RD+ B BJB $eB?ectiJB tJ#e!JB e cJ?oB(
O co?onente <icRe? dee te$ J ?$o?$iedJde DJtJSet !iJdJ tJ#e!J mestre(
/-
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 99/139
CONSULTAS E IMPRESSÃO
Coo oi $ee$enciJdo Jnte$io$ente" nJ conB!tJ de Beto$ e ncion$ioB :F$ConSetFn; @JiJ #otão ?J$J i?$ii$ J conB!tJ(
procedure TFrmConSetFun.Bbt0mprimirClick(Sender: TObject); begin with Frm2elSetFun do begin
TbSetor.Filter := ,SetCodi%o=, !m&mprea.TbSetor.FieldB59ame(,SetCodi%o,)./Strin%; TbSetor.Filtered := True; Uuick2ep1.re7ie$4odal; TbSetor.Filter := ,,; TbSetor.Filtered := Fale; end;end;
INSTALLSHIELD
O ?$o$JJ InBtJ!!S@ie!d ?e$ite e$J$ ?$ocediento JtoJtiJdo ?J$J J inBtJ!JQão dJ BJJ?!icJQão e ot$oB co?tJdo$eB ?o$ B$ioB e?e$ienteB o não(
VJoB ee?!iicJ$ J ti!iJQão do ?$o$JJ e$Jndo J inBtJ!JQão do ?$oeto e?$eBJ(
Uti!iJ$eoB J e$Bão Install:ield Express or =elpi'99(Ao eectJ$ o ?$o$JJ" J te!J de ent$JdJ Bee!@Jnte i$J J#Jio dee J#$i$(
)) E#o$J eBtJ e$Bão BeJ encont$JdJ no CD de inBtJ!JQão do De!?@i neceBB$io inBtJ!3!J Be?J$JdJente do ?$oceBBo deinBtJ!JQão do De!?@i(
//
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 100/139
Onde JB o?QeB JciJ $e?$eBentJH
Op!"o O&'etivo
O?en nJ eiBtin Set? P$oect Pe$ite J#$i$ ?$oeto $JJdo Jnte$io$ente(O?en ]o$ !JBt Set? P$oect A#$i$ o `!tio ?$oeto c$iJdo(
C$eJte J neX Set? P$oect C$iJ$ noo ?$oeto de inBtJ!JQão(
VJoB Je$ iniciJ!ente J diBtinQão ent$e 8rojeto em =elpi e 8rojeto de Instalação doInBtJ!!S@ie!d(
P$oeto e De!?@i connto de J$KioB :(DPR" (PAS" (DFM" (((; Ke Be$ão co?i!JdoB eBe $eB!tJdo Be$ o J$Kio (E6E ?J$J J eecQão do ?$o$JJ(
P$oeto de inBtJ!JQão J$Kio (I79 Ke $JJ$ JB coni$JQeB ?J$J J inBtJ!JQão doJ?!icJtio :(E6E Y +Jnco de DJdoB Y +DE;(
NJ Jne!J iniciJ!" eBco!@J J o?Qão Create a neG :etup 8roject W(
UJ ?$ZiJ Jne!J dee Be$ ?$eenc@idJ co JB BeinteB ino$JQeBH
A?ZB o ?$eenc@iento e coni$JQão dJ Jne!J JciJ" J Jne!J ?$inci?J! Be$ ei#idJ e o$J de cJde$noW ?J$J J Jni?!JQão de iteB Be?J$JdoB e $?oB ?$inci?JiBH
)&&
EBco!@J J ?JBtJ iniciJ! ?J$J $JJ$o ?$oeto deinBtJ!JQão
Coni$e o ?$oceBBo(
AtenQão noJ$Kio Ke Be$e$Jdo(
Deini$ noe ?J$J
o ?$oetode
inBtJ!JQão
Pode3Be :onão; c$iJ$ JB#?JBtJ ?J$J
o$JniJ$ oBnooB
J$KioBe$JdoB
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 101/139
>et the +isual Design
C!iKe no ite Application In,ormation( E ?$eenc@J oB iteB J#JioH
)&)
Pode3Becone$i$ J ?JBtJ e o
J$Kio de ?$oeto
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 102/139
OndeH
Item da 'anela Finalidade
A??!icJtion NJeH Deine noe ?J$J o J?!icJtio(A??!icJtion EectJ#!eH Deine o J$Kio eecte! do J?!icJtio(
Ve$BionHDeine J e$Bão do J?!icJtio" i?o$tJnte ?J$J JtJ!iJQeBt$JB(
Co?Jn]H Noe dJ e?$eBJ de deBeno!iento do BotXJ$e(
DeJ!t DeBtinJtion Di$ecto$]H Deine o di$etZ$io de deBtino padrão(
OB te$oB ent$e Bão deinidoB ?e!o InBtJ!!S@ie!d dJ Beinte o$JH
mP$o$JFi!eBDi$ Deine J ?JBtJ A$KioB de P$o$JJBW
mINSTALLDIRDeine o cJin@o :?Jt@; co?!eto eBco!@ido ?e!o B$io nooento dJ inBtJ!JQão(
m7INDIR Deine J ?JBtJ do 7indoXB nJ KinJ deBtino(
m7INSSDIRDeine J ?JBtJ S]BteW do 7indoXB" ito BJdJ ?J$J $ece#e$ J$KioB do ti?o DLL(
mCoonFi!eBDi$Deine J ?JBtJ A$KioB ConBW" B#?JBtJ de A$KioB de
P$o$JJBW(mFONTDIR
Deine J ?JBtJ onde Bão J$JenJdoB oB J$KioB (TTF no7indoXB" o BeJ" JB onteB(
MJio$eB ino$JQeB" c!iKe no #otão AdJ dent$o dJ Jne!J(
AindJ nJ eBJ Jne!J" c!iKe nJ 4uia -ain RindoGW(
)&%
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 103/139
OndeH
MJin Tit!e Deine tt!o d$Jnte J inBtJ!JQão(Loo +itMJ? Deine J$Kio de #itJ? ti!iJdo d$Jnte J inBtJ!JQão"
?$oJe!ente o !ooti?o de BJ e?$eBJ(+Jc$ond Co!o$ DeinJ J co$ de ndo dJ te!J d$Jnte J inBtJ!JQão(
E nJ `!tiJ iJH !eatures deie !iJdo J o?Qão @utomatic Uninstaller (
EBBJ o?Qão deine o ite de deBinBtJ!JQão no 7indoXB Jt$JB do P<7? C7/? B A7< :R PF<<(
Coni$e eBtJ Jne!J co o #otão O1(
>peci, Components and Files
NJ Jne!J ?$inci?J! Be!ecione o ite ;roups and Files
)&4
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 104/139
. teoB $?o ?Jd$ão c@JJdo 8ro4ram !iles( EBte $?o cont `nico J$Kio" oeecte!( Po$ ?J$J Ke J J?!icJQão De!?@i :>ue use banco de dados; ncione co$$etJente" noic$o do B$io dee @Je$ J! do eecte!" oB J$KioB do #Jnco de dJdoB e J cJJdJ +DE(
VJoB deini$ neBte oento $?o ?J$J o #Jnco de dJdoB(
C!iKe no #otão NeX G$o?( A ?$ZiJ i$J Ji i!Bt$J$ eBtJB o?QeB(
Diite noe ?J$J o $?o" neBte ee?!o Be$ D
DeinJ J ?JBtJ de deBtino" neBte ee?!o Be$H DATAASEDIR o BeJ" o B$io dee$ eBco!@e$ J ?JBtJ" o InBtJ!!S@ie!d então ti!iJ$ J coni$JQão do ?Jt@ oB J$KioB de dJdoB( A deiniQãodeBte ?Jt@ Be$ão deinidJB JdiJnte(
O todo de JtJ!iJQão Be$ o de nunca atualizar " ?oiB e up4rade do BotXJ$e" ?odeoB eniJ$ J$KioB de dJdoB JioB o die$enteB do Ke o B$io eBt ti!iJndo(
)&5
C!iKe no BinJ! Y ?J$J iBJ!iJ$ oJ$Kio Ke J ?J$te dJinBtJ!JQão(
PJ$J deini$ noo
$?o(
InBe$e J$KioBe dete$inJdo
$?o(
Deine ?$o?$iedJdeB do
$?o
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 105/139
Coni$e J Jne!J JciJ co O1(UJ noJ ?JBtJ :$?o; dee Be$ ei#ido nJ Jne!J Jnte$io$( Se!ecione o $?o D+ e c!iKe e Insert !iles( Encont$e J ?JBtJ onde eBtão oB J$KioB do #Jnco de dJdoB e Be!ecione3oB :?e!o tec!Jdo ?ode3BeBJ$ CTRLYA;
Coni$e J Jne!J JciJ(
A Jne!J Jnte$io$ dee !iBtJ$ doiB $?oB co BeB $eB?ectioB J$KioB(
)&'
EBco!@J odi$etZ$io ?Jd$ão dedeBtino
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 106/139
Coni$e J Jne!J co O1(
DoB J$KioB #BicoB ?J$J J inBtJ!JQão teoB o eecte! e o #Jnco de dJdoB deinidoB e $?oB(FJ!tJ coni$J$ Jo$J J cJJdJ +DE(
>peci, Install>hield O&'ects ,or Delphi 5
C!iKe no ite ;eneral Options dJ Jne!J ?$inci?J! do InBtJ!!S@ie!d(
ABBi Ke oc Be!ecionJ$ o ite +DE" J noJ Jne!J dee$ Be$ ei#idJ(
)&*
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 107/139
:empre utilize a opção !ull &=E Installation para evitar conlitos de &=E local com &=E 4lobal. @re4istrB do RindoGs suporta apenas uma coni4uração de &=E.
AJnce ?J$J J ?$ZiJ te!JH
NeBte ee?!o" o A!iJB te onoe de e?$eBJ( :O eBo noe ti!iJdo no +DE do ?$oeto;
Coni$e o noe e c!iKe e OK ?J$J coni$J$( A ?$ZiJ Be$ ei#idJ co J?enJB ite #oo!eJno ?J$J eBco!@JH
Se?$e coni$e J $JJQão dJ coni$JQão" !iJndo o c@ec#o diB?one! nJ Jne!J(
AJnce ?J$J J ?$ZiJ etJ?J(
)&,
VJoB deini$ onoe do A!iJBdJ J?!icJQão(Dee Be$ oeBo noeti!iJdo ?e!o
?$oeto eDe!?@i
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 108/139
C!iKe e @vançar e e Concluir no `!tio ?JBBo do ?$oceBBo(
NJ Jne!J onde Be!ecionJoB o +DE c!iKe e OK (
>elect .ser Inter,ace Components
NJ Jne!J ?$inci?J!" c!iKe e Dialog Boxes(
OndeH
Item O&'etivo
7e!coe +itJ?Deine J i$J no incio do ?$oceBBo de inBtJ!JQão( At$JB dJ iJSettinB ?ode Be$ eBco!@ido +itJ? de )* co$eB(
7e!coe MeBBJe Deine J Jne!J co ino$JQeB ?Jd$oniJdJB nJ !inJ In!eBJ(SotXJ$e LicenceA$eeent
Pe$ite ei#i$ J enBJe ?Jd$oniJdJ de !inceQJ Jt$JB de JJ$Kio teto :T6T;( Coni$e o J$Kio Jt$JB dJ iJ SettinB(
ReJde Ino$JtionPe$ite ei#i$ J enBJe en$icJ Jt$JB de J J$Kio teto:T6T;( Coni$e o J$Kio Jt$JB dJ iJ SettinB(
UBe$ Ino$Jtion Pe$ite ei#i$ J cJiJ de di!oo ?J$J ?$eenc@iento do B$io(C@ooBe DeBtinJtionLocJtion
Deine J ?JBtJ onde Be$ inBtJ!JdJ J J?!icJQão( A ?JBtJ ?Jd$ão de su4estão ?J$J o B$io eBt deinidJ nJ iJ SettinB(
C@ooBe DJtJ#JBeLocJtion
Deine J ?JBtJ onde Be$ inBtJ!JdJ J #JBe de dJdoB( A ?JBtJ padrão de su4estão dee Be$ deinidJ Jt$JB dJ iJ SettinB(Po$ ee?!o INSTALLDIRQD
DeBBJ o$J" o indicJdo$ DATAASEDIR inBtJ!J$ oB J$KioB no ?Jt@ Ke oi deinido ?e!o B$io :INSTALLDIR; e n oB#di$etZ$io QD.O ALIAS Be$ JtoJticJente c$iJdo e J?ontJdo ?J$J eBte
)&-
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 109/139
B#di$etZ$io(Set? T]?e Deine ti?oB de Bet? ?oBBeiB(
CBto Set?Deine KJiB oB iteB ?ode Be$ inBtJ!JdoB nJ BitJQão de Bet?WB ?e$BonJ!iJdoB(
Se!ect P$o$J Fo!de$ Deine e KJ! 4rupo de pro4ramas Be$ão inBtJ!JdoB oB coneB(StJ$t Co?]in Fi!eB Ei#e $eBo do ti?o de Bet?" ?JBtJ J Be$ ti!iJdJ e B$io(
P$o$eBB IndicJto$ UJ dJB ?$inci?JiB Jne!JB" deine J ?$o$eBBão dJ inBtJ!JQão(I?o$tJnte ?J$J Ke o B$io não ?enBe Ke J KinJ ?oBBJ eBtJ$ t$JJdJ e toJ$ J!J edidJ ?J$J Bo!cionJ$ o ?$o#!eJW(
+i!!#oJ$dBDeine J i$J no i do ?$oceBBo de inBtJ!JQão( At$JB dJ iJSettinB ?ode Be$ eBco!@ido +itJ? de )* co$eB o 7MF)%(
Set? Co?!eteEi#e J Jne!J de inJ!iJQão de todo o ?$oceBBo( NJ iJ SettinB ?ode3Be eBco!@e$ ot$JB o?QeB(
>peci, Folders and Icons
C!iKe no ite ;eneral >ettings(
NJ iJ 6eneral ?ode3Be deini$ ?J$\et$oB ?J$J J J?!icJQão :cJBo Bee neceBB$io; e o odo deei#iQão do cone" Be o ?$o$JJ Be$ eectJdo No$J!" MJiiJdo o MiniiJdo( CJBo J o?Qão No$J! eBteJ Be!ecionJdJ" J o?Qão 7indoXStJte do o$!$io ?$inci?J! dJ J?!icJQão Be$ BJdo(
0 J ?oBBi#i!idJde de c$iJ$ ot$oB coneB ?J$J $e?$eBentJ$ ot$oB J$KioB" J! do eecte! :JtJ!;(Ao dJ$ o ite =escription" o cone Add Icon icJ$ diB?one!(
NJ iJ @dvanced ?ode3Be deini$ J tec!J de JtJ!@o e KJ! o o!de$ o cone dee eBtJ$ !ocJ!iJdo noJ#iente 7indoXB" ondeH
Item O&'etivo
DeJ!t Fo!de$ InBe$e o cone no $?o ?Jd$ão de inBtJQão de ?$o$JJB(EH IniciJ$ [ P$o$JJB [ E?$eBJ [ cone E?$eBJ(P$o$JB Men Fo!de$ InBe$e o cone no $?o ?$o$JJB do ?$Z?$io 7indoXB(
EH IniciJ$ [ P$o$JJB [ cone E?$eBJ(StJ$t Men Fo!de$ InBe$e o cone no en do #otão IniciJ$(DeBto? Fo!de$ InBe$e o cone nJ $eJ de t$J#J!@o( :DeBto?;
StJ$t? Fo!de$
InBe$e o cone no $?o IniciJ$(EH IniciJ$ [ P$o$JJB [ IniciJ$ [ cone E?$eBJ(O-. Todo cone contido neBte $?o eectJdo nJ J#e$t$J do7indoXB(
Send To Fo!de$ InBe$e o cone no Men R?ido do 7indoXB" c@JJdo Jt$JB do #otão di$eito EniJ$ ?J$J [ cone E?$eBJ
7un Dis) Builder
)% 7indoXB MetJ! Fi!eB( A$Kio ?Jd$ão do $ec$Bo c!i?3J$t dJ Mic$oBot(
)&/
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 110/139
EBtJ Jne!J ?e$ite J c$iJQão doB J$KioB para J diJ Ke ?ode Be$ diBKete de 4 p " i? d$ieo CD3ROM ent$e oB JiB ?o?!J$eB( 0 tJ# o?QeB ?J$J diBKete de ,%& 1#(É i?o$tJnte notJ$ noB ?JBBoB do ?$oceBBo Be @oe J! Garnin4 :cidJdo; o error (
O `nico t$J#J!@o deini$ KJ! J diJ e c!icJ$ no #otão +i!d( NeBte ee?!o" ar>uivos para KJt$o
diBKeteB o$J e$JdoB(O +DE oc?J t$B diBKeteB( S#tende3Be Ke J J?!icJQão :E6E Y +Jnco de dJdoB; oc?J diBco(
O `!tio ?JBBo Be$ co?iJ$ oB ar>uivos de instalação e$JdoB ?o$ todo o ?$oceBBo" ?J$J J diJdeBeJdJ( A o?Qão / do en C?/ B C</ D/-:/7 M< ?e$iti$ eBtJ tJ$eJ(
Coo J Bei$H
NJ #J$$J de coneB" @ cone ?J$J o eBo coJndo(
))&
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 111/139
Se oc não deBeJ e$J$ oB diBcoB J ?J$ti$ deBtJ Jne!J" ?ode3Be J#$i$ o e$enciJdo$ eH IniciJ$ [ P$o$JJB [ &7= E>? e iBJ!iJ$ J eBt$t$J de ?JBtJB c$iJdJB ?e!o InBtJ!!S@ie!dH
No ee?!o JciJ" o$J c$iJdoB doiB ti?oB de DiB +i!de$H UJ o?Qão co diBKeteB de )(55 e ot$Jco CD3ROM( Note Ke o$J c$iJdJB ?JBtJB Be?J$JdJB ?J$J cJdJ o?Qão( OB J$KioB encont$J3BeBe?J$JdoB e diB?oneiB ?J$J Jni?!JQão do deBeno!edo$" ?odendo Be$ co?iJdoB ?J$J J diJdeBeJdJ(
Ao$J" JoB ?enBJ$ nJ Beinte BitJQãoHaP$eciBo eniJ$ o ?$oeto Jt$JB dJ Inte$net o de J diJ" Jt$JB de `nico J$Kio(b
Pode$JoB co?JctJ$ oB J$KioB ti!iJndo co?JctJdo$ ?o?!J$ coo i? o J$ JB e$eoB JBei$ J o?Qão JiB ?$oiBBionJ!(
)))
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 112/139
INSTALLSHIELD PACKAGEFORTHE+EB
A e?$eBJ InBtJ!!S@ie!d ?oBBi ?$odto c@JJdo InBtJ!!S@ie!d PJcJeFo$T@e7e# Ke ?e$iteco?JctJ$ noBBoB J$KioB e eecte! J?enJB(EBte BotXJ$e ?ode Be$ encont$Jdo no Bite dJ e?$eBJ eH @tt?HXXX(inBtJ!!B@ie!d(co no !in
?$odtoB( E!e deBc$ito coo ”PackageForTheWeb is available to all customers courtesy of InstallShield”.
O BeJ" BZ Je$ o doXn!oJd e ti!iJ$ o BotXJ$e(
PJ$J ee?!iicJ$ BJ ti!iJQão" JoB ti!iJ$ :J?$oeitJ$; o J$Kio de ?$oeto :(I79; Jnte$io$ c$iJdoJt$JB do InBtJ!!S@ie!d E?$eBB(
Ao eectJ$ o BotXJ$e :PJcJeFo$T@e7e#; J te!J iniciJ! deBc$eendo Be o#etio e ende$eQo nJXe# ei#ido( C!iKe e @vançar (
O J$Kio de ?$oeto do InBtJ!!S@ie!d PJcJeFo$T@e7e# te$ J etenBão (PF7
NJ ?$ZiJ Jne!J ?odeoB eBco!@e$ ent$e t$B o?QeBH
Item O&'etivo
C$eJte J neXPJcJeFo$T@e7e#
?$oect
CJBo não ten@JoB ?$oeto c$iJdo ?e!o InBtJ!!S@ie!d" ?odeoB c$iJ$ ?$oeto PF7 inde?endente Jt$JB deBtJ o?Qão(
O?en Jn eiBtinPJcJeFo$T@e7e# ?$oect
Pe$ite editJ$ ?$oeto eiBtente( :(PF7;
I?o$t Jn InBtJ!!S@ie!dP$oeBBionJ! o$ E?$eBB ?$oect
Pe$ite i?o$tJ$ o J$Kio de ?$oeto :(I79; do InBtJ!!S@ie!d E?$eBBc$iJdo Jnte$io$ente(
))%
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 113/139
EBco!@J J o?Qão de i?o$tJ$" !ocJ!ie o J$Kio do ?$oeto (I79 e c!iKe e @vançar (
P$eenc@J J Jne!J JciJ co ino$JQeB Ke !J$ neceBB$iJB e c!iKe e @vançar (
NJ ?$ZiJ Jne!J ?ode3Be eBco!@e$ ent$e J e$JQão de J$Kio eecte! : sel<extract ; ?J$J
diB?J$J$ o ?$oceBBo o J?enJB e?JcotJ$W oB J$KioB e J$Kio (CA+(
A eBco!@J do idioJ ?ode Be$ eBco!@ido nJ co#o#o(
))4
Pe$iteeBco!@e$ oJ$Kio I79eiBtente(
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 114/139
C!iKe e @vançar (
NeBtJ Jne!J" ?odeoB ei#i$ J cJiJ de di!oo :ti?o MeBBJeD!; no incio do ?$oceBBo ?J$J Ke oB$io ?oBBJ J#JndonJ$ o ?$oBBei$(
A cJiJ de #e indoW ?Jd$ão do BotXJ$e J o?Qão Ke ?ode Be$ cBtoiJdJ Jt$JB de J$Kio do ti?o (RTF)4
A o?Qão DiB?!J] !icence tJ# ?e$ite J inc!Bão de J$Kio de etenBão RTF(
A Ben@J :PJBBXo$d; ?ode Be$ deinidJ neBtJ Jne!J( EBtJ Ben@J J?enJB ?J$J Jto$iJ$ o ?$oceBBo dedeBco?JctJQão e inBtJ!JQão(
)4 Ric@ Tet Fi!e 8 PJd$ão Ke ?e$ite o$JtoB :ne$ito" it!ico"ont" etc(((; e J$Kio $JJdo coo ASCII
))5
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 115/139
C!iKe e @vançar. A ?$ZiJ Jne!J J dJB ?$inci?JiB ?J$J entende$oB J Jci!idJde JdicionJ!deBte ?$o$JJ co $e!JQão J ot$o ?$oceBBo de co?JctJQão(
A?ZB J deBco?JctJQão" o InBtJ!!S@ie!d Ji diB?J$J$ o ?$oceBBo de inBtJ!JQão Jt$JB do J$KioSETUP(E6E c$iJdo no InBtJ!!S@ie!d E?$eBB" e J?ZB J inBtJ!JQão oB J$KioB deBco?JctJdoB:te?o$$ioB; dee Be$ de!etJdoB( C!icJ$ e @vançar.
0 J noJ tecno!oiJ de JBBinJt$J diitJ! Ke ?ode Be$ o#tidJ iJ Inte$net( Não JoB J#o$dJ$ eBteite( C!iKe e @vançar.
))'
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 116/139
NeBtJ Jne!J JoB deini$ o noe do ?$oeto( EBte noe Be$ BJdo ?J$J o J$Kio de ?$oeto :PF7; eo J$Kio eecte! sel<extract :E6E;(
O di$etZ$io ?J$J J e$JQão deBteB J$KioB ?ode Be$ deinido ?e!oB coneB de ?JBtJB( NeBte ee?!o" c$ieJ B#?JBtJ UnicoW J#Jio dJ ?JBtJ InBtJ!J$(C!iKe e @vançar.
EBtJ J Jne!J ?J$J cone$i$ JB o?QeB Ke o$J deinidJB Jnte$io$ente(
C!iKe e @vançar.
))*
Pode3Be deini$J ?JBtJeB?ecicJ(
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 117/139
O ?$oceBBo Ji conBt$i$ o J$Kio sel<extract e o J$Kio de ?$oeto :PF7;( C!iKe no BinJ! de Y cJBoKei$J e$iicJ$ oB J$KioB Je ?J$te do eecte!(
C!iKe e Concluir.
PJ$J cone$i$ o $eB!tJdo J#$J o ?$o$JJ 7indoXB E?!o$e$ e J#$J J ?JBtJ onde o$J e$JdoB oBJ$KioB(
PodeoB eniJ$ J?enJB J$Kio :E?$eBJ(ee; ?J$J $eJ!iJ$ o ?$oceBBo de inBtJ!JQão de Jnei$JJiB Bi?!eB ?oBBe!(
)),
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 118/139
TRANSAÇÕES
T$JnBJQeB $ec$Bo ito ti!iJdo e J?!icJQeB clientDserver ( NoBBo enoKe Be$ int$odtZ$io"no Bentido de deB?e$tJ$ oc coo deBeno!edo$" J ti!iJ$ eBtJ tecno!oiJ nJ conBt$Qão de J?!icJQeB$o#BtJB(
A t$JnBJQão J deiniQão Ke J#o$dJ o Beinte JB?ectoH U ?$oceBBo iniciJdo co J t$JnBJQãodee o#$iJto$iJente te$inJ$" co o Be BceBBo( EBte ?$oceBBo ?ode Be$ connto $otinJB KeBZ te$ão J!o$ Be eectJdJB e BeKnciJ(
O conceito #Bico ?ode Be$ i!BtJdo coo J Bei$H
CJBo J!J $otinJ ten@J J! ?$o#!eJ o JconteQJ i?$eiBto coo KedJ de ene$iJ" Jt$JnBJQão não Be$ te$inJdJ(E #JncoB de dJdoB Ke i?!eentJ eBte ti?o de Be$JnQJ )5" JBBi Ke o ic$o !iJdo e o #Jnco J#e$to" Jt$JB do J$Kio de LOG J t$JnBJQão não inJ!iJdJ te$ Ke o!tJ$ Jt$BW nJ BitJQão Jnte$io$ Jo incio" Jntendo o #Jnco de dJdoB conBiBtente(
VJoB ti!iJ$ eBte conceito no De!?@i Jt$JB tJ#e!JB ?J$Jdo !e#$Jndo Ke ne todoB oB $ec$BoBdJ t$JnBJQão :coo J$Kio de LOG; Bão i?!eentJdoB ?e!o #Jnco(
DELPHI 3 TRANSAÇÕES
OB coJndoB ?J$J i?!eentJ$ J t$JnBJQão Bão todoB do -/ D</<<( EBte co?onente$e?$eBentJ o #Jnco de dJdoB" sendo Hnico na aplicação(TodJB JB tJ#e!JB dee Be conectJ$ Jo DJtJ+JBe(
6todo De,ini!"o
StJ$tT$JnBJction Deine o incio dJ t$JnBJQão(Ro!!+Jc Deine o t$ino Be BceBBo dJ t$JnBJQão(Coit Deine o t$ino co BceBBo dJ t$JnBJQão(
)5 S<L3Se$e$" O$Jc!e e Inte$#JBe Bão ee?!oB de #JncoB de dJdoB c!ienteBe$ido$(
))-
Início da
transação
Rotina1 Rotina2 Rotina3 Fim da
transação
P$oceBBo
SeBBion D</<< DJtJSet DJtJSo$ce DJtJ3AXJ$e
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 119/139
Inicie J noJ J?!icJQão(
G$Je o ?$oeto e J ?JBtJ c@JJdJ T<7
#ome atual #ovo nome
Unit) UF$T$JnB
P$oect) T$JnBJcJo
E#o$J não BeJ o#$iJtZ$io :JindJ JiB neBte ee?!o co J tJ#e!J;" JoB inBe$i$ o$!$ioDJtJMod!e" Jt$JB do coJndo !? B N=... "D</< M:?#
#ome atual #ovo nome
Unit) UD
No DJtJMod!e" inBi$J oB co?onenteB DJtJ+JBe" TJ#!e e DJtJSo$ce(
VJoB ti!iJ$ JB tJ#e!JB c$iJdJB no ?$oeto e?$eBJ" #e coo Be ALIAS(
Coni$e o co?onente DJtJ+JBe nJB ?$o?$iedJdeB indicJdJBH
ob#ect !atabae: T!atabae /lia9ame = ,&mprea, !atabae9ame = ,Banco&mprea, Seion9ame = ,!eKault, Tran0olation = ti!irt52ead end
OndeH Propriedade De,ini!"o
A!iJBNJe Deine o noe do ALIAS no +DE(DJtJ#JBeNJe Deine noe ?J$J o ALIAS dJ J?!icJQão(SeBBionNJe Deine o noe dJ SeBBãoW ti!iJdJ ?J$J JceBBo Jo #Jnco(T$JnBIBo!Jtion Deine o ne! de iBo!Jento B?o$tJdo ?e!o #Jnco de dJdoB(
Coni$e oB co?onenteB TJ#!e e DJtJSo$ceH
ob#ect !Setor: T!ataSource !ataSet = TbSetor end
ob#ect TbSetor: TTable
/cti7e = True !atabae9ame = ,Banco&mprea, Table9ame = ,Setor.!B, end
O DJtJMod!e ?e$ite coni$J$ J @ie$J$KiJ doB co?onenteB Jt$JB dJ $o$e de iteB do !JdoeBKe$do dJ Jne!J(
))/
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 120/139
Note Ke o co?onente TJ#!e Ji JceBBJ$ o #Jnco Jt$JB do ALIAS :inte$no; &ancoEmpresa(
C$ie oB cJ?oB ?e$BiBtenteB co d?!o c!iKe no co?onente TJ#!e(A$$JBte3oB ?J$J o o$!$io F$T$JnB e c$ie J inte$Jce #BicJ co oB co?onenteB :+ttonB"D+NJiJto$; iBtoB Jnte$io$ente(
O cZdio onte co J i?!eentJQão de t$JnBJQeB eBt deBc$ito J Bei$H
unit +FrmTran;
{ inter&ace n8o &oi im4re''a}
implementation
uses +!m;
{$R *.DFM}
procedure TFrmTran.BbtSairClick(Sender: TObject); begin
FrmTran.Cloe;end;
procedure TFrmTran.TrataBotoe; begin
Bbt0nerir.&nabled := not Bbt0nerir.&nabled; Bbt&ditar.&nabled := not Bbt&ditar.&nabled;
)%&
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 121/139
Bbt2emo7er.&nabled := not Bbt2emo7er.&nabled; BbtCancelar.&nabled := not BbtCancelar.&nabled; BbtConKirmar.&nabled := not BbtConKirmar.&nabled; BbtSair.&nabled := not BbtSair.&nabled; !b9a7i%ator1.&nabled := not !b9a7i%ator1.&nabled;end;
procedure TFrmTran.FormCloeUuer5(Sender: TObject;
var CanCloe: Boolean); begin
if !m.TbSetor.State in Ld&dit* d0nertM then if 4ea%e!D6(,&'item dado pendente*,1I,deeja %ra78lo,* mtConKirmation* LmbAe*mb9oM* >) = mrAe then CanCloe := Fale else
begin
!m.TbSetor.Cancel; !m.!atabae.2ollback; TrataBotoe; CanCloe := True; end;end;
procedure TFrmTran.Bbt0nerirClick(Sender: TObject);7ar ro'9um: 0nte%er;
begin
!m.TbSetor.Dat; ro'9um := !m.TbSetor.FieldB59ame(,SetCodi%o,)./0nte%er 1; !m.!atabae.StartTranaction; !m.TbSetor./ppend; !m.TbSetor.FieldB59ame(,SetCodi%o,)./0nte%er := ro'9um; !b&dit<.SetFocu; TrataBotoe;end;
procedure TFrmTran.Bbt&ditarClick(Sender: TObject); begin
!m.!atabae.StartTranaction; !m.TbSetor.&dit; TrataBotoe;end;
procedure TFrmTran.Bbt2emo7erClick(Sender: TObject); begin
if !m.TbSetor.2ecordCount = > then
S"o$4ea%e(,Tabela 7aiaX,) else if 4ea%e!D6(,Tem certea Yue deeja remo7er o etor: ,1I !m.TbSetor.FieldB59ame(,Set9ome,)./Strin% , ,*
mtConKirmation* LmbAe* mb9oM* >) = mrAe then !m.TbSetor.!elete;end;
procedure TFrmTran.BbtCancelarClick(Sender: TObject); begin
!m.TbSetor.Cancel; !m.!atabae.2ollback; TrataBotoe;
)%)
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 122/139
end;
procedure TFrmTran.BbtConKirmarClick(Sender: TObject); begin
!m.TbSetor.ot; !m.!atabae.Commit; TrataBotoe;end;
end&
DELPHI 3 S1L
S<L J !inJe dJ eBJ o$J Ke O#ect PJBcJ!" +JBic o CYY" J $Jnde die$enQJ KeS<L o!tJdJ totJ!ente ?J$J o +Jnco de DJdoB inde?endente do F$ont End :De!?@i" V+ o CYY+i!de$;( O#iJente" BeB JB?ectoB e ?J$tic!J$idJdeB dee Be$ eBtdJdoB e c$Bo ?J$te( NoBBo o#etio JKi te$ entendiento de coo o De!?@i ?ode Jni?!J$ o cZdio S<L(
At$JB do S<L ?oBBe! Jni?!J$oB die$enteB #JncoB de dJdoB :O$Jc!e" S<L3Se$e$" D+%;ti!iJndo J `nicJ !inJe e não neceBBitJndo de J?$ende$ todos9' oB coJndoB Jo dJ$ de #Jnco de dJdoB(
U doB $ec$BoB JiB ti!iJdoB dJ !inJe o coJndo SELECT" BJ ti!iJQão o#edece JeBt$t$J deinidJ coo J#JioH
S&D&CT L!0ST09CTM G ` columnQlitF2O4 tableQreKerenceL3N&2& predicateMLO2!&2 BA orderQlitM
L62O+ BA %roupQlitMLN/096 "a7in%QconditionM
OB iteB deinidoB ent$e kl Bão o?cionJiB(
Ee?!oH
S&D&CT GF2O4 emplo5ee3N&2& Nire!ate ‘>1H>1H1EE>#O2!&2 BA Nire!ate
Selecione todo o campo!a tabela emplo5eeOnde a data W menor do Yue >1H>1H1EE>Ordenada pelo campo data
S&D&CT &mp9o*Firt9ame* Dat9ameF2O4 emplo5ee3N&2& (Nire!ate ‘>1H>1H1EE>#)/9! (Salar5 J>>>>)O2!&2 BA Firt9ame
Selecione omente o I campo!a tabela emplo5eeOnde a data W menor do Yue >1H>1H1EE>& o alrio W maior do Yue J>>>>Ordenada pelo campo Firt9ame
AB c!B!JB G$o? +] e 0Jin não Be$ão J#o$dJdJB( E!JB Bão ti!iJdJB ?J$J eBtJ#e!ece$ $?oB eJ$eJQão(
)' E cJdJ #Jnco de dJdoB @ J etenBão do S<L ?J$J Jni?!J$ $ec$BoB eB?ecicoB(
)%%
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 123/139
O De!?@i ?e$ite J Jni?!JQão de coJndoB e S<L Jt$JB de co?onente =ata:et c@JJdo?uerB. VJoB ee?!iicJ$ J J?!icJQão ti!iJndo conB!tJB)* e S<L(
SJ!e noo ?$oeto dent$o de J ?JBtJ co o noe de S<L(
Unit) UF$E?$eJdoBS<LP$oect) E?$eJdoS<L
Cono$e J i$J J Bei$" inBi$J oB co?onenteB neceBB$ioB(
O#Be$e Ke oB co?onenteB ti!iJdoB :eceQão 3 D+G$id; 70 Bão co?onenteB data<aGare :PJ!etJ3DJtJ Cont$o!B; ?o$Ke não eBtJoB inBe$indo o editJndo oB dJdoB" JB ?JBBJndo parSmetros ?J$J J conB!tJ(
O co?onente T<e$] ?ode Be$ coni$Jdo coo J Bei$H
ob#ect Ur&mp: TUuer5 !atabae9ame = ,!B!&4OS, SUD.Strin% =
S&D&CT G F2O4 emplo5ee /cti7e = True 9ame = Ur&mp end
O co?onente DJtJSo$ce ?ode Be$ coni$Jdo coo J Bei$H
ob#ect !&mp: T!ataSource /uto&dit = Fale
)* Sinqnio de ?eBKiBJ(
)%4
D+G$id
MJBEdit
T<e$]
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 124/139
!ataSet = Ur&mp 9ame = !&mp end
OB co?onenteB +ttonB dee te$ BJ ?$o?$iedJde NJe de Jco$do co J o$ientJQão nJ i$JJnte$io$(
?uerB < 8ropriedadesActie Deine Be o dJtJBet eBt Jtio(DJtJ#JBeNJe Deine o J!iJB o ?Jt@ io ?J$J o #Jnco de dJdoB(S<L Deine J Bt$in S<L(
?uerB < -AtodosC!oBe Fec@J o dJtJBet(EecS<L EectJ o cZdio S<L deinido nJ ?$o?$iedJde S<L Be $eto$nJ$
c$Bo$( Uti!iJdo e INSERT" UPDATE" DELETE" e CREATE TA+LE(O?en EectJ o cZdio S<L deinido nJ ?$o?$iedJde S<L co $eto$no de
c$Bo$(
S<L(Add AdicionJ J Bt$in ?$o?$iedJde S<L(S<L(C!eJ$ Li?J J !iBtJ :TSt$inB; dJ ?$o?$iedJde S<L(
A?ZB deinido J diB?oBiQão doB co?onenteB deinJ oB cZdioB ?J$J cJdJ eento dJ nit coo J Bei$H
unit +Frm&mpre%adoSUD;interfaceuses
3indo$* 4ea%e* S5+til* Clae* 6rap"ic* Control* Form* !ialo%* StdCtrl* 6rid* !B6rid* !b* !BTable* 4ak* &'tCtrl* /pp&7nt;
type
TFrm&mpre%adoSUD = cla(TForm) !&mp: T!ataSource; Ur&mp: TUuer5; !B6rid1: T!B6rid; 6roupBo'1: T6roupBo'; &dit1: T&dit; BtneYuiaCodi%o: TButton; &dit<: T&dit; BbteYuia9ome: TButton; 6roupBo'<: T6roupBo'; 4ak&dit1: T4ak&dit; Bbt4otraTodo: TButton; BbteYuia!ata: TButton; 2adio6roup1: T2adio6roup;
anel1: Tanel; procedure BtneYuiaCodi%oClick(Sender: TObject); procedure BbteYuia9omeClick(Sender: TObject); procedure Bbt4otraTodoClick(Sender: TObject); procedure BbteYuia!ataClick(Sender: TObject); procedure &dit1e5re(Sender: TObject; 7ar e5: C"ar); private { 5riate declaration' }
public { 5ublic declaration' }
end;
)%5
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 125/139
var
Frm&mpre%adoSUD: TFrm&mpre%adoSUD;
implementation
{$R *.DFM}
procedure TFrm&mpre%adoSUD.BbteYuiaCodi%oClick(Sender: TObject);
begin if &dit1.Te't ,, then
begin Ur&mp.Cloe; Ur&mp.SUD.Clear; Ur&mp.SUD./dd(,S&D&CT G F2O4 emplo5ee,); Ur&mp.SUD./dd(,3N&2& &mp9o = :Codi%o,); Ur&mp.aramB59ame(,Codi%o,)./0nte%er := StrTo0nt(&dit1.Te't); Ur&mp.Open; end;end;
A ?JBBJe de ?J$\et$oB ?J$J o cZdio e S<L Be$ deinido Jt$JB do cJ$Jcte$ :
procedure TFrm&mpre%adoSUD.&dit1e5re(Sender: TObject; 7ar e5: C"ar); begin if ((e5 in L,>,..,E,M = Fale) and (3ord(e5) QB/C)) then
e5 := >;end;
procedure TFrm&mpre%adoSUD.BbteYuia9omeClick(Sender: TObject); begin if &dit<.Te't ,, then
begin Ur&mp.Cloe; Ur&mp.SUD.Clear; Ur&mp.SUD./dd(,S&D&CT &mp9o*Firt9ame*Dat9ame*Salar5 F2O4 emplo5ee,); Ur&mp.SUD./dd(,3N&2& +&2(Firt9ame) D0& :9ome,); Ur&mp.aramB59ame(,9ome,)./Strin% := +pperCae(&dit<.Te't) ,,; Ur&mp.Open; end;end;
procedure TFrm&mpre%adoSUD.Bbt4otraTodoClick(Sender: TObject); begin
Ur&mp.Cloe; Ur&mp.SUD.Clear; Ur&mp.SUD./dd(,S&D&CT G F2O4 emplo5ee,); Ur&mp.Open;
end;
procedure TFrm&mpre%adoSUD.BbteYuia!ataClick(Sender: TObject); begin
Ur&mp.Cloe; Ur&mp.SUD.Clear; Ur&mp.SUD./dd(,S&D&CT Firt9ame* Dat9ame* Nire!ate F2O4 emplo5ee,); case 2adio6roup1.0tem0nde' of
>: Ur&mp.SUD./dd(,3N&2& Nire!ate :!ata,);
)%'
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 126/139
1: Ur&mp.SUD./dd(,3N&2& Nire!ate :!ata,); <: Ur&mp.SUD./dd(,3N&2& Nire!ate = :!ata,); end;//ca'e try
Ur&mp.aramB59ame(,!ata,)./!ate := StrTo!ate(4ak&dit1.Te't); Ur&mp.Open; e'cept S"o$4ea%e(,!ado in7lidoX,);
end;//bloco tr end;
end&
T0CNICAS DE INTERFACE
SPLASH SCREEN
AB te!JB de J?$eBentJQão :S?!JB@ Sc$een; Bão ito ti!iJdJB e die$BoB ?$o$JJB do XindoXB"ee?!o De!?@i" 7o$d" Ece!" etc((( É J Jne!J de ?$o?JJndJ Ke iBtJ no inicio" d$Jnte o
carre4amento doB $ec$BoB dJKe!e ?$o$JJ ?J$J J eZ$iJ ?$inci?J!( VJoB c$iJ$ J te!J deent$JdJ ?J$J deonBt$J$ eBte $ec$BoH
C$ie J noJ J?!icJQão e $Je oB J$KioB co oB noeBH ata 8 Spla"
+nit1 V +Frmrincipal
roject V Spla"
A ?$o?$iedJde NJe do o$!$io dee te$ o eBo noe dJ Unit Be J !et$J UW(
C$ie ot$o o$!$io :!? B N= !; e $Je3o co o noe +FrmSe%undo (
C$ie Jo$J" te$cei$o o$!$io e $Je3o co o noe +FrmSpla" ( ModiiKe JB BeinteB ?$o?$iedJdeB deBte o$!$ioH
ob#ect FrmSpla": TFrmSpla" BorderSt5le = b9one Caption = ,FrmSpla", ClientNei%"t = <I> Client3idt" = <J Color = clBtnFace oition = poScreenCenterend;
Dent$o deBte o$!$io inBi$J co?onente iJe e odiiKe BJB ?$o?$iedJdeBH
ob#ect 0ma%e1: T0ma%e /li%n = alClient icture = {in'ira uma &i=ura a 'eu =o'to}
end;
Pode3Be inBe$i$ co?onenteB LJ#e!WB ?o$ ciJ do co?onente IJe" #JBtJ JBtJ$ J ?$o?$iedJdeTranparent ?J$J t$e(
)%*
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 127/139
NotJ3Be Ke J?eBJ$ do o$!$io F$S?!JB@ Be$ ei#ido JnteB do o$!$io ?$inci?J! e!e ?odeBe$ c$iJdo J KJ!Ke$ oento" Jt$JB dJ J!te$JQão nJ i?!eentJQão de cZdio J Bei$(
Ao$J" c!iKe no Men P/ B O/7 e nJ !iBtJ @uto<Create o$B Be!ecione o o$!$ioF$S?!JB@( At$JB do cone ( W de o o$!$io ?J$J J !iBtJ @vailable orms(
Todo o$!$io c$iJdo ?e!o ?Jd$ão do De!?@i cJ$$eJdo ?J$J J eZ$iJ no oento dJeecQão do ?$o$JJ" Bendo deinidJ J o$de Jt$JB dJ !iBtJ @uto<Create( IBBo não Ke$ die$ Ke oB o$!$io dee Be$ c@JJdoB neBtJ o$de" JB Ke todos oB o$!$ioB$ee$enciJdoB e @uto<Create Be$ão criados nJ eZ$iJ ?$inci?J! JtoJticJente e todoBKe eBtão nJ !iBtJ @vailable orms eBtJ$ão dispon;veis ?J$J Be$e cJ$$eJdoB e nooento deinido ?e!o B$io(
Coni$e J Jne!J e c!iKe no Men P/ V= S:(
A iJ do J$Kio de ?$oeto :DPR; dee$ Be$ ei#idJ no Code Edito$(
VJoB J!te$J$ o cZdio do J$Kio DPR ?J$J J Beinte diB?oBiQãoH:Não neceBB$io diitJ$ oB coent$ioB(;
program Spla";
uses Form* 3indo$* +Frmrincipal in ,+Frmrincipal.pa, {Frm5rinci4al}* +FrmSe%undo in ,+FrmSe%undo.pa, {FrmSe=undo}*
)%,
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 128/139
+FrmSpla" in ,+FrmSpla".pa, {FrmS4la'h};
{$R *.RES}
begin /pplication.0nitialie; {Cria o &ormulario atrae' do metodo da 4ro4ria cla''e}
FrmSpla" := TFrmSpla".Create(/pplication);
//E:ibe o &ormulario FrmSpla".S"o$; {tuali>a o &orm 4ara e:ibir o' com4onente' in'erido'+ ma=e< abel'< etc}
FrmSpla".2eKre";
/pplication.CreateForm(TFrmrincipal* Frmrincipal); /pplication.CreateForm(TFrmSe%undo* FrmSe%undo);
{Ca'o ueira e:ibir o &ormulario 4or um tem4o minimo
4ode9'e u'ar a &un78o Slee4 ue con=ela o 'i'tema
4or um determinado tem4o men'urado em mili'e=undo'.
cre'centar a biblioteca indoB' na clau'ula GSES}
Sleep(<>>>); {ibera a memoria de'truindo o &ormulario de '4la'h}
FrmSpla".Free; {Di'4onibili>a a a4lica78o 4ara a intera78o com o u'uario}
/pplication.2un;end&
Co eBBe $Jciocnio" o o$!$io S?!JB@ Be$ ei#ido iniciJ!ente ?o$ não Be$ o -ain !orm:o$!$io ?$inci?J!; dJ J?!icJQão" Bendo deBt$do J?ZB oB o$!$ioB Be$e cJ$$eJdoB ?J$J JeZ$iJ(
CRIANDO E DESTRUINDO FORMS
Coo oi iBto neBte ee?!o Jnte$io$" oB o$!$io Bão" ?o$ ?Jd$ão" Jto3c$iJdoB ?e!o De!?@i( IBBo ?ode t$Je$ J!nB incoenienteB e ?$oetoB Jio$eB" iJine o De!?@i Jo iniciJ$ o J$Kio eecte!tentJ$ cJ$$eJ$ '&W o$!$ioB ?J$J J eZ$iJ ?$inci?J!(((
O ?$iei$o ?JBBo ti$J$ o o$!$io dJ !iBtJ @uto<Create e ?JBBJ3!o ?J$J J !iBtJ @vailable orms Jt$JBdo en P/ B O/7(
De?oiB deeoB deini$ o cZdio de c@JJdJ do o$ e de !i#e$JQão de eZ$iJ do o$ c@JJdo(
S?ondo o Beinte ee?!oH DoiB o$!$ioBH c@JJdo UF$P$inci?J! e ot$o UF$Sendo"Bendo Ke o ?$inci?J! J J c@JJdJ Jo o$ Becnd$io Jt$JB de #tton" o cZdio Be$iJ oBeinteH
procedure TFrmrincipal.Button1Click(Sender: TObject); begin FrmSe%undo := TFrmSe%undo.Create(/pplication); FrmSe%undo.S"o$4odal;//ou atra0' do m0todo ShoB end;
)%-
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 129/139
No o$!$io c@JJdo :F$Sendo; dee$ Be$ c$iJdo cZdio ?J$J !i#e$J$ J eZ$iJ >uandoeBte o$ ec@Jdo(
procedure TFrmSe%undo.FormCloe(Sender: TObject; 7ar /ction: TCloe/ction); begin
/ction := caFree;
end;
A J$ie! Action deine KJ! J JQão o o$!$io dee toJ$ Jo Be$ ec@Jdo( O deault ?J$Jo$!$ioB SDI o J!o$ cJ0ide" o BeJ" o o$!$io J?enJB oc!to ?e$Jnecendo nJ eZ$iJ ?$inci?J!" dJoB eBte co?o$tJento Jt$JB do J!o$ cJF$ee(UJ ot$J tcnicJ ?J$J o eBo o#etio Be$iJ deini$ J !i#e$JQão de eZ$iJ e #!oco t$] coo JBei$H
procedure TFrmrincipal.Button1Click(Sender: TObject); begin
FrmSe%undo := TFrmSe%undo.Create(/pplication); try
FrmSe%undo.S"o$4odal; finally
FrmSe%undo.Free; end;//do bloco &inall end;
EBte cZdio JciJ BZ ncionJ co o$!$ioB ModJiB" ?oiB o todo S@oX ?e$ite J eecQão dJB ?$ZiJB !in@JB de cZdio J?ZB J BJ c@JJdJ" t$Jendo eeito indeBeJdo neBte ee?!o(
MANIPULANDO CURSORES
É J tcnicJ co no BiBteJ o?e$JcionJ! XindoXB dJ$ o c$Bo$ de?endendo dJ JQão do B$ioe dJ $otinJ J Be$ eectJdJ( <Jndo J $otinJ ?JBBe! de deo$J" neceBB$io t$ocJ$ o c$Bo$ ?J$J oB#o!o de J?!@etJ" ?J$J Ke o B$io não c!iKe noJente nJ c@JJdJ dJ $otinJ o ?enBe Ke JKinJ eBt t$JJdJ" ?o$ ee?!o(
0 no De!?@i o#eto c@JJdo Screen. EBte o#eto cont$o!J oB c$Bo$eB e c$iJdo JtoJticJente ?e!o De!?@i" o deBeno!edo$ não ?$eciBJ c$iJ3!o e?!icitJente(OB c$Bo$eB Bão Bão dec!J$JdoB coo do ti?o TC$Bo$ e ?ode Be$ Jni?!JdoB coo o ee?!o Bei$H
procedure TFrmrincipal.Button<Click(Sender: TObject);var Curor/nterior : TCuror;
begin Curor/nterior := Sceen.Curor; Screen.Curor := crNour6la; try 2otina.!emorada; finally
Screen.Curor := Curor/nterior; end;//do bloco &inall end;
)%/
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 130/139
O #!oco t$]((inJ!!] oi ti!iJdo ?J$J J$Jnti$ Ke Be J! cZdio "errado ou não$ o$ eectJdodent$o do #!oco t$]" o c$Bo$ dee o!tJ$ Jo B#o!o Jnte$io$ Jo B#o!o dJ J?!@etJ :crNour6la ;Ke oi J$dJdoW nJ J$ie! Curor/nterior(
TOOLBARA Too!#J$ o$nece J #J$$J de e$$JentJB co #oteB ?$Z?$ioB e $ec$BoB ?e$BonJ!iJdoB( OB #oteBinBe$idoB nJ Too!#J$ Bão do ti?o TToo!+tton" conBide$JdoB o#etoB inte$noB dJ Too!#J$(VJoB ee?!iicJ$ BJ ti!iJQão Jt$JB de ee?!oH
C$ie J noJ J?!icJQão e $Je oB J$KioB co oB noeBH
ata 8 Toolbar
+nit1 V +FrmToolBar
roject V Toolbar
OB co?onenteB inBe$idoB Be$ãoH
O co?onente Too!#J$ J!in@J3Be JtoJticJente nJ ?J$te B?e$io$ do o$!$io dJ eBJ Jnei$JKe J #J$$J de StJtB J!in@J3Be nJ ?J$te ine$io$(O co?onente IJe ?ode te$ J ?$o?$iedJde /li%n deinidJ coo alClient e J ?$o?$iedJde Center
coo True(
PJ$J inBe$i$ #oteB nJ #J$$J Too!#J$" c!iKe co o #otão di$eito nJ #J$$J e eBco!@J NeX +tton" ?J$J inBe$i$ Be?J$Jdo$ de #oteB eBco!@J NeX Se?J$Jto$(
InBi$J 4 #oteB e Be?J$Jdo$eB coo no ee?!o J Bei$(
)4&
Too!#J$
StJtB+J$
IJe
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 131/139
PJ$J o o#eto IJeLiBt) deinJ t$B i$JB cinJBW c!icJndo e Add((( coo J#JioHAB i$JB ?ode Be$ 8 Fi!eO?en(#?" Too!B(#?" Doo$B@t(#? 8 Encont$JdJB no di$etZ$io ?Jd$ão ),
de i$JB do De!?@i( PJ$J ec!i$ J i$J dJ !iBtJ" c!iKe e De!ete(
PJ$J o o#eto IJeLiBt% deinJ JB eBJB i$JB" ?o$ co!o$idJB(
PJ$J o o#eto Po?U?Men) deinJ doiB enB Jt$JB do conBt$to$H
Caption #ame
DiBto$ce$ Mn?DiBto$ce$ No$J! Mn?No$J!
PJ$J o o#eto Too!+J$ deinJ JB ?$o?$iedJdeBH
ob#ect ToolBar1: TToolBar ButtonNei%"t = <J Button3idt" = <] Flat = True Not0ma%e = 0ma%eDit< 0ma%e = 0ma%eDit1 end;
), CHrA$KioB de P$o$JJBrA$KioB ConBr+o$!Jnd S@J$edrIJeBr+ttonB
)4)
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 132/139
0ma%e deine JB i$JB Ke Be$ão Jt$i#dJB JoB #oteB nJ iBJ!iJQão iniciJ! do co?onente(Not0ma%e deine JB i$JB Ke Be$ão Jt$i#dJB JoB #oteB no oento e Ke o oBe ?JBBJWneBteB co?onenteB cJBo J ?$o?$iedJde Flat eBteJ !iJdJ" e$Jndo eeito Bee!@Jnte #J$$J deconeB do Inte$net E?!o$e$(
O Bendo #otão dJ Too!#J$ :Too!+tton%; dee te$ JB BJB ?$o?$iedJdeob#ect ToolButton<: TToolButton
!ropdo$n4enu = opup4enu1 St5le = tb!rop!o$n end
DeinJ J ?$o?$iedJde 0int ?J$J oB t$B #oteB Bendo o $JciocnioH
O&'eto Finalidade int
Too!+tton) A#$i$ J$Kio de iJe A#$e J$Kio de iJeToo!+tton% DiBto$ce$ o não J i$J Pe$ite diBto$ce$ J iJe
Too!+tton4 Fec@J$ o ?$o$JJ SJi$ do J?!icJtio
PJ$J J #J$$J de BtJtB deinJH
ob#ect StatuBar1: TStatuBar /utoNint = True Simpleanel = True end
DeinJ oB Jni?!Jdo$eB de eentoB neceBB$ioB Bendo J nit J#JioH
unit +FrmToolbar;
{ inter&ace n8o &oi im4re''a}implementation
{$R *.DFM}
procedure TFrmToolBar.ToolButton1Click(Sender: TObject); begin
if Openicture!ialo%1.&'ecute then
0ma%e1.icture.DoadFromFile(Openicture!ialo%1.File9ame);end;
procedure TFrmToolBar.ToolButton]Click(Sender: TObject); begin
FrmToolBar.Cloe;end;
procedure TFrmToolBar.4np!itorcerClick(Sender: TObject); begin 0ma%e1.Stretc" := True; 4np!itorcer.C"ecked := True; 4np9ormal.C"ecked := Fale;end;
)4%
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 133/139
procedure TFrmToolBar.4np9ormalClick(Sender: TObject); begin
0ma%e1.Stretc" := Fale; 4np9ormal.C"ecked := True; 4np!itorcer.C"ecked := Fale;end;
end&
APLICAÇÕES MDI
UJ inte$Jce MDI :M!ti?!e Docent Inte$Jce; ?oBBi#i!itJ J iBJ!iJQão de JiB de docentoo o#eto Bi!tJneJente(A?!icJQeB MDI Bão conBtitidJB e$J!ente de doiB o JiB o$!$ioBH o o$!$io ?$inci?J!:MDIo$; Ke e$J!ente conBtiti J Jne!J ?$inci?J! do ?$o$JJ e BeB i!@oB :MDIc@i!d;!ocJ!iJdoB dent$o de BJ $eJ de t$J#J!@o(
E J?!icJQeB MDI" oc e$J!ente ?$eciBJ oBt$J$ `!ti?!JB inBt\nciJB de c!JBBe de o$!$io(U o$!$io i!@o de MDI dee Be$ c$iJdo ?J$J Be$ ei#ido e dee Be$ destru;do ?J$J não JiB ei#3!o(
Co J noJ J?!icJQão JoB iniciJ$ J J?!icJQão MDI Ke ?oBBJ J#$i$ $ioB J$KioB de i$JBBe!ecionJdoB ?e!o B$io(
SJ!e o ?$oeto e J pasta c@JJdJ IJeMDI
#ome atual #ovo nome
Unit) UF$PJiP$oect) IJeMDI
A!te$e JB ?$o?$iedJdeB do o$H
ob#ect Frmai: TFrmai 3idt" = ]] Nei%"t = I>E Caption = ,Frmai, FormSt5le = K4!0Form oition = poScreenCenterend
InBi$J no o$!$io co?onente O?enPict$eDiJ!o e co?onente MJinMen
Cont$J oB BeinteB MenB Jt$JB do conBt$to$ do MJinMenH
Ca4tion !ame ShortCut
\/rYui7o 4nu/rYui7o\/brir 4nu/brir Ctrl/\Sair 4nuSair CtrlT
)44
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 134/139
T$oKe J ?$o?$iedJde NJe do co?onente MJinMen ?J$J -nu8ai
SJ!e todo o ?$oeto( :AtJ!iJ$;
InBi$J JiB o$!$io e BJ!e3oH
#ome atual #ovo nomeUnit) UF$Fi!@o
ModiiKe J Beinte ?$o?$iedJdeH
ob#ect FrmFil"o: TFrmFil"o FormSt5le = K4!0C"ildend
InBi$J co?onente IJe no o$!$io F$Fi!@o e odiiKe JB BeinteB ?$o?$iedJdeBH
ob#ect 0ma%e1: T0ma%e
/li%n = alClient Center = True end
SJ!e todo o ?$oeto( :AtJ!iJ$;
Eecte J J?!icJQão e iBJ!ie o o$!$io F$Fi!@o Ke Be encont$J dent$o de F$PJi( Note Ke o$!$ioB i!@oB de MDI não te J o?Qão de eiBti$ :te$ Bido c$iJdo; e não Be$ ei#ido :oKe ?oBBe! ?J$J o$!$ioB conB;(
O deault do J#iente De!?@i c$iJ$ JtoJticJente J inBt\nciJ de cJdJ orm do ?$oeto( É ?o$ iBto Ke eiBte JB $ee$nciJB de c$iJQão no cZdio dent$o do J$Kio de ?$oeto :DPR;( M7:P/ B V= S:
begin /pplication.0nitialie; /pplication.CreateForm(TFrmai* Frmai); /pplication.CreateForm(TFrmFil"o* FrmFil"o); /pplication.2un;end&
Coo deBeJoB Ke J J?!icJQão $ode iniciJ!ente Be nen@J Jne!J i!@J J#e$tJ" deeoB J!te$J$ eBte co?o$tJento( PJ$J Ke o o$!$io MDIFi!@o não BeJ c$iJdo JtoJticJente co o ?$oeto"deeoB eB?eciicJ$ no ?$oeto Ke o eBo não aauto<createb(
PJ$J iBBo #JBtJ BJ$ J o?Qão de en P/ B O/7 e J!te$J$ ?J$J F$Fi!@o e @valiable orms(Coo nJ i$J J Bei$(
DeBtJ Jnei$J" o Fo$ eBtJ$ diB?one!" ?o$ não Be$ c$iJdo JtoJticJente ?e!o ?$o$JJ(
A?ZB J coni$JQão" ?odeoB notJ$ Ke o cZdio no J$Kio de ?$oeto :DPR; tJ# oi J!te$Jdo(
)45
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 135/139
A Jnei$J de c$iJ$oB o o$ F$IJe dee$ Be$ eitJ e te?o de eecQão Jt$JB de cZdioJendo J c@JJdJ Jo todo C$eJteFo$ do o#eto A??!icJtion(
E>? begin
comando1;
comando<; /pplication.CreateForm(TFrmFil"o* FrmFil"o);end;
DeBtJ Jnei$J" deinJ o Beinte cZdio ?J$J o#eto MnA#$i$
procedure TFrmai.4nu/brirClick(Sender: TObject); begin
if Openicture!ialo%1.&'ecute then//abre a cai:a de dialo=o begin
/pplication.CreateForm(TFrmFil"o* FrmFil"o); //carre=a a &i=ura 4ara o com4onente m=ma=em
FrmFil"o.0ma%e1.icture.DoadFromFile(Openicture!ialo%1.File9ame);
FrmFil"o.Caption := Openicture!ialo%1.File9ame;HHmuda o caption end;end;
DeinJ o Beinte cZdio ?J$J MnSJi$
procedure TFrm4ain.4nuSairClick(Sender: TObject); begin
Frmai.Cloe;end;
)4'
Se!ecionJ3Be oo$ do !Jdo
eBKe$do eti!iJ3Be eBte
cone
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 136/139
Eecte J J?!icJQão e tente ec@J$ JB Jne!JB i!@JB( É ?oBBe!h
Ao cont$$io de ot$oB ti?oB de o$B" o$ MDIC@i!d não ec@J JtoJticJente KJndoeectJoB Be todo C!oBe(Ent$etJnto no eento OnClose de KJ!Ke$ orm teoB ?J$\et$o A/7 Ke noB ?e$ite deini$
J JQão eB?eciicJH Action Comportamento
CJNone O o$ não ec@J$ 8 nen@J JQão Be$ toJdJ(CJ0ide O o$ J?enJB aeBcondidob" não Bendo JiB ei#ido 8 ?o$ JindJ
eiBti$ e eZ$iJ( EBte o co?o$tJento deault de o$B conB(cJF$ee O o$ Be$ destru;do 8 e não Bi?!eBente eBcondido(cJMiniie O o$ Be$ iniiJdo" e não ec@Jdo( EBte o deault ?J$J o$B i!@oB
de MDI(
PJ$J o$QJ$ MDIC@i!d J ec@J$ deeoB J!te$J$ o ?J$\et$o Action ?J$J cJF$ee e Be eento
OnC!oBe(
VJoB Jc$eBcentJ$ o Beinte cZdio no eento OnClose do o$ F$IJe
procedure TFrmFil"o.FormCloe(Sender: TObject; 7ar /ction: TCloe/ction); begin
/ction := CaFree;end;
:)%; VJoB JdicionJ$ doiB itenB de en Jo MnPJi coo no ee?!oH
0tem:
Caption #ame >hortCut \Zanela 4nuZanela\&m Cacata 4nu&mCacata\Dado a Dado 4nuDadoaDado
No eento OnClic/ do ite MnECJBcJtJ deini$ o cZdioH
procedure TFrmai.4nu&mCacataClick(Sender: TObject); begin Cacade;end;
No eento OnClic/ do ite MnLJdoJLJdo deini$H
procedure TFrmai.4nuDadoaDadoClick(Sender: TObject); begin Tile;end;
Criando um lista das 'anelas a&ertas
)4*
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 137/139
A!te$e J ?$o?$iedJde RindoG-enu do o$ F$PJi ?J$J Mn.Jne!JB(Co iBto J$eoB Ke J !iBtJ dJB Jne!JB i!@JB J#e$tJB iKe diB?one! Bo# o Men .Jne!JB doo$!$io F$PJi(
esclando enus
Ot$o $ec$Bo inte$eBBJnte de J?!icJQeB MDI J ?oBBi#i!idJde de eBc!J$ oB enB dJ Jne!J i!@J:F$Fi!@o; co J Jne!J ?Ji :F$PJi;(
VJoB JdicionJ$ o#eto MJinMen no o$!$io F$Fi!@o" c@JJndo3o de MnFi!@o(
0tem:
Caption #ame\0ma%em 4nu0ma%em\/jutar a janela 4nu/jutar
PJ$J o eento OnClic/ de MnABtJ$ deini$H
procedure TFrmFil"o.4nu/jutarClick(Sender: TObject); begin
HHC"ecked motra um ,7, (marcador) para controle li%Hde. 4nu/jutar.C"ecked := not 4nu/jutar.C"ecked; HHermite ditorcer a ima%em para ocupar todo o epaRo 0ma%e1.Stretc" := not 0ma%e1.Stretc";end;
8orAm Be eectJ$oB J J?!icJQão JoB notJ$ Ke o Men dJ Jne!J i!@J Bo#$e?qB o Men dJ Jne!J ?Ji(
A ?oBiQão do Men dJB Jne!JB i!@JB e $e!JQão JoB dJ Jne!J MDI dete$inJdJ ?e!J ?$o?$iedJdeG$o?Inde de cJdJ (
Se deBeJoB Ke o Men MnFi!@o J?J$eQJ entre oB enB MnA$Kio e Mn.Jne!J :do o$!$ioF$PJi;" deeoB Jt$i#i$3!@eB J!o$eB ?J$J J ?$o?$iedJde G$o?Inde cono$e J#JioH
)4,
O#etoMJinMen coJ ?$o?$iedJde
NJeH MnFi!@o
Cont$to$ doo#eto
MJinMenco oBo#etoB
MenIte
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 138/139
enu ;roupIndex
MnA$Kio &MnIJe )Mn.Jne!JB %
7eaproveitamento de c8digo
Pode3Be inBe$i$ J Too!+J$ no o$!$io F$PJi ?J$J Jci!itJ$ JindJ JiB J Jni?!JQão doJ?!icJtio ?e!o B$io(
Se nJ Too!+J$ oB #oteB te$ão oB eBoB coJndoB doB iteB de Men :A#$i" Fec@J$;" J BeBtão Ke nJ Too!+J$ BeJ $eJ?$oeitJdo o cZdio eBc$ito noB iteB de en dJ Beinte Jnei$JH
C$ie J Too!+J$" oB #oteB deBeJdoB e Be!ecione doB #oteB( NJ O#ect InB?ecto$ Be!ecione o eentoOnC!ic dJKe!e #otão e n"o d d?!o c!iKe" J#$J J cJiJ co#o do eento OnC!ic e eBco!@J ?$ocediento ?$ontoH
)4-
O#etoBe!ecionJdo
PJ$Jreaproveitar
c8digo" J#$J JcJiJ co#odiB?one! noBeentoBdeBeJdoB(
MnA#$iC!ic eento c$iJdo Jt$JBdo o#eto MJinMen
8/20/2019 Apostila delphi 5
http://slidepdf.com/reader/full/apostila-delphi-5 139/139
REFER2NCIA BIBLIOGR(FICA
DoinJndo o De!?@i ' aA +#!iJb 8 MJ$co CJntsMJ$on +ooB" %&&&
P$o$JJQão O$ientJdJ J O#etoB BJndo o De!?@i 4 8 FJiQJ! FJ$@Jt de CJ$J!@oEdito$J É$iJ
De!?@i5 C$Bo Co?!eto 8 MJ$ce!o LeãoAce! +ooB do +$JBi!
De!?@i5 SenJc 8 Adi!Bon ReBendeEdito$J SENAC +e!o 0o$ionte
4*' DicJB de De!?@i 8 +$no Sonnino
MJ$on +ooB