Avatar billede loukas Mester
08. august 2016 - 21:26 Der er 3 kommentarer og
1 løsning

OverFlowException was unhandled by user code

Jeg bruger denne function som er fundet på nettet.
Men får fejlen:
*OverFlowException was unhandled by user code*
Tips:
Make sure you are not dividing by zero.

    Function CountWord(ByVal inputString)
        Dim pos, spaceCount
        pos = 1
        spaceCount = 1
        While Not pos = Len(inputString)
            If Mid(inputString, pos, 1) = " " Then    <--------- LINIEN HER ---------
                If Not pos = 1 Then
                    If Not Mid(inputString, pos - 1, 1) = " " Then
                        spaceCount = spaceCount + 1
                    End If
                End If
            End If
            pos = pos + 1
        End While
        CountWord = spaceCount
    End Function


Håber nogen kan hjælpe mig videre.....
Avatar billede supertekst Ekspert
08. august 2016 - 23:06 #1
Hvordan ser kaldet til funktionen ud  - indhold i InputString?

Skal siges at jeg kun har prøvet koden i VBA - efter rettelse af "End While" til "Wend"
og der optræder ingen fejl.
Avatar billede arne_v Ekspert
08. august 2016 - 23:24 #2
Du kan disable integer overflow check i compiler options.

Men den kode boer ikke kunne give en integer overflow, saa jeg tror at der er et andet problem.
Avatar billede arne_v Ekspert
09. august 2016 - 00:30 #3
Koden ligner ioevrigt gammel VBS kode.

Det kan laves meget nemmere i VB.NET!

Et par alternativer:

    Function CountWordAltA(s As String) As Integer
        Return s.Trim().Split(" "C).Length
    End Function
    Function CountWordAltB(s As String) As Integer
        Return s.Trim().ToCharArray().Count(Function(c) c = " "C) + 1
    End Function
Avatar billede loukas Mester
15. august 2016 - 02:37 #4
Jeg brugte en af dine functioner arne_v
Meget mere enkelt ;-)
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

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



IT-JOB