Wolverin Skrevet 17. juni 2004 Del Skrevet 17. juni 2004 Jeg har et program som krever at brukeren skal skrive inn tall i enkelte av tekstboksene, og som krever at en del av tekstboksene skal være bokstaver. Hvordan kan jeg sjekke at det er det som er blitt skrevet inn? Lenke til kommentar
aadnk Skrevet 17. juni 2004 Del Skrevet 17. juni 2004 Du kan bruke IsNumeric for å sjekke om en streng inneholder kun bokstaver. Den brukes omtrent slik: Dim strTest As String strTest = "65" If IsNumeric(strTest) Then MsgBox "strTest inneholder kun tall" Else MsgBox "strTest inneholder både bokstaver og tall" End If Lenke til kommentar
Wolverin Skrevet 18. juni 2004 Forfatter Del Skrevet 18. juni 2004 Men at det er bokstaver går ikke ann å sjekke eller??? Lenke til kommentar
ratata Skrevet 18. juni 2004 Del Skrevet 18. juni 2004 då kan du skrive if not isnumeric(strTest) ... Lenke til kommentar
sim Skrevet 18. juni 2004 Del Skrevet 18. juni 2004 Et kjapt spørsmål: Hvor god er støtten for bruk av regulære uttryk (regular expressions), om det i det hele tatt er det, i VB? Lenke til kommentar
aadnk Skrevet 19. juni 2004 Del Skrevet 19. juni 2004 Vel, støtten for Regular Expressions er kanskje ikke så stor i VB, men du kan faktisk legge dem til ved å laste ned Microsoft Windows Script 5.6 pakken. Etter du har gjort dette, eller hvis du allerede har VBScript pakken installert, kan du referere Microsoft VBScript Regular Expressions 5.6 til prosjektet ditt. Völa, du har Regular Expressions. Lenke til kommentar
Wolverin Skrevet 19. juni 2004 Forfatter Del Skrevet 19. juni 2004 då kan du skrive if not isnumeric(strTest) ... Ved å skrive not isnumeric(strTest) vil jeg jo bare sjekke om det er en string. Siden variabelen er en string, så vil testen da ikke klare å skille om jeg skriver følgende: strTest = "tekst" og om jeg skriver strTest = "tekst5" Den vil påstå at begge er string, og vil påstå at det er tekst. Det jeg i så fall må gjøre er å bryte ned innformateringen, slik at jeg sjekker på et og et tegn bortover til jeg har nådd siste tegnet. Skulle vel bli løst med en teller som forteller hvor jeg er i teksten, og en variabel jeg leser inn hvert tegn inn i for så å sjekke om det er tekst eller ikke tekst. Dette må gå i en loop til jeg har nådd lengden av teksten. Private Sub cmdTekstSjekk_Click() Dim teller, lengde As Integer Dim tegnet As String teller = 1 lengde = Len(strInnTekstText) Do Until teller = lengde tegnet = Mid(strInnTekst.Text, teller, 1) If IsNumeric(tegnet) Then MsgBox "Teksten inneholder tall, avbryter operasjon" Exit Sub End If teller = teller + 1 Loop MsgBox "Teksten inneholder bare tekst" End Sub Dette mener jeg skal fungere. Lenke til kommentar
hanest Skrevet 11. juli 2004 Del Skrevet 11. juli 2004 Her er eksempel på fortløpende validering av det du skriver inn i TextBoxen Private Sub txtBoks_KeyPress(KeyAscii As Integer) Dim sTegn As String sTegn = "0123456789" 'Eller skriv inn de tegn som skal brukest 'Du kan da bruke UCase eller LCase 'sTegn = "abc" If KeyAscii > 13 Then If InStr(sTegn, Chr(KeyAscii)) = 0 Then KeyAscii = 0 End If End If End Sub Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå