[Solved] hasło w Inputbox jako "*"

Dyskusje dotyczące tworzenia makropoleceń, pisania skryptów oraz programowania przy użyciu UNO
babiniec4
Posty: 53
Rejestracja: wt sie 03, 2010 10:20 pm

[Solved] hasło w Inputbox jako "*"

Post autor: babiniec4 »

Witam. Szukam możliwości ukrycia hasła podawanego w Inputbox poprzez inne znaki np "*".
Ostatnio zmieniony czw sie 18, 2011 10:07 pm przez babiniec4, łącznie zmieniany 1 raz.
Apache OpenOffice 4.1.5 na Windows 10
Jan_J
Posty: 4580
Rejestracja: pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław

Re: hasło w Inputbox jako "*"

Post autor: Jan_J »

JJ
LO (24.2|7.6) ∙ Python (3.12|3.11|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
babiniec4
Posty: 53
Rejestracja: wt sie 03, 2010 10:20 pm

Re: hasło w Inputbox jako "*"

Post autor: babiniec4 »

Dziękuję za link. Już go wypatrzyłem wcześniej ale niestety nie umiem sobie z tym makrem poradzić. Z tego co widzę to kod jest podzielony więc starałem się go uporządkować. Jednak przy uruchamianiu pojawia się błąd o niezgodności nawiasów.
Apache OpenOffice 4.1.5 na Windows 10
Jan_J
Posty: 4580
Rejestracja: pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław

Re: hasło w Inputbox jako "*"

Post autor: Jan_J »

Zasadniczy pomysł (z właściwością EchoChar) jest przedstawiony w drugim poście na wątku. I działa. Reszta to umiejętność zaadaptowania go do własnych potrzeb.
JJ
LO (24.2|7.6) ∙ Python (3.12|3.11|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
babiniec4
Posty: 53
Rejestracja: wt sie 03, 2010 10:20 pm

Re: [Solved}hasło w Inputbox jako "*"

Post autor: babiniec4 »

Rzeczywiście działa tylko trzeba było trochę pomyśleć. Dzięki Jan za motywację bo już miałem porzucić ten pomysł...:super:
Apache OpenOffice 4.1.5 na Windows 10
jacek_z_łodzi
Posty: 1
Rejestracja: pt gru 30, 2011 9:48 pm

Re: [Solved}hasło w Inputbox jako "*"

Post autor: jacek_z_łodzi »

babiniec4 pisze:Rzeczywiście działa tylko trzeba było trochę pomyśleć. Dzięki Jan za motywację bo już miałem porzucić ten pomysł...:super:
Witam, też się męczę z tym listingiem. Można Cię prosić o jakiś częściowy listing z rozwiązaniem ?
OpenOffice 3.1 pod Ubuntu 10.04
babiniec4
Posty: 53
Rejestracja: wt sie 03, 2010 10:20 pm

Re: [Solved] hasło w Inputbox jako "*"

Post autor: babiniec4 »

Kod: Zaznacz cały

sub Dostosuj_Dokument()

'tworzenie dialogu 
 oDialog = CreateUnoService("com.sun.star.awt.UnoControlDialog")
 oDialogModel = CreateUnoService("com.sun.star.awt.UnoControlDialogModel")
 oDialogModel.setPropertyValues(Array("Height","PositionX","PositionY","Title","Width"),Array(50,30,30,"Podaj klucz dostępu ",100))
 oDialog.setModel(oDialogModel)

'editbox for password input 
 oEditModel = oDialogModel.createInstance("com.sun.star.awt.UnoControlEditModel")
 oEditModel.setPropertyValues(Array("EchoChar","Height","PositionX","PositionY","Width"),Array(asc("*"),15,5,5,90) )
 oEditModel.EchoChar = asc("*")
 oDialogModel.insertByName("PasswordEdit",oEditModel)

'przyciski ok i porzuć
 oOKButton = oDialogModel.createInstance("com.sun.star.awt.UnoControlButtonModel")
 oOKButton.setPropertyValues(Array("DefaultButton","Height","Label","PositionX","PositionY","PushButtonType","Width"),Array(True,15,"~Zatwierdź",30,25,1,40)) 
 oDialogModel.insertByName("OkButton",oOKButton)
' oCancelButton = oDialogModel.createInstance("com.sun.star.awt.UnoControlButtonModel")
' oCancelButton.setPropertyValues(Array("Height","Label","PositionX","PositionY","PushButtonType","Width"),Array(15,"~Porzuć",5,25,2,40))
 'oDialogModel.insertByName("CancelButton",oCancelButton)

POKAZ:
'pokazanie dialogu
 oDialog.setVisible(True)
 oDialog.execute() = 1
 v = oEditModel.Text

if v="" then
 msgbox ("Nie podałeś klucza - spróbuj ponownie.",64,"Modify")
GOTO POKAZ:

elseif v = "1119" then
 Dostosuj_Dokument_cd

else
 msgbox ("Klucz niepoprawny.",48,"Modify")

end if 
end sub


Kod: Zaznacz cały

sub Dostosuj_Dokument_cd()

rem ----------------------------------------------------------------------
rem define variables
dim document   as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
 document   = ThisComponent.CurrentController.Frame
 dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
 dispatcher.executeDispatch(document, ".uno:ConfigureDialog", "", 0, Array())
end sub
Apache OpenOffice 4.1.5 na Windows 10
ODPOWIEDZ