Página 1 de 1

Facilidade para criar Objetos e Variáveis para get

Enviado: 28 Set 2010 11:50
por acelconsultoria
Olá, galera do fórum...

Bom, eu não sei se esse assunto já foi tratado aqui, mas queria perguntar uma coisa.

Para trabalhar com a hwgui, é necessário, além de declarar as variáveis, também declarar os objetos para realizar uma sequencia de GETs.
Se pegarmos como exemplo um DBF com os campos:
CODIGO, N, 10
DESCRICAO, C, 40
VALOR, N, 14,4

Teríamos que criar os objetos de GET:
oCodigo
oDescricao
oValor

E, também, as variáveis:
cCodigo := 0
cDescricao := space(40)
cValor := 0

No entando, para criar as variáveis, podemos usar uma função que facilita bastante, não importando a quantidade de campos:

Código: Selecionar todos

Function CriaVar()
a=Fcount()
DbGoBottom()
skip
For I = 1 to a
   NomeCampo := Fieldname(I)
   NomeVar := NomeCampo
   PUBLIC &NomeVar
   M->&NomeVar := &NomeCampo
Next
Return 
Com isso, ganhamos tempo para criar as variáveis, pois seja lá qual for o DBF aberto, todas as variáveis são criadas para o GET, adicionando apenas um "M->" no seu início.

Mas na HWGUI é necessário tbem a declaração dos objetos GETs. E eu pergunto, existe a possibilidade de se criar os objetos nessa mesma linha de raciocínio para ganhar tempo ???

Tenho trabalhado com GTWVW/Visual Lib. E toda vez que vou fazer uma tela de cadastro com GETs, apenas abro o DBF e chamo a função CriaVar(), que já gera automaticamente as variáveis com "M->". No caso da HWGUI, eu teria que ficar perdendo tempo olhando o DBF, para criar os objetos tbem, e isso leva algum tempo.

Alguém tem alguma idéia ???

Re: Facilidade para criar Objetos e Variáveis para get

Enviado: 28 Set 2010 17:16
por Toledo
Maickon, faça da mesma maneira do seu exemplo:

Código: Selecionar todos

For I = 1 to Fcount()
   NomeCampo := Fieldname(I)
   LOCAL o&NomeCampo.
   LOCAL c&NomeCampo.
   c&NomeCampo. := &NomeCampo.
Next
Abraços