AJUDA COM SWITCH DADO BOOLEANO
Olá gente.
Seguinte: estou iniciando meus estudos em VB.
estou com um problema aqui no VB6 que eu já tentei de tudo ao meu alcance e gostaria que vcs me ajudassem,por favor.
tenho um formulário aqui com um textbox e um command button.
Estou tentando fazer o seguinte.A Textbox fica trancada (locked =true) até que se aperte o command button pra poder escrever nela.
esse método aqui deu certo.
No FORMULÃRIO:
txtCaixa.locked =true
NO COMMAND BUTTON
txtCaixa.locked=false
Só que eu quero fazer o seguinte para economizar códigos e até por que a variável vai ser comum em todo o projeto.Eu quero criar uma switch com as propriedades TRUE e FALSE para poder ficar ligando e desligando a edição.Eu fiz o seguinte:
No formulário
Dim switch AS Boolean
If switch = true Then
txtCaixa.locked =false
else
txtCaixa.locked = true
end if
Aà que está.Sei que esse código está certo.O problema é chamar a variável no botão de comando.é nesse pinto que eu quero um help.
Tipo eu ja tente colocar no botão :[Ô]switch=true[Ô](habilitar a var de forma simples),[Ô]Form1.switch =true[Ô](nome do formulário + variavel); porém nenhuma deu certo. Dá método desconhecido ou faltando objeto.
Espero resposta.Desde já agradeço
Seguinte: estou iniciando meus estudos em VB.
estou com um problema aqui no VB6 que eu já tentei de tudo ao meu alcance e gostaria que vcs me ajudassem,por favor.
tenho um formulário aqui com um textbox e um command button.
Estou tentando fazer o seguinte.A Textbox fica trancada (locked =true) até que se aperte o command button pra poder escrever nela.
esse método aqui deu certo.
No FORMULÃRIO:
txtCaixa.locked =true
NO COMMAND BUTTON
txtCaixa.locked=false
Só que eu quero fazer o seguinte para economizar códigos e até por que a variável vai ser comum em todo o projeto.Eu quero criar uma switch com as propriedades TRUE e FALSE para poder ficar ligando e desligando a edição.Eu fiz o seguinte:
No formulário
Dim switch AS Boolean
If switch = true Then
txtCaixa.locked =false
else
txtCaixa.locked = true
end if
Aà que está.Sei que esse código está certo.O problema é chamar a variável no botão de comando.é nesse pinto que eu quero um help.
Tipo eu ja tente colocar no botão :[Ô]switch=true[Ô](habilitar a var de forma simples),[Ô]Form1.switch =true[Ô](nome do formulário + variavel); porém nenhuma deu certo. Dá método desconhecido ou faltando objeto.
Espero resposta.Desde já agradeço
Não precisa disso tudo... Se o que você quer é [Ô]habilitar quando desabilitado e desabilitar quando habilitado[Ô] ou seja, uma funcionalidade [Ô]toggle[Ô], use no botão o código:
txtCaixa.Locked = Not txtCaixa.Locked
Simples assim
txtCaixa.Locked = Not txtCaixa.Locked
Simples assim
Obrigado, meu amigo Kerplunk.Mas deixa eu explicar melhor.Nos formulários tem 8 caixas cada e ficar digitando uma por uma é que é o problema.Pensei nessa switch para agilizar e economizar argumentos.Na real meu código está assim no formulário:
Private Sub Form_Load()
Dim switch As Boolean
If switch = True Then
txtCaixa.Locked = False
txtCaixa2.Locked = False
txtCaixa3.Locked = False
Else
txtCaixa.Locked = True
txtCaixa2.Locked = True
txtCaixa3.Locked = True
End If
End Sub
O que eu quero é acessar essa variável de um botão de comando pra poder editar/ trancar a textbox.Vale ressaltar que ainda vão os botões [Ô]Adicionar[Ô],[Ô]Gravar[Ô],[Ô]Editar[Ô] e [Ô]Apagar[Ô].Seria muito mais simples eu digitando apenas uma linha pra habilitar e desabilitar do que escrever códigos grandes em botão por botão.
Quem tiver a solução me responda por favor
Private Sub Form_Load()
Dim switch As Boolean
If switch = True Then
txtCaixa.Locked = False
txtCaixa2.Locked = False
txtCaixa3.Locked = False
Else
txtCaixa.Locked = True
txtCaixa2.Locked = True
txtCaixa3.Locked = True
End If
End Sub
O que eu quero é acessar essa variável de um botão de comando pra poder editar/ trancar a textbox.Vale ressaltar que ainda vão os botões [Ô]Adicionar[Ô],[Ô]Gravar[Ô],[Ô]Editar[Ô] e [Ô]Apagar[Ô].Seria muito mais simples eu digitando apenas uma linha pra habilitar e desabilitar do que escrever códigos grandes em botão por botão.
Quem tiver a solução me responda por favor
No botão:
Call comando(xxxx) => xxxx é igual a TRUE OU FALSE
Crie uma Sub no formulário ou em um modulo (no caso ficaria [Ô]Public Sub[Ô])
Sub comando(byval switch as boolean)
If switch = True Then
txtCaixa.Locked = False
txtCaixa2.Locked = False
txtCaixa3.Locked = False
Else
txtCaixa.Locked = True
txtCaixa2.Locked = True
txtCaixa3.Locked = True
End If
End sub
Quando você quiser chama a função é só usar:
Call comando(xxxx) => xxxx é igual a TRUE OU FALSE
Assim você escreve o comando uma vez e chama com uma linha.
Call comando(xxxx) => xxxx é igual a TRUE OU FALSE
Crie uma Sub no formulário ou em um modulo (no caso ficaria [Ô]Public Sub[Ô])
Sub comando(byval switch as boolean)
If switch = True Then
txtCaixa.Locked = False
txtCaixa2.Locked = False
txtCaixa3.Locked = False
Else
txtCaixa.Locked = True
txtCaixa2.Locked = True
txtCaixa3.Locked = True
End If
End sub
Quando você quiser chama a função é só usar:
Call comando(xxxx) => xxxx é igual a TRUE OU FALSE
Assim você escreve o comando uma vez e chama com uma linha.
bom da maneira mais economica possivel.
coloque um timer em seu projeto com a propriedade interval =1 e o botão para destravar as textbox
e cole
o código acima simplesmente vai travar ou destravar qualquer textbox que estiver com o foco, que vc colocar em seu from, independendo da quantidade de textbox que existirem.
veja se era isto
coloque um timer em seu projeto com a propriedade interval =1 e o botão para destravar as textbox
e cole
[txt-color=#007100][ô] você declara txtName no General do form[/txt-color]
Dim txtName As String
Private Sub Timer1_Timer()
If TypeOf Me.ActiveControl Is TextBox Then txtName = Me.ActiveControl.Name
End Sub
Private Sub Command1_Click()
Dim ctl As Control
For Each ctl In Me
If txtName = ctl.Name Then
If ctl.Locked = True Then
ctl.Locked = False
Else
ctl.Locked = True
End If
ctl.SetFocus
ctl.SelStart = 0
ctl.SelLength = Len(ctl.Text)
End If
Next
End Sub
o código acima simplesmente vai travar ou destravar qualquer textbox que estiver com o foco, que vc colocar em seu from, independendo da quantidade de textbox que existirem.
veja se era isto
é isso mesmo Marcelo.Muito obrigado a todos, agora tenho várias soluçõe spro problema
só não esquece de encerrar ok
abraço
abraço
Tópico encerrado , respostas não são mais permitidas