Avatar billede 9876543221 Nybegynder
25. juni 2001 - 21:20 Der er 2 kommentarer og
1 løsning

password

når jeg ændre password bliver godt nok gemt men programmet kan ikke læse det rigtigt når man loger ind med det nye password

det skal laves en txtfil hvor der skal stå (husk mellemrum før hver tal)
3
4
35
4
35
4
35
4
bruger1
bruger2
bruger3
bruger4
filen gemmes som SysApp32.dll og skal gemmes sammen med resten at programmet. (brugernavnet er nu bruger1 og passwordet er BBB)
her er koden som ikke virker helt

Dim AntalTegn, Rand, Char, Antalbrugere As Integer
Dim Data, Password, Bruger(0 To 99), IndPassword, IndBruger As String
Dim Fejl As Boolean
Private Sub cmdforsæt_Click()
\' Check for ugyldige imput
Fejl = False
IndPassword = txtPassword.Text
IndBruger = txtBrugernavn.Text

If Len(IndBruger) < 2 Then
Fejl = True
MsgBox (\"Brugernavn skal indeholde mindst 2 tegn\")
End If

If Fejl = False Then
Fejl = True
For i = 0 To Antalbrugere - 1
If Bruger(i) = IndBruger Then Fejl = False
Next
If Fejl = True Then
MsgBox (\"Brugeren \" & IndBruger & \", eksisterer ikke!\")
End If
End If

If Fejl = False And IndPassword <> Password Then
Fejl = True
MsgBox (\"Ugyldigt password\")
End If

If Fejl = False Then
\' Slut rutine her, start program
End If
End Sub

Private Sub cmdnyt_Click()
Fejl = False
Data = InputBox(\"Indtast gammelt password:\")

If Data <> Password Then
MsgBox (\"Ugyldigt password!\")
Fejl = True
End If

If Fejl = False Then Data = InputBox(\"Indtast nyt password\")

If Len(Data) < 3 Then
MsgBox (\"Password skal være på mindst 3 tegn!\")
Fejl = True
End If

If Fejl = False Then
Password = Data
Call GemData
End If
End Sub

Private Sub Form_Load()
Password = \"\"

Open App.Path & \"\\SysApp32.dll\" For Input As #1
Line Input #1, AntalTegn

For i = 1 To AntalTegn
Line Input #1, Data
Rand = Val(Data)
Line Input #1, Data
Char = (Val(Data) * 2) - Rand
Password = Password + Chr(Char)
Next

Line Input #1, Data
Antalbrugere = Val(Data)

For i = 0 To Antalbrugere - 1
Line Input #1, Bruger(i)
Next

Close #1

End Sub

Public Sub GemData()
Open App.Path & \"\\SysApp32.dll\" For Output As #1
Print #1, Len(Password)
For i = 1 To Len(Password)
Randomize
Rand = Int(Rnd * 99) + 1
Char = Asc(Mid(Password, i, 1))
Char = (Char + Rand) / 2
Print #1, Rand
Print #1, Char
Next
Print #1, Antalbrugere
For i = 0 To Antalbrugere - 1
Print #1, Bruger(i)
Next
Close #1
End Sub


Avatar billede jsc Nybegynder
26. juni 2001 - 12:25 #1
du skal bare i din gemdata() skrive noget mere:

Public Sub GemData()
Open App.Path & \"\\SysApp32.dll\" For Output As #1
Print #1, Len(Password)
For i = 1 To Len(Password)
Randomize
Rand = Int(Rnd * 99) + 1
Char = Asc(Mid(Password, i, 1))
Char = (Char + Rand) / 2
Print #1, Rand & \" \";
Print #1, Char & \" \";
Next
Print #1, Antalbrugere & \" \";
For i = 0 To Antalbrugere - 1
Print #1, Bruger(i) & \" \";
Next
Close #1
End Sub

jeg tror det er sådan, prøv...

/jsc
Avatar billede frogger Nybegynder
26. oktober 2001 - 16:54 #2
Fedt eksempel - det har jeg fået en del ud af at kigge på.

Til andre der måtte kigge forbi skal det dog siges at semikolon skal stå mellem anførelsestegnene i linier a la:

Print #1, Rand & \" \";

- ellers kan man bruge

Write #1, Rand

og helt undgå at rode med \';\' i dll filen.

Hvis nogen har en ide til hvordan man på en god måde kan lave løkkerne til at skrive til og læse fra dll filen ved flere brugere er jeg med på en lytter (læs: jeg kaster points efter dig)

/frogger
Avatar billede jsc Nybegynder
26. oktober 2001 - 21:48 #3
med white #1, rand

skal du bruge ; , den vil alligevel skrifte linie! og det var det 979896798598956895´s problem.

/jsc
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