Avatar billede manutd Nybegynder
09. april 2001 - 13:49 Der er 17 kommentarer og
1 løsning

Tjeck af indholdet i en streng, Valutafelt

Jeg har en streng, som er blevet indtastet i et felt.

Jeg vil gerne sikre mig, at strengen kun indeholder tal og komma´er og punktum´er, da feltet er et valutafelt.

Hvordan gør jeg det.
Avatar billede hansen2000 Nybegynder
09. april 2001 - 13:58 #1
if 258934 = int(text1.text)    -prøv
Avatar billede hansen2000 Nybegynder
09. april 2001 - 13:59 #2
ellers kan du bare gøre sådan at kun numerics og comma og dot kan komme i box\'en
Avatar billede manutd Nybegynder
09. april 2001 - 14:02 #3
Øhh, det forstår jeg ikke helt.

Hvordan løser det problemet med at min streng må indeholde tal, og punktum´er og komma´er, men ikke alle andre tegn
Avatar billede manutd Nybegynder
09. april 2001 - 14:02 #4
Kan man definere, at man kun kan skrive numerics, comma og dot i et tekstfelt
Avatar billede hansen2000 Nybegynder
09. april 2001 - 14:04 #5
ok.........lige et sec
Avatar billede hansen2000 Nybegynder
09. april 2001 - 14:10 #6
Private Sub Text1_KeyPress(KeyAscii As Integer)
\'De tilladte char i text1 box\'en
Const Numbers$ = \"0123456789,.\"

If KeyAscii <> 9 And KeyAscii <> 32 And KeyAscii <> 8 Then
  If InStr(Numbers, Chr(KeyAscii)) = 0 Then
    KeyAscii = 0
      MsgBox \"Only Numeric Characters and xxx Characters are allowed.\"
  End If
End If
End Sub
Avatar billede hansen2000 Nybegynder
09. april 2001 - 14:11 #7
du kan bare fjerne msgbox\'en, så sker der ikke noget hvis man skriver andre char end dem i Const Numbers$
Avatar billede manutd Nybegynder
09. april 2001 - 14:16 #8
Det ser lovende ud. Det prøver jeg lige
Avatar billede hansen2000 Nybegynder
09. april 2001 - 14:29 #9
jeg har lige testet det......ser ud til at virke


du kan bare køre fingrene over alle tasterne :_>
Avatar billede manutd Nybegynder
09. april 2001 - 14:57 #10
Vi har et dynamisk antal tekstfelter, og vi ved ikke fra gang til gang, hvilket et af felterne som er et valutafelt.

Kan man ikke anvende denne sætning:

If InStr(Numbers, ?????????) Then

og på en eller anden måde spørge om tekstens elementer en efter en er indeholdt i Numbers, og hvis man møder et element i strengen, som ikke er med i numbers, så generere en msgbox eller lign.
   
     
Avatar billede hansen2000 Nybegynder
09. april 2001 - 15:35 #11
du må da vide på en eller anden måde hvaforn felt(er), som er numeric...

så kan du bare ændre lidt i den kode jeg ga\' dig og skrive at den skal checke hvis det er et valutafelt.

ellers send projectet i en zip/rar/whatever til postal@briefcase.com
Avatar billede nolle_k Nybegynder
10. april 2001 - 13:17 #12
Prøv at kalde denne funktion i din tekst boks KeyPress function

Public Sub OnlyNumber(ByRef KeyAscii As Integer, Optional OnlyInt As Boolean = True, Optional AllowScientificNotation As Boolean = False, Optional AllowSign As Boolean = False, Optional AdditionalAllows As Variant)
 
  Select Case KeyAscii
    Case Asc(\"-\")
      If (AllowSign) Then Exit Sub
    Case Asc(\"+\"), vbKeyE
      If (AllowScientificNotation) Then Exit Sub
    Case vbKeyBack
      Exit Sub
    Case Else
      Dim i As Integer
      If (Not IsMissing(AdditionalAllows) And Not IsEmpty(AdditionalAllows)) Then
        For i = 0 To UBound(AdditionalAllows)
          If (KeyAscii = Asc(AdditionalAllows(i))) Then
            Exit Sub
          End If
        Next
      End If
  End Select
 
  If (Not OnlyInt) Then
    If (KeyAscii = Asc(\".\") Or KeyAscii = Asc(\",\")) Then
      If (CDbl(\"1\" + Chr(KeyAscii) + \"2\") = 1.2) Then
        Exit Sub
      End If
    End If
  End If
 
  If (KeyAscii < Asc(\"0\") Or KeyAscii > Asc(\"9\")) Then
    KeyAscii = 0
  End If
End Sub
Avatar billede nolle_k Nybegynder
10. april 2001 - 13:19 #13
Prøv at skriv OnlyNumber KeyAscii

Voila! Så er det kun muligt at skrive hele tal!

Skrive OnlyNumber KeyAscii, False

Voila! Det er nu muligt at skrive komma tal. Punktum eller komma afhængigt af hvad maskinen er sat op til!

//Nolle_K
Avatar billede manutd Nybegynder
10. april 2001 - 13:29 #14
Er det sådan her du mener med KeyAscii,False nolle k:

Public Sub OnlyNumber(ByRef KeyAscii As Integer, Optional OnlyInt As Boolean = True)

for at skrive kommatal?
Avatar billede nolle_k Nybegynder
10. april 2001 - 13:31 #15
Nej!!

Kopier hele funktionen i mit første svar!

Og skriv så i

Privcate Sub txt_KeyPress(KeyAscii as Integer)
  OnlyNumber KeyAscii, False
end sub
Avatar billede manutd Nybegynder
10. april 2001 - 13:39 #16
Ahhhh, ok
Avatar billede manutd Nybegynder
10. april 2001 - 13:42 #17
Det er sku´ fornemt. Tak for hjælpen nolle k
Avatar billede nolle_k Nybegynder
10. april 2001 - 13:44 #18
I orden!!! Fornøjelsen er HELT på min side!!
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