Alguem pode me ajudar.
Como passar para uma variável o que se digitou numa caixa de texto.
Valeu mesmo!!! Com sua resposta consegui o que queria. Obrigado pela força.
É possível dar mais detalhes sobre o que pretende? Sua pergunta não permite uma resposta precisa.
Boas aqui vai um exemplo de como deve transformar numa variavel uma textfield
1º passo - Declarar primeiro a variavel que será um objeto
dim oDialogo as object
sub executar_dialogo
oDialogo = CarregarDialogo( "coloca aqui o nome da sua biblioteca principal com as aspas", "coloca aqui o nome do dialogo onde voce tem a text field" )
oDialogo.execute()
end sub
'Função global para carregar diálogos
Function CarregarDialogo(Libname as String, DialogName as String, Optional oLibContainer)
'Declaração das variaveis
Dim oLib as Object
Dim oLibDialog as Object
Dim oRuntimeDialog as Object
If IsMissing(oLibContainer) Then
oLibContainer = DialogLibraries
End If
oLibContainer.LoadLibrary(LibName)
oLib = oLibContainer.GetByName(Libname)
oLibDialog = oLib.GetByName(DialogName)
oRuntimeDialog = CreateUnoDialog(oLibDialog)
CarregarDialogo() = oRuntimeDialog
End Function
2º passo - Executa a ação do botão OK que eu criei no dialogo, mas voce poderá substituir por outro botao
sub bt_ok_teste
dim texto as string
texto = oDialogo.getModel().getByName("coloca aqui o nome do campo que voce criou no dialogo").Text
’ agora voce faz o que quiser com a variavel, eu no meu caso uso muito isto em 'sistemas de password de acesso
espero ter ajudado
cumps.
m0t0tud0
Castro, tenho 1 solução + simples :
Criei formulário no Witer, contendo 1 botão de pressão nome:BtPres1 Rótulo = INICIAR em Eventos - Executar a ação = link da macro. 1 Caixa de Texto - nome = CxTxt Campo de rótulo = em branco - Dados e Eventos = nada. 1 Campo de Rótulo - nome Label1 - rótulo = nada e + nada. Criei a seguinte macro :
Global oDoc As Object
Global oDocCrl As Object
Global oForm As Object
Global CxTxt As Object
Global Label1 As Object
Sub Form_Open
oDoc = StarDesktop.CurrentComponent
oDocCrl = oDoc.getCurrentController()
oForm = oDoc.DrawPage.Forms.GetByIndex(0)
CxTxt = oDocCrl.GetControl(oForm.getByName("CxTxt"))
Label1 = oDocCrl.GetControl(oForm.getByName("Label1"))
CxTxt.Text = CxTxt.Text & cr & lf
Label1.Text = "CAIXA de TEXTO"
Iniciar
End Sub
Sub Iniciar
A = InputBox("NOME","Digite o Nome")
CxTxt.Text = cr & lf & CxTxt.Text & A
B = CxTxt.Text
Label1.Text = B
End Sub
A variável A contém o q foi digitado na inputbox, cujo valor é usado na Caixa de Texto.
A variável B contém o q foi escrito na caixa de texto, e para testar se a variável B carregou o valor da caixa de texto, a utilizei para nomear o Campo de rótulo E DEU CERTO.
Em tempo, você sabe como usar o comando “Cr” (retorno de carro) e “Lf” ( alimentação de linha) num código para começar 1 novo parágrafo dentro da caixa de texto ?
Eu tenho muita experiência em programar com VB e VBA e aqui no Libre Basic sou novato, pois o Libre Basic e a suite Libre Office é a continuidade da suite da Sun a Start Office cujo Basic ainda é usado no Libre e tem mais de 20 anos e nada foi atualizado. Há uns 23 anos eu estudei o basic da versão 1 do StarOffice free como alternativa ao microsoft office, mas na versão 2 era pago, a abandonei. Agora com o Linux se popularizando , muitas pequenas e médias empresas usando-o, além da adm. federal, estou retomando o estudo do basic, mas já to velho e a cabeça não é a mesma. Só pra se ter 1 ideia já cheguei a por numa variável só, 34 funções aninhadas, mas hoje…
Espero que resolva o seu problema com esta forma mais simples.
Abraços
Renato