USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Executar comando definido como String
Janaina
não registrado
ENUNCIADA !
Postada em 28/12/2008 22:43 hs   
Ola Amigos,
Estou precisando fazer o seguinte:
Tenho um array com nomes do menu ex: menu(1)="mnu_cadastro"; menu(2)="mnu_tabelas" etc
agora preciso fazer com que dentro de um For ele torne enabled=true cada um mas como o nome dos itens do menu sao strings não estou conseguindo. Alguém sabe como posso fazer esses nomes .
Preciso fazer assim mnu_cadastro.enabled=true, mas eles tem que ficar dentro do array.
Valeu
   
PH1959
Pontos: 2843
SÃO JOSÉ DOS CAMPOS
SP - BRASIL
ENUNCIADA !
Postada em 29/12/2008 10:23 hs            
para ser indexado como vc está querendo teria q usar para todos o mesmo nome.
menu(0)...menu(1) menu(n) só alterando os captions.....
este é o método convencional.
 
mas vc pode tentar uma coisa...
no declarations ...
 
Dim Controle(n) as object  ' substitui o n pela numero de menus q vc tem.
no evento Form_Load
Controle(0)= menu_tal(0)
Controle(1)= menu_tal(1)
...
Controle(n)= menu_tal(n)
'carregou todos os controles para um array
 
 
agora no seu procedure...
 
for i=0 to n
      controle(i).visible=true
      controle(i).enabled=true
next i
 
PS não tenho certeza de q vá funcionar ....mas tentar não custa nada
 
 
 
 
 
 
 
   
Treze
Pontos: 2843 Pontos: 2843
SÃO VICENTE
SP - BRASIL
ENUNCIADA !
Postada em 29/12/2008 13:21 hs            
Janaina, Janaina, cada vez, você aparece com um desafio diferente, mas isto que é divertido em programação, bom quanto ao que você deseja veja, é meio complexo mas veja como conseguir

O segredo está em um componente do visual basic Chamado Script Control

Então vamos incluir em seu projeto este componente, Vá em PROJECT / COMPONENTS e selecione MICROSOFT SCRIPT CONTROL 1.0

agora inclua este componente no seu form

para utiliza-lo faça da seguinte maneira

no Load do form primeiro você tem de criar o objeto para o scriptcontrol funcionar, veja como fazer abaixo

ScriptControl1.AddObject "nome que uiser dar ao objeto", e objeto


veja o código baseado no seu exemplo:


Dim Menu(2) As String

Private Sub Form_Load()
ScriptControl1.AddObject "Cadastro", Me.mnu_cadastro
ScriptControl1.AddObject "Tabelas", Me.mnu_tabelas
End Sub

Private Sub Command1_Click()
Menu(0)="Cadastro.Enabled = False"
Menu(1)="Tabelas.Enabled = False"
For f=0 To 2
ScriptControl1.ExecuteStatement Menu(f) ' o segredo está aqui nesta linha
Next F
End Sub


e pronto o que você quiser fazer será feito, bom espero que seja isto o que você deseja, pois é o mais perto que posso te deixar, um abraço, e feliz 2009.


TÓPICO EDITADO
 
Martini
Pontos: 2843 Pontos: 2843
PAROBÉ
RS - BRASIL
ENUNCIADA !
Postada em 29/12/2008 17:41 hs         
  For i = 0 To mdiPrincipal.Controls.Count - 1       'corre todos os controles
    If TypeOf mdiPrincipal.Controls(i) Is Menu Then  'menus para ver
      If Val(mdiPrincipal.Controls(i).Tag) > 0 Then  'se tem permissão
        mdiPrincipal.Controls(i).Visible = vgOk
      End If
    End If
  Next
   
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página