Avatar billede angelenglen Nybegynder
24. april 2004 - 14:59 Der er 7 kommentarer og
1 løsning

PasswordChar i multiline input-box

jeg har en multiline inputbox som jeg bruger til at have noget tekst i.

jeg vil gerne give brugeren mulighed for at vælge om indholdet skal skjules.
Det vil jeg så gerne gøre med passwordchar. men jeg kan ikke få det til at virke på et multiline input-felt..

help please :)
Avatar billede hiks Nybegynder
24. april 2004 - 22:46 #1
hej

tror ikke det kan lade sig gøre som det umiddelbart er så her er en workaround:

If Check1.Value = 1 Then
    Text1.Tag = Text1.Text
    Text1.Text = String(Len(Text1.Tag), "*")
    Text1.Refresh
Else
    Text1.PasswordChar = ""
    Text1.Text = Text1.Tag
    Text1.Refresh
End If

Har indsat det på en checkbox on_click event...

/hiks
Avatar billede angelenglen Nybegynder
25. april 2004 - 10:57 #2
hvad er text1.tag ? Har tit undret mig over hvad den bruges til....
Avatar billede martin_moth Mester
25. april 2004 - 11:33 #3
Et tag kan bruges til at holde informationer, som brugeren ikke ser, ganske som vist ovenfor. Det kan nogen gange være nyttigt

Du kunne også skrive

Dim strTemp as string
If Check1.Value = 1 Then
    strTemp = Text1.Text
    Text1.Text = String(Len(strTemp), "*")
    Text1.Refresh
Else
    Text1.PasswordChar = ""
    Text1.Text = strTemp
    Text1.Refresh
End If
Avatar billede angelenglen Nybegynder
25. april 2004 - 11:39 #4
nu har jeg ikke testet endnu, men som jeg læser det, så tæller den antal bogstaver i feltet, og indsætter det samme antal stjerner istedet.

Problemet er så at jeg jo har en multi-line box... dvs der er flere linier, og det skulle der gerne blive ved med at være..
dvs hvis jeg fx har følgende tekst:
-----------------------
hejsa, dette er en test
linie 2.
linie 3 er her.
-----------------------

så skulle det fx gerne se sådan her ud:
-----------------------
***********************
********
***************
-----------------------

kan det lade sig gøre?

og egentligt ved jeg ikke hvor vild jeg er med denne løsning, eftersom den jo umulig-gør at man kan skrive mere i feltet... i et normalt password-felt kan brugeren jo stadig skrive, det bliver bare vist med stjerner. her kan brugeren ikke tilføge eller slette nogen bogstaver "I blinde" som han kan i et password-felt...

eller er det mig der har misforstået det?
Avatar billede _cyberdude_ Nybegynder
25. april 2004 - 17:02 #5
så kan du bare indsætte denne funktion i både checkbox on_click event og i text1_change event, så vil den også omdanne den nye tekst til "*", men den vil først skrive det originale bogstav i, og derefter konventere den, men dette når brugeren ikke at opfatte fordi at det går så hurtigt... men dette kræver så at du laver noget med en variable string som den hele tiden skal gemme den originale tekst i....
En anden ting, jo, jeg vil mene at linje mellemrummene vil forsvinde med denne kode men så skal du bare lave en kode med en loop som konventere alt tekst til "*" og lader linjerne være.. ca. sådan her(et skud i tågen)


Private Sub Text1_Change()

Dim strTemp as string
Dim strTemp2 as string
Dim splString() as string
Dim intCount as integer
strTemp2 = ""
strTemp = strTemp & right(text1.text,1)
splString() = split(strTemp,vbcrlf)
for intCount = 0 to ubound(splString())
strTemp2 = strTemp2 & string(Len(splString(intCount) & vbcrlf
next
Text1.text = strTemp2

End Sub

Er ikke testet endnu, men jeg tror det vil virke...
Avatar billede _cyberdude_ Nybegynder
25. april 2004 - 17:05 #6
Edit:

strTemp2 = strTemp2 & string(Len(splString(intCount)),"*") & vbcrlf
Avatar billede _cyberdude_ Nybegynder
25. april 2004 - 17:13 #7
hmm.. fandt lige ud af at det ikke virker helt som det skal, og Dim'erne skal være uden for text1_change, og der skal laves en rutine som chekker ved hjælp af en Boolean og teksten er ved at blive ændret af programmet eller brugeren fordi ellers vil der bare blive sat en uendelig loop i gang... :D... men leg med det, jeg var lige igang med gad ikke lige mere lige nu... prøver igen lidt senere...
Avatar billede angelenglen Nybegynder
09. december 2004 - 15:55 #8
jeg fik det aldrig til at virke :(
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester