Академический Документы
Профессиональный Документы
Культура Документы
AxCadastro
MBrowse
Modelo2
Modelo3
Funes de
Tratamento de
Arquivos
AxCadastro,MBrowse,Modelo2,Modelo3
AxCadastro
AxPesqui()
AxVisual()
AxInclui()
AxAltera()
AxDeleta()
AxCadastro
AxInclui()
Ver 100_Cad.prw
AxCadastro
aRotina array onde devem ser incluidos os botes (no mximo, 10).
Esses botes podem ser associados a qualquer funo,
inclusive AxInclui(), AxAltera(), etc.
Ver 110_TranM1.prw
Sobre variveis
Referncia
Nome := Joo a uma
varivel
atribui S Cria a
o de varivel
valor?
Varive N Nome := Joo
Atribui o S
valor l existe Cria como privada
varivel ?
Joo Var. Nome N Erro:
varivel
no existe
Existe
um N
arquivo
aberto ?
Arquivo Para no confundir variveis de memria com
S campos de arquivos, usa-se o ALIAS:
Codigo Nome
Joo M->Z1_Nome varivel de memria
Existe SZ1->Z1_Nome campo de arquivo
Grava o S campo N
valor no com
este
campo Arquivo
nome ?
Joo Campo Nome Codigo Descricao
Sobre variveis
JOSE
aprovador@tecnico.com.br
Para cada campo criada uma varivel de memria com o mesmo nome,
onde os dados digitados ficam inicialmente armazenados, antes de ser
efetivamente gravados no arquivo:
M->Z1_NOME JOSE
M->Z1_EMAIL aprovador@tecnico.com.br
M->Z1_EMAIL1
M->Z1_SALDO
Ver FuncMod2
Ver MarkBrow (exemplo do Baile)
Modelo 2
Enchoice
Nmero
Variveis
Nome Data de memria
aCols
Modelo 2
Enchoice
Nmero
Variveis
Nome Data de memria
1 2 3 4
1 Item Tipo Histrico Valor Titulo
2 Z2_ITEM Z2_TIPO Z2_HIST Z2_VALOR Campo
3 @E 999,999,999.99 Picture
4 2 1 20 12 Tamanho
5 0 0 0 2 Decimal
6 Valid. aHeader
GetDados
7 Usado
8 C C C N Tipo
9 SZ2 SZ2 SZ2 SZ2 Arquivo
10 R R R R Contexto
1 2 3 4 5
Modelo 2
Array aRotina
lRet
mBrowse()
.T.
Monta os parametros:
1. Variveis de memria
2. aHeader 3 5
Incluso nOpc Excluso
3. aCols
4. Enchoice
4
Ver 120_TranM2.prw
Modelo 2
1 2 3 4
1 Item Tipo Histrico Valor Titulo
2 Z2_ITEM Z2_TIPO Z2_HIST Z2_VALOR Campo
3 @E 999,999,999.99 Picture
4 2 1 20 12 Tamanho
5
6
0 0
Nr. colunas no aCols =
0 2 Decimal
Valid. aHeader
7
8 C
Nr.C colunas
C
no aHeader
N
+1 Usado
Tipo
9 SZ2 SZ2 SZ2 SZ2 Arquivo
10 R R R R Contexto
1 2 3 4 5
1 Nil Nil Array(?)
Array(5)
Nil Nil Nil
aCols
// Como cada elemento de aCols sempre contera um elemento a mais que o aHeader,
// adiciona em aCols um ARRAY com o "num.elementos de aHeader + 1", ou seja, 5 elementos.
AAdd(aCols, Array(Len(aHeader)+1))
4
Modelo 2 Criao do aCols para Incluso
Preenche o aCols de acordo com o Inicializador-Padro
1 2 3 4
1 Item Tipo Histrico Valor Titulo
2 Z2_ITEM Z2_TIPO Z2_HIST Z2_VALOR Campo
3 @E 999,999,999.99 Picture
4 2 1 20 12 Tamanho
5 0 0 0 2 Decimal
6 Valid. aHeader
7 Usado
8 C C C N Tipo
9 SZ2 SZ2 SZ2 SZ2 Arquivo
10 R R R R Contexto
1 2 3 4 5
1 Nil
Nil
D Nil Nil 0,00 Nil
aCols
For i := 1 To Len(aHeader)
Z2_ITEM
Z2_VALOR
Z2_HIST
Z2_TIPO
aCols[1][i] := CriaVar(aHeader[i][2])
2
3
4
1 2
3
4
1
Next
Modelo 2 Criao do aCols para Incluso
Inicializa a ltima coluna com .F.
1 2 3 4
1 Item Tipo Histrico Valor Titulo
2 Z2_ITEM Z2_TIPO Z2_HIST Z2_VALOR Campo
3 @E 999,999,999.99 Picture
4 2 1 20 12 Tamanho
5 0 0 0 2 Decimal
6 Valid. aHeader
7 Usado
8 C C C N Tipo
9 SZ2 SZ2 SZ2 SZ2 Arquivo
10 R R R R Contexto
1 2 3 4 5
1 Nil
Nil
D Nil Nil 0,00 .F.
Nil
aCols
// aCols[1][5] := .F.
aCols[1][Len(aHeader)+1] := .F.
4
Modelo 2 Criao do aCols para Incluso
Inicializa a coluna do ITEM com 01
1 2 3 4
1 Item Tipo Histrico Valor Titulo
2 Z2_ITEM Z2_TIPO Z2_HIST Z2_VALOR Campo
3 @E 999,999,999.99 Picture
4 2 1 20 12 Tamanho
5 0 0 0 2 Decimal
6 Valid. aHeader
7 Usado
8 C C C N Tipo
9 SZ2 SZ2 SZ2 SZ2 Arquivo
10 R R R R Contexto
1 2 3 4 5
1
01 Nil
D Nil Nil 0,00 .F.
Nil
aCols
1
Modelo 2
dbSelectArea(cAlias)
dbSetOrder(2) // Z2_Filial + Z2_Nome + Z2_Numero + Z2_Item
dbSeek(xFilial(cAlias) + M->Z2_Nome + M->Z2_Numero)
01 PEDRO 0003
1 2 3 4
1 Item Tipo Histrico Valor Titulo
2 Z2_ITEM Z2_TIPO Z2_HIST Z2_VALOR Campo
3 @E 999,999,999.99 Picture
4 2 1 20 12 Tamanho
5 0 0 0 2 Decimal
6 Valid. aHeader
7 Usado
8 C C C N Tipo
9 SZ2 SZ2 SZ2 SZ2 Arquivo
10 R R R R Contexto
1 2 3 4 5
1 Nil Nil Nil Nil Nil
aCols
// Como cada elemento de aCols sempre contera um elemento a mais que o aHeader,
// adiciona em aCols um ARRAY com o "num.elementos de aHeader + 1", ou seja, 5 elementos.
AAdd(aCols, Array(Len(aHeader)+1))
4
Modelo 2 Criao do aCols para Alterao
Preenche o aCols com os dados lidos do arquivo
1 2 3 4
1 Item Tipo Histrico Valor Titulo
2 Z2_ITEM Z2_TIPO Z2_HIST Z2_VALOR Campo
3 @E 999,999,999.99 Picture
4 2 1 20 12 Tamanho
5 0 0 0 2 Decimal
6 Valid. aHeader
7 Usado
8 C C C N Tipo
9 SZ2 SZ2 SZ2 SZ2 Arquivo
10 R R R R Contexto
1 2 3 4 5
1 Nil
01 Nil
D Deposito
Nil Nil 500,00 Nil
aCols
For i := 1 To Len(aHeader)
If aHeader[i][10] == "R
Z2_ITEM
Z2_VALOR
Z2_HIST
Z2_TIPO
aCols[nLin][i] := FieldGet(FieldPos(aHeader[i][2]))
Else 1
4
2
3 8
4
7
6 1
2
3
4 4 6 7 8
aCols[nLin][i] := CriaVar(aHeader[i][2], .T.) Z2_ITEM Z2_TIPO Z2_HIST Z2_VALOR
01 D Deposito 500,00
EndIf 02 D Deposito 150,00
03 S Saque 90,00
Next
Modelo 2 Criao do aCols para Alterao
Inicializa a ltima coluna com .F.
1 2 3 4
1 Item Tipo Histrico Valor Titulo
2 Z2_ITEM Z2_TIPO Z2_HIST Z2_VALOR Campo
3 @E 999,999,999.99 Picture
4 2 1 20 12 Tamanho
5 0 0 0 2 Decimal
6 Valid. aHeader
7 Usado
8 C C C N Tipo
9 SZ2 SZ2 SZ2 SZ2 Arquivo
10 R R R R Contexto
1 2 3 4 5
1 01 D Deposito 500,00 .F.
Nil
aCols
// aCols[1][5] := .F.
aCols[nLin][Len(aHeader)+1] := .F.
4
Modelo 3
Similar ao Modelo2
Diferena:
Ver 130_TranM3.prw