bom dia pessoal, gostaria de saber se tem como acrescenter dois campos gets em uma inclusao de dados por exemplo tenho:
@10,10 get cod1 pict "99999"
@12,10 get cod2 pict "99999"
@14,10 get cod3 pict "99999"
@16,10 get cod4 pict "99999"
read
Quando o usuario comecar a digitar, ele quiser acrescentar mais dois campos para digitacao, teclando uma tecla de funcao por exemplo, ai abriria mais dois campos assim:
@18,10 get descricao1 pict "@!"
@12010 get descricao2 pict "@!"
read
O usuario nao quer ficar dando enter nesses dois campos porque sao muitos lancamentos, entao esses dois campos seria opcionais.
desde ja agradeco.
estou compilando com o Clipper 5.2
acrescenter gets opcionais durante digitacao
Moderador: Moderadores
acrescenter gets opcionais durante digitacao
Olá !
Possiveis opções:
1 - SETKEY, atribuir tecla de atralho para outra função
2 - When, ao entrar no GET
3 - Valid, Dependendo do conteudo digitado chama ou não outra função para complementar os dados digitados
Possiveis opções:
1 - SETKEY, atribuir tecla de atralho para outra função
2 - When, ao entrar no GET
3 - Valid, Dependendo do conteudo digitado chama ou não outra função para complementar os dados digitados
Código: Selecionar todos
Funtion F_Get_Base()
...
SETKEY( K_F4, { || F_Get_Opcional() } )
@10,10 get cod1 pict "99999"
@12,10 get cod2 pict "99999"
@14,10 get cod3 pict "99999"
@16,10 get cod4 pict "99999"
read
...
SETKEY( K_F4, { || Nil } )
Return( Nil )
Funtion F_Get_Opcional()
...
@18,10 get descricao1 pict "@!"
@12010 get descricao2 pict "@!"
read
...
Return( Nil )
M., Ronaldo
by: IMATECH
IMATION TECNOLOGIA
by: IMATECH
IMATION TECNOLOGIA
- Jairo Maia
- Moderador
- Mensagens: 2785
- Registrado em: 16 Ago 2010 13:46
- Localização: Campinas-SP
acrescenter gets opcionais durante digitacao
Olá Porter,
Mais um exemplo para você analisar:
Mais um exemplo para você analisar:
Código: Selecionar todos
#include "inkey.ch"
Local OldF3 := SetKey(K_F3,{||cpadicional()})
Local cod1, cod2, cod3, cod4, descricao1, descricao2
Private dgtadicional
Clear Screen
While LastKey() != K_ESC
dgtadicional := .f.
@ 08,10 Say "[F3]=Habilitar Digitacao das Descricoes"
cod1 := cod2 := cod3 := cod4 := Space( 5 )
descricao1 := descricao2 := Space( 40 )
@ 10,10 get cod1 pict "99999"
@ 12,10 get cod2 pict "99999"
@ 14,10 get cod3 pict "99999"
@ 16,10 get cod4 pict "99999"
@ 18,10 get descricao1 pict "@!" When dgtadicional
@ 20,10 get descricao2 pict "@!" When dgtadicional
Read
If LastKey() != K_ESC
// Fun‡Æo que salva os dados
Endi
EndDo
SetKey(K_F3,OldF3)
Return Nil
Function cpadicional()
dgtadicional := !dgtadicional
If dgtadicional
@ 08,10 Say "[F3]=Digitacao das Descricoes Habilitada"
Else
@ 08,10 Say "[F3]=Habilitar Digitacao das Descricoes "
Endi
Return dgtadicional
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
-
alxsts
- Colaborador

- Mensagens: 3092
- Registrado em: 12 Ago 2008 15:50
- Localização: São Paulo-SP-Brasil
acrescenter gets opcionais durante digitacao
Olá!
Só uma observação: se for utilizar o primeiro exemplo postado pelo Ronaldo, é preciso declarar LOCAL GetList := {} tanto na Funtion F_Get_Base() quanto na Funtion F_Get_Opcional(). Se não forem declarados pelo programa, será usado o GetList público declarado por padrão. Neste caso, ao entrar na Funtion F_Get_Opcional(), os gets da Funtion F_Get_Base() poderiam ser destruídos (não testei pois não tenho ambiente montado aqui).
Pessoalmente, utilizaria o exemplo com a cláusula WHEN.
Só uma observação: se for utilizar o primeiro exemplo postado pelo Ronaldo, é preciso declarar LOCAL GetList := {} tanto na Funtion F_Get_Base() quanto na Funtion F_Get_Opcional(). Se não forem declarados pelo programa, será usado o GetList público declarado por padrão. Neste caso, ao entrar na Funtion F_Get_Opcional(), os gets da Funtion F_Get_Base() poderiam ser destruídos (não testei pois não tenho ambiente montado aqui).
Pessoalmente, utilizaria o exemplo com a cláusula WHEN.
[]´s
Alexandre Santos (AlxSts)
Alexandre Santos (AlxSts)

