20. november 2006 - 09:08Der er
10 kommentarer og 1 løsning
regex til at finde ud af om den indeholder andet end tal og punkt
Hejsa Eksperter
Jeg har et problem. Vi har programmering i skolen. Vi snakkede ldit på klassen om hvordan vi kunne tjekke en streng om den indeholdte andet end tal og punktum. Vi vil altså have at hvis den fx indeholdte bogstaver eller tegn skal den udskrive en fejl og hvis den kun indeholder tal og punktum skal den fortsætte koden.
Det kan godt være det ikke lige der jeg har lavet en fejl, men kan ikke kører min kode. Jeg får følgende fejl: Compile error:
Function call on left-hand side of assignment must return Variant or Object
Min kode:
Private Sub calculate_Click() 'Definere de forskellige variabler. Dim mass_org As String Dim height_org As String Dim mass As Single Dim height As Single 'Hvis en af felterne er tomme giv da fejl. If mass_org = "" Or height_org = "" Then MsgBox = "Du skal skrive din højde og vægt!" Else 'Replace komma (,) med punktum (.). mass_org = Replace(mass_org, ",", ".") height_org = Replace(height_org, ",", ".") If Not IsNumeric(mass_org) = "false" And IsNumeric(height_org) = "false" Then MsgBox = "Du må kun skrive tal i felterne!" Else MsgBox = "Nu skal vi videre!" End If End If End Sub
Det to inputfelter fra mit userinterface altså 2 tekstbokse. Grunden til at de er string er at nogen folk skriver , i stedet for . så jeg ville senere have smidt deres værdier over i mass og height, som er single.
Så nu fik jeg det til at virke, men hvordan kan jeg få inuptet fra et tekst fejl ind i mass_org og height_org?
Private Sub calculate_Click() 'Definere de forskellige variabler. Dim mass_org As String Dim height_org As String Dim mass As Single Dim height As Single 'Hvis en af felterne er tomme giv da fejl. If mass_org = "" Or height_org = "" Then MsgBox "Du skal skrive din højde og vægt!" Else 'Replace komma (,) med punktum (.). mass_org = Replace(mass_org, ",", ".") height_org = Replace(height_org, ",", ".") 'Hvis en af tallene ikke kun er tal og punktum, giv da fejl. If Not IsNumeric(mass_org) = "false" And IsNumeric(height_org) = "false" Then MsgBox "Du må kun skrive tal i felterne!" 'Ellers regner vi videre. Else MsgBox "Nu skal vi videre!" End If End If End Sub
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.