Tabela de prefixos sugeridos

Embora os prefixos não sejam requeridos, utilizá-los tornará nosso código bem mais profissional e fácil de ser entendido. A seguir está uma lista dos prefixos sugeridos pela Microsoft:

Tabela 9

      Prefixo      Tipo de Objeto Exemplo
Chk CheckBox chkReadOnly
Col Collection colFormObjects
Cbo ComboBox cboEnglish
Cmd CommandButton cmdCancel
Cmg CommandGroup cmgChoices
Cnt Container cntMoverList
Ctl Control ctlFileList
Cad CursorAdapter cadInventory
<user- Custom user-defined
defined>
Dte DataEnvironment dteSalesForm
Edt EditBox edtTextArea
Frm Form frmFileOpen
Frs FormSet frsDataEntry
Grd Grid grdPrices
Grc Column grcCurrentPrice
Grh Header grhTotalInventory
Hpl HyperLink hplHomeURL
Img Image imgIcon
Lbl Label lblHelpMessage
Lin Line linVertical
Lst ListBox lstPolicyCodes
Olb OLEBoundControl olbObject1
Ole OLE oleObject1
Opt OptionButton optFrench
Opg OptionGroup opgType
Pag Page pagDataUpdate
Pgf PageFrame pgfLeft
Prj ProjectHook prjBuildAll
Sep Separator sepToolSection1
Shp Shape shpCircle
Spn Spinner spnValues
Txt TextBox txtGetText
Tmr Timer tmrAlarm
Tbr ToolBar tbrEditReport
Xad XMLAdapter xadRemoteXMLData
Xfd XMLField xfdPrices
Xtb XMLTable xtbInventory

Nosso formulário de Cadastro de Usuários deverá ficar com a aparência exibida na figura 36. Os botões de comando para todos os demais formulários de cadastro serão os mesmos. Por isso é bom planejarmos para que o código seja 100% reutilizável. Dessa forma estaremos aplicando bem os conceitos da OOP.

Figura 36 – Janela de Cadastro de Usuários

Nosso formulário terá os seguintes métodos e propriedades personalizados:

Tabela 10 – Métodos

MÉTODO OBJETIVO
BloquearRegistro() Bloqueia   o   registro   para   operações   de   alteração   e

remoção (delete).

CoordenaBotoes() Coordena o estado dos botões do formulário de acordo

com cada operação.

CoordenaControles() Coordena o estado dos controles de edição dos dados,

tornando-os editáveis ou não editáveis.

CoordenaNavegacao() Coordena   o   estado   dos   botões   de   navegação   do

formulário.

CriticarDados() Reservado para a escrita de código para validação dos

dados do formulário.

PosicionarPrimeiroCampo() Executa    o    comando    armazenado    na    propriedade

PrimeiroCampoFoco. É usado para posicionar o cursor no campo que será o primeiro foco em operações de adição e edição de registros.

TratarErro() Faz o tratamento de erros do formulário.

Tabela 11 – Propriedades

PROPRIEDADE OBJETIVO
PrimeiroCampoFoco Nesta propriedade será colocado o comando responsável

pelo posicionamento do foco no primeiro campo editável.

Além dos métodos já apresentados, ainda iremos programar o evento Init do formulário a fim de definirmos as configurações iniciais do formulário. Sim, eu disse programar o evento Init. O fato é que um evento também pode ser programado como um método. Ou seja, podemos determinar código para ser executado quando um evento ocorre. Assim o código programado no evento Init logo será o método Init. Pra descomplicar um pouco, apenas tenha em mente que o evento em si não faz nada. Ele apenas ocorre e pronto. Aí, para facilitar nossa vida podemos  escrever  códigos  quando  eles  ocorrem.  Ao  código  escrito  ali  no  evento, denominamos método.

Antes  de  prosseguirmos  é  bom  que  conhecermos  a  ordem  de  ocorrência  dos  principais eventos de um formulário do Visual FoxPro a fim de que quando precisarmos codificá-los não venhamos cometer alguns enganos.

Tabela 12 – Ordem de ocorrência dos principais eventos num formulário

EVENTO DESCRIÇÃO
Load Ocorre  antes  do  objeto  form  (ou  outro  qualquer)  ser

criado. Caso queira evitar a criação condicional de um form, use um RETURN .F. a patir do evento Load e o objeto não será criado.

Init Ocorre quando o objeto é criado. Cada objeto ou controle

incluso no formulário também possui um evento init. Todos os eventos Init’s de cada controle incluído no formulário ocorrem antes do Init do formulário, ou seja, todos os init’s dos objetos contidos ocorrem antes do evento Init do container (formulário, recipiente).

Você pode usar o evento init para fazer configurações no formulário ou nos demais controles deste.

Show Apesar  deste  não  ser  classificado  como  um  evento

propriamente dito, é o terceiro a ocorrer quando da ativação normal de um formulário. É usado para mostrar o formulário e ainda para configurar a forma como o mesmo será exibido.

Activate Ocorre no momento que o formulário é exibido e torna-se

ativo.

GotFocus Quando da ativação de um formulário, o primeiro objeto

da  lista  que  estiver  inserido  no  formulário  receberá  o foco. Este evento ocorre exatamente no momento em que o primeiro objeto recebe o foco.

Ocorre também a partir daí sempre que um objeto recebe o foco dentro do formulário.

É importante saber que diversos outros tipos de objetos também possuem Propriedades, Eventos e Métodos (PEM’s) de mesmo nome. Apesar de terem PEM’s de mesmo nome, a execução desses PEM’s em um objeto não interfere na execução dos PEM’s de outro objeto. A esta característica damos o nome de ENCAPSULAÇÃO.

Agora que já estamos conhecendo a ordem de ocorrência dos eventos quando da execução de um formulário já podemos ter idéia de onde adicionar o código. Existem diversos outros eventos que ocorrem quando um formulário está sendo executado, mas à medida que formos precisando deles passaremos a conhecê-los em mais detalhes.

Continua em Desenvolvendo em VFP – Parte 9

Print Friendly, PDF & Email

Sobre o Autor