29. november 2006 - 15:27Der er
12 kommentarer og 1 løsning
når begge felter er udfyldt + Ved enter skal den auto submittet
Hejsa
Jeg er lige startet med at lege med visual basic express og kodningen generelt i vb. Jeg har en knap som er dsiabled så man ikke kan klikke. Hvordan kan jeg så gøre sådan at den bliver enabled når to felter er udfyldt?
Og hvordan kan jeg gøre sådan at når felterne er udfyldt skal man kunne trykke enter istedet for at klikke på knappen.
Danmark vil mindske afhængigheden af globale techgiganter, men det kræver mere end politiske formuleringer og strategier, understreger PROSA’s formand Niels Bertelsen.
Du må i property kunne sætte knappen til disabled. Lav en betingelse på felt2 som sætter knappen til enabled, når begge felter er udfyldt. Kig i VB hjælpen. Noget med Knap enabled = true
Private Sub Text2_Change() If Len(Text1.test) > 5 Then If Len(text2.Text) > 5 Then Command1.Enabled = True Command1_Click End If Else MsgBox ("Du skal udfylde begge felter med mindst 5 tegn.") End If End Sub
Private Sub username_Change() If Not username = "" And Not password = "" Then login.Enabled = True End If End Sub Private Sub password_Change() If Not username = "" And Not password = "" Then login.Enabled = True End If End Sub
Hov fejl. Sådan her er koden og den virker ikke: Private Sub user_Change() If Not user.Text = "" And Not user.Text = "" Then login.Enabled = True End If End Sub Private Sub pass_Change() If Not user.Text = "" And Not user.Text = "" Then login.Enabled = True End If End Sub
Fra et af mine programmer er her login-proceduren. Brugernavne og de tilhørende passwords er forinden indlæst i et array, hvor de står skiftevis i elementerne - bruger - PW.
Private Sub knlogin_Click() If Len(txtbruger.Text) = 0 Then End 'If Len(txtpass.Text) = 0 Then End
For j = 0 To 50 If LCase(id(j)) = LCase(txtbruger.Text) Then If kode(j) = txtpass.Text Then hunbasis.Visible = True hunbasis.labbruger.Caption = id(j) 'bruger medarb = Left(id(j) & Space(10), 10) 'benyttes også i nedbrudsproceduren frmlogin.Visible = False Open App.Path & "\login.log" For Output As #12 Print #12, txtbruger.Text & " " & Now Close #12 txtbruger.Text = "" txtpass.Text = "" Exit Sub Else X = MsgBox("Kodeordet passer ikke til det angivne brugernavn, vær opmærksom på store/små bogstaver, prøv igen!", 48, "Medd. fra Færge-Booking.") k = k + 1 txtpass.Text = "" If k > 5 Then X = MsgBox("Kodeordet er stadig forkert, kontakt systemadministrator!", 16, "Programmet afsluttes.") End Exit Sub End If txtpass.SetFocus Exit Sub End If End If Next j
X = MsgBox("Det angivne brugernavn findes ikke.", 48, "Medd. fra Færge-Booking login.")
End Sub
Som du kan se oprettes der også en log, hvor det kan aflæses hvem der er logget ind hvornår.
Hvis noget skal virke ved "change" skal det udløses ved indtastning af et bestemt tegn eller et bestemt antal tegn. Programmet kan jo ikke vide hvornår brugeren er færdig med at taste.
Men hvis du vil udløse "submit" med Enter i det sidste felt kan det gøres således under "keypress"
Private Sub txtsognr_KeyPress(KeyAscii As Integer) If keyascii = 13 then ......
End if End Sub
Synes godt om
Ny brugerNybegynder
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.