Gå til innhold

Hvordan merke hele ord


Anbefalte innlegg

Så gjennom noen av programmene jeg lagde for et par år siden, og fant denne koden: :!:

Do
txtDoc.SelStart = Start
txtDoc.SelLength = 1
If txtDoc.SelText = "#" Then
   Start = Start + 1
   GoTo Next1:
ElseIf Not txtDoc.SelText = vbTab Then
   txtPostnr2.Text = txtPostnr2.Text + txtDoc.SelText
End If
Start = Start + 1
Loop

:roll: Ikke akkurat et mesterverk...

 

Hvordan merker man hele ord i en tekst? Som for eksempel i en stavekontroll der man merker det første ordet, sjekker det, merker ord nr 2 sjekker det osv...

Og hvordan merker man den siste bokstaven i det ordet man allerede har merket?

Lenke til kommentar
Videoannonse
Annonse

Sitter bare med CCE her, og har ikke Split-funksjonen, men du kan splitte med Chr(13) og " ".

 

Edit: Jeg vet ikke om det funker, men prøv hvertfall:

 

dim buff, buff2, y, i

buff = Split(text1.text, Chr(13))

for i = lbound(buff) to ubound(buff)

buff2 = split(buff(i), " ")

for y = lbound(buff2) to ubound(buff2)

msgbox buff2(y)

next y

next i

Endret av Jonas
Lenke til kommentar

Hvis du ikke har splitt-funskjonen, må du dessverre ut med noe komplekt og uoversiktelig som dette:

 

Dim Y&, lEnd&, lstWord&, sBuff$, bWordExit As Boolean

sBuff = Text1.Text

Y = 1

Do

   lEnd = InStr(Y, sBuff, Chr(13))
   If lEnd = 0 Then lEnd = Len(sBuff)
   
   If Y <> 0 Then
     
       lstWord = IIf(Y = 1, 0, Y)
       bWordExit = False
     
       Do Until bWordExit
       
           Y = InStr(Y + 1, sBuff, " ")
       
           If Y = 0 Or (Y >= lEnd And lEnd <> 0) Then
               ' Last word
               bWordExit = True
               Y = lEnd
           End If
       
           MsgBox Mid(sBuff, lstWord + 1, Y - lstWord)
           lstWord = Y
       Loop
   
   Else
       Exit Do
   End If

   If lEnd >= Len(sBuff) Then Exit Do
   Y = lEnd + 1
Loop

 

Eller du kan lage Split funskjonen selv.

Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...