Seite 1 von 1

Rechtschreibkontrolle während der Eingabe

Verfasst: Mo 14. Jan 2019, 00:44
von alb
Hallo zusammen,

ich habe aus dem Handbuch diesen code für die Rechtschreibprüfung. Beim Ausführen zeigt er mit aber einen Zeichenfehler
,.
und sprinkt mit dem Kurser auf die
RtrimStr( stWort, ","), "."), "?"), "!"), "."),)
Stelle

LO Version: 6.0.6.2 (x64) Win10

Wer kann helfen? Was mach ich Falsch?

LG

Code: Alles auswählen

SUB MarkierungFehlerDirekt(oEvent AS OBJECT)

        GlobalScope.BasicLibraries.LoadLibrary("Tools")
        
        DIM aProp() AS NEW com.sun.star.beans.PropertyValue

        DIM oLinuSvcMgr AS OBJECT

        DIM oSpellChk AS OBJECT

        DIM oFeld AS OBJECT

        DIM arText()

        DIM stWort AS STRING

        DIM inlenWort AS INTEGER

        DIM ink AS INTEGER

        DIM i AS INTEGER

        DIM oCursor AS OBJECT

        DIM stText AS OBJECT

        oLinguSvcMgr = createUnoService("com.sun.star.linguistic2.LinguServiceManager")

        IF NOT IsNull(oLinguSvcMgr) THEN

                oSpellChk = oLinguSvcMgr.getSpellChecker()

        END IF
        oFeld = oEvent.Source.Model

        ink = 0

        IF oEvent.KeyCode = 1280 OR oEvent.KeyCode = 1284 THEN
         stText = Join(Split(oFeld.Text,CHR(10))," ")

arText = Split(RTrim(oFeld.Text)," ")
FOR i = LBound(arText) TO UBound(arText)
stWort = arText(i)
inlenWort = len(stWort)
stWort = Trim( RtrimStr( RtrimStr( RtrimStr( RtrimStr(
RtrimStr( stWort, ","), "."), "?"), "!"), "."),)


                        IF stWort <> "" THEN

                                oCursor = oFeld.createTextCursor()

                                oCursor.gotoStart(false)

                                oCursor.goRight(ink,false)

                                oCursor.goRight(inLenWort,true)

                                If Not oSpellChk.isValid(stWort, "de", aProp()) Then

                                        oCursor.CharUnderline = 9

                                        oCursor.CharUnderlineHasColor = True

                                        oCursor.CharUnderlineColor = RGB(255,51,51)

                                ELSE

                                        oCursor.CharUnderline = 0

                                END IF

                        END IF

                        ink = ink + inLenWort + 1

                NEXT

        END IF

END SUB

Re: Rechtschreibkontrolle während der Eingabe

Verfasst: Mo 14. Jan 2019, 16:24
von RobertG
Habe im Handbuch sofort nachgesehen: Dort ist das Komma auch nicht vorhanden.

Gruß

Robert

Re: Rechtschreibkontrolle während der Eingabe

Verfasst: Mo 14. Jan 2019, 21:03
von alb
Hey, danke für die schnelle Antwort.
ich hatte den Code aus diesem Handbuch, ist zwar älter hatte gedacht es macht kein unterschied :)

wie gesagt vielen Dank.

Re: Rechtschreibkontrolle während der Eingabe

Verfasst: Mo 14. Jan 2019, 21:43
von RobertG
Hallo alb,

da muss dann etwas bei dem Kopieren daneben gelaufen sein. Ich habe das Handbuch in der Version eben kurz nachgesehen. An der Stelle hat sich wirklich nichts geändert. Am einfachsten ist es hier, die Beispieldateien dazu herunter zu laden. Bei den aktuelleren Handbüchern ist die entsprechende Datenbank "Beispiel_Autotext_Suchmarkierung_Rechtschreibung.odb" dabei.

Gruß

Robert