Página 1 de 1
get com menu
Enviado: 08 Abr 2010 22:21
por Acéfalo Dias
oi pessoal!
tem como quando o usuario chegar no get ser apresentado um menu de opcao?
se sim, qtas opcoes no maximo.
valeu

Re: get com menu
Enviado: 08 Abr 2010 23:54
por sygecom
Qual versão do seu Clipper ?
Se for Clipper 5.3 pode usar como exemplo abaixo que foi pego do NG:
Código: Selecionar todos
nColor := 1 //default to the first item.
@ 5, 20, 8, 28 GET nColor LISTBOX { "Red", Green", "Blue" }
Re: get com menu
Enviado: 09 Abr 2010 00:27
por Acéfalo Dias
a versão do Clipper que me foi passada é a 5.2e.
preciso colocar exatamente uma listbox na hora da edicao do get e se der, dependendo da propria opcao escolhida na {}, desabilitar ou preencher no automatico opcoes de gets abaixo.
tem algo parecido na versao 5.2e?
Re: get com menu
Enviado: 09 Abr 2010 00:34
por alxsts
Olá!
Seja bem-vindo ao fórum, Acéfalo!
Com certeza é possível. Você poderá se valer da cláusula WHEN (get:preblock) do "objeto" Get e montar um menu baseado em
array. Neste caso, você poderá fornecer 4096 opções ao usuário.
Exemplo:
Código: Selecionar todos
#include "Box.Ch"
LOCAL cSexo := "M", GetList := {}
CLS
@ 10,10 Say "Sexo" Get cSexo WHEN { |oGet| Valtype( ValidaSexo( oGet ) ) = NIL }
ReadModal( GetList ) ; GetList := {}
RETURN
// -------------------------------------------------------------------------------------
FUNCTION ValidaSexo( oGet )
LOCAL nTop, nLeft, nBottom, nRight, aOptions, nLen := 0
aOptions := { " Masculino ", " Feminino " }
nTop := oGet:row + 1
nLeft := oGet:col + 2
nBottom := nTop + 3
AEval( aOptions, { |e| nLen := If( Len( e ) > nLen, Len( e ), nLen ) } )
nRight := nLeft + nLen + 2
DispBox( nTop, nLeft, nBottom, nRight, B_SINGLE + " " )
nLen := AChoice( nTop + 1, nLeft + 1, nBottom -1, nRight - 1, aOptions, .T. )
IF nLen > 0
oGet:varput( Left( LTrim( aOptions[ 1 ] ), 1 ) )
oGet:updateBuffer()
@ oGet:row, oGet:col + 1 Say " -" + aOptions[ nLen ]
ENDIF
RETURN nLen
// -------------------------------------------------------------------------------------
Re: get com menu
Enviado: 09 Abr 2010 01:14
por Acéfalo Dias
obrigado pela boas-vindas, Alex.
funcionou aqui com seu exemplo.
valeu
