Avatar billede scar_dk2002 Nybegynder
25. september 2002 - 09:25 Der er 2 kommentarer og
1 løsning

krav til input

hvordan sætter jeg krav til input ?

hvis. hvis jeg vil have at input svaret skal have 4 tegn.

kan jeg bruge noget lignede .

dim svar1
inputbox ("Skriv noget")
if not svar1 = "xxxx" then
msgbox ("Det skal være fire tegn")
end if not

jeg ved godt koden ikke er rigtigt. Men det er et eks. for at vise hvad jeg vil frem til. Håber der er nogen som kan hjælpe med et rigtigt eks.  på forhånd tak.
Avatar billede martin_moth Mester
25. september 2002 - 10:22 #1
Du kan ikke tjekke noget der bliver tastet i en input-box føær det allerede er tastet. Derfor er inputboxe noget skrammel, synes jeg.

HVIS du VIL bruge inputboxen, så kan du gøre følgende:

  Dim Svar1 As String
  Svar1 = InputBox("Skriv noget")
  If Len(Trim(Svar1)) <> 4 Then
    Do While Len(Trim(Svar1)) <> 4
      MsgBox ("Det skal være fire tegn")
      Svar1 = InputBox("Skriv noget")
    Loop
  End If

Meget bedre er at lave en form med et text-felt og en OK/Cancle-knap på. Der kan du sætte at man kun kan indtaste 4 tegn i textboxen, og f.eks. gøre OK-knappen "vissen" indtil der er netop 4 tegn i tekstfeltet...

/Martin
Avatar billede scar_dk2002 Nybegynder
25. september 2002 - 10:24 #2
ok. kan du komme med et eks. på hvordan jeg gør det med et textfelt ? det med at ok-knappen er "vissen" indtil der er indtastet 4 tegn.
Avatar billede martin_moth Mester
25. september 2002 - 11:13 #3
Jep:

Opret 2 forme, form1 og form2. Smid en knap og et text-felt på hver, og kopier følgende kode ind:


                -0-

Form1:

Option Explicit
Dim Svar1 As String

Private Sub Command1_Click()
  Form2.Show 1
End Sub

Private Sub Form_Load()
  Command1.Caption = "Indtast svar"
  Text1.Locked = True
  Text1.Text = ""
End Sub


                -0-
Form2:

Option Explicit

Private Sub Command1_Click()
  Form1.Text1.Text = Text1.Text
  Form2.Hide
End Sub

Private Sub Form_Activate()
  Text1.SetFocus
  Text1.SelStart = 0
  Text1.SelLength = Len(Text1.Text)
End Sub

Private Sub Form_Load()
  Text1.MaxLength = 4
  Text1.Text = ""
  Command1.Caption = "OK"
  Command1.Enabled = False
End Sub

Private Sub Text1_Change()
  If Len(Text1.Text) = 4 Then
    Command1.Enabled = True
  Else
    Command1.Enabled = False
  End If
End Sub


Det kan gøres mere simplet, nu har jeg bare lavet lidt halløj med at den markere teksten når form2 vælges osv osv...
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