Clipper On Line • Ver Tópico - hmg344 enable e disable em todos os items menu automaticamen

hmg344 enable e disable em todos os items menu automaticamen

Projeto MiniGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

 

hmg344 enable e disable em todos os items menu automaticamen

Mensagempor syslink » 01 Mai 2019 12:15

algum de vcs tem um codigo de como fazer atraves de for next ou outro codigo uma forma dinamica e automatica pra q todas as opcoes do menu sejam desabilitadas ao mesmo tempo e a seu tempo reabilitadas novamente

to tentano assim
            for nItem = 1 to len (aITEM_NAME)
               // setproperty('form_main','&aITEM_NAME[nItem]','enabled' , '.f.')
               form_main.&(aITEM_NAME[nItem]).enabled := .f.
               // form_main.&(aITEM_NAME)[nItem].enabled := .f.
               // form_main.aITEM_NAME[nItem].enabled := .f.
            next nItem

da o seuguinte erro em qq das opcoes acima (as comentadas)
error e0030 error sintax at '.'

a criacao do aITEM_NAME e
public  aITEM_NAME   := {"O1","O2","O3","O4","O5"}
// letra o e nao o numero 0
aqui que chama e tb da o mesmo error q ja falei
                     ITEM  aITEM[aV] NAME aITEM_NAME[aV]              ACTION { || EXE_MOD ({|| aVETOR[aV] }) }

a variavel av eh do laço for/next
syslink
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 132
Data de registro: 20 Fev 2018 13:13
Cidade/Estado: joinvile/sc
Curtiu: 3 vezes
Mens.Curtidas: 3 vezes

hmg344 enable e disable em todos os items menu automaticamen

Mensagempor syslink » 01 Mai 2019 13:11

tava esqueceno
matriz aVetor eh
aVETOR  := {"v01","c01","r01","e01","h01"}

matriz aItem e
aITEM   := {hb_ansiToOem("&vendas"),hb_ansiToOem("&compras"),hb_ansiToOem("&relatórios"),hb_ansiToOem("&extratos"),hb_ansiToOem("histórico")}
syslink
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 132
Data de registro: 20 Fev 2018 13:13
Cidade/Estado: joinvile/sc
Curtiu: 3 vezes
Mens.Curtidas: 3 vezes

hmg344 enable e disable em todos os items menu automaticamen

Mensagempor MSDN » 01 Mai 2019 13:23

Essa parte de menu, até hoje tem programador que quer fazer como fazia no Clipper, cada um tinha uma ideia diferente usando array e parâmetros pra isso, pra aquilo, etc, em programação usando API Windows, faça o básico, cria o menu usando define menu.....item.....e por ai vai, e coloca a chamada no action, se quiser habilitar e desabilitar itens do menu de acordo com o usuário logado, quando abre a janela faz isso no evento de inicialização e pronto.
MSDN
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 741
Data de registro: 28 Nov 2003 14:55
Cidade/Estado: CWB
Curtiu: 178 vezes
Mens.Curtidas: 123 vezes

hmg344 enable e disable em todos os items menu automaticamen

Mensagempor syslink » 01 Mai 2019 15:58

syslink escreveu:1 ITEM aITEM[aV] NAME aITEM_NAME[aV] ACTION { || EXE_MOD ({|| aVETOR[aV] }) }
essa linha nao executa o vetor
syslink escreveu:1 aVETOR := {"v01","c01","r01","e01","h01"}
q deveria ser executado... exemplo se clicar pra abrir o item "v01" do vetor avetor acima
no bock era assim no formato manual
// ITEM (HB_AnsiToOem("&vendas"))              ACTION { || EXE_MOD ({|| V1 ()}) }

a linha acima executava normalmente
com a mudanca pra ser auto da o seguinte erro runtime
Date:01/05/2019 Time: 15:52:39
Error BASE/1449 Erro de sintaxe: &

Called from _DEFINEMENUITEM(202)
Called from MENUTESTE(5785) // esta e a linha do action exe_mod
Called from PRG3599(4404)
Called from MAIN(1365)

algum de vcs sabe como fazer o codeblock funcionar com a linha e o q modificar nela pra rodar
 ITEM  aITEM[aV] NAME aITEM_NAME[aV]              ACTION { || EXE_MOD ({|| aVETOR[aV] }) }
syslink
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 132
Data de registro: 20 Fev 2018 13:13
Cidade/Estado: joinvile/sc
Curtiu: 3 vezes
Mens.Curtidas: 3 vezes

hmg344 enable e disable em todos os items menu automaticamen

Mensagempor syslink » 01 Mai 2019 16:26

MSDN escreveu:faça o básico, cria o menu usando define menu
isso acredito q todos nos sabemos. cada um do seu jeito.
preciso de algo automatizado q via for/next habita todos ao mesmo tempo. nao e pra usuario previlegiado e sim pra evitar o usuario clicar no menu novamente
enquanto nao encerrar o modulo o menu fica desabilitado
migrar aos poucos de console pra grafico e nao gerar conflito
manualmente da um montao de linhas e sabemos fazer, afinal ja era assim no clipper
syslink
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 132
Data de registro: 20 Fev 2018 13:13
Cidade/Estado: joinvile/sc
Curtiu: 3 vezes
Mens.Curtidas: 3 vezes

hmg344 enable e disable em todos os items menu automaticamen

Mensagempor JoséQuintas » 01 Mai 2019 17:36

Deixa eu ver se entendi....
Vai habilitar/desabilitar o menu inteiro?
Tem uma rotina que cria o menu....

Ué.. pra que controlar isso e ter problemas?
Joga o menu fora, e quando precisar cria de novo.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18008
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

hmg344 enable e disable em todos os items menu automaticamen

Mensagempor Nascimento » 01 Mai 2019 23:02

simples assim

  public  aITEM_NAME   := {"O1","O2","O3","O4","O5"}
   
  for nItem = 1 to len (aITEM_NAME)
       SetProperty('form_main',aITEM_NAME[nItem],'enabled' , '.f.')
  next nItem


desta forma ficaria como vc fizesse isso aqui...

SetProperty('form_main',"01",'enabled' , '.f.'), depois "02" assim sucessivamente

lembrando que: tem que existir o objeto "01", "02"... etc

no form_main, em fim acho que vc entendeu, mais funciona sim tranquilamente!!

eu particularmente uso muito o laço de for para criação de textbox, labeis entre outros, mais tambem para enable e disable, de textbox e outros, no meu ponto de vista ajuda muito rsrs
A arte de programar é simplesmente fazer seus pensamentos serem interpretados por uma maquina :) clipper 5.3 /harbour/minigui
Avatar de usuário

Nascimento
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 711
Data de registro: 19 Jul 2008 12:11
Cidade/Estado: OLINDA-PE
Curtiu: 110 vezes
Mens.Curtidas: 76 vezes

hmg344 enable e disable em todos os items menu automaticamen

Mensagempor syslink » 02 Mai 2019 14:34

Nascimento escreveu:SetProperty('form_main',aITEM_NAME[nItem],'enabled' , '.f.')
legal
Nascimento escreveu:lembrando que: tem que existir o objeto "01", "02"... etc
mas pra não ocorrer na confusão dos nomes para cada item prefiro acrescentar a propriedade "name" no itemmenu
syslink escreveu:com a mudanca pra ser auto da o seguinte erro runtime
Date:01/05/2019 Time: 15:52:39
e este erro de runtime ?
pra funcionar o codblock eu faço assim manualmente
ITEM (HB_AnsiToOem("&vendas"))              ACTION { || EXE_MOD ({|| v01 ()}) }

pra criar todos automatico estou tentano assim
ITEM aITEM[aV] NAME aITEM_NAME[aV] ACTION { || EXE_MOD ({|| aVETOR[aV] }) }

o erro em seguida em runtime e´h
Date:01/05/2019 Time: 15:52:39
Error BASE/1449 Erro de sintaxe: &

so falta isso pra fechar o quebra cabeça
JoséQuintas escreveu:Ué.. pra que controlar isso e ter problemas?
Joga o menu fora, e quando precisar cria de novo.
como faço pra jogar fora? seria o destroy()?
syslink
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 132
Data de registro: 20 Fev 2018 13:13
Cidade/Estado: joinvile/sc
Curtiu: 3 vezes
Mens.Curtidas: 3 vezes

hmg344 enable e disable em todos os items menu automaticamen

Mensagempor microvolution » 02 Mai 2019 16:09

syslink escreveu:como faço pra jogar fora? seria o destroy()?
Prezados nobres professores.
não entendo quase nada, mas, o que o nobre JQuintas se refere está neste link http://www.pctoledo.com.br/forum/viewtopic.php?f=45&t=17120
Abraços!
Grato,
MICROVOLUTION - 16 anos Evoluindo Com Você!


Você já leu a Bíblia hoje?
João 3:16 - Porque Deus amou ao mundo de tal maneira que deu seu Único Filho para que todo aquele que nEle crê não pereça mas tenha a Vida Eterna!
microvolution
Usuário Nível 5

Usuário Nível 5
 
Mensagens: 1175
Data de registro: 02 Set 2011 22:17
Curtiu: 59 vezes
Mens.Curtidas: 17 vezes

hmg344 enable e disable em todos os items menu automaticamen

Mensagempor syslink » 02 Mai 2019 18:32

vou acessa o foro agora
syslink
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 132
Data de registro: 20 Fev 2018 13:13
Cidade/Estado: joinvile/sc
Curtiu: 3 vezes
Mens.Curtidas: 3 vezes

hmg344 enable e disable em todos os items menu automaticamen

Mensagempor syslink » 03 Mai 2019 10:27

deu certo eh o q quero
syslink
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 132
Data de registro: 20 Fev 2018 13:13
Cidade/Estado: joinvile/sc
Curtiu: 3 vezes
Mens.Curtidas: 3 vezes




Retornar para MiniGui

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 10 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro