Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it L'avatar di x69asterix
    Registrato dal
    Jan 2005
    Messaggi
    1,303

    [vb6] Ricerca parola dentro RichTextBox

    a tutti,
    come da oggetto come posso fare ad effettuare una ricerca dentro una RichTextBox?
    Mi spiego meglio in un form ho una RichTextBox.LoadFile, bene visto ke il file è abbastanza grande, se voglio effettuare una ricerca, aggiungendo una textbox nel form, dove immetto la parola da cercare, è possibile ricercare nella RichTextBox.LoadFile la parola immessa nel textbox
    Non sò se mi sono spiegato?

  2. #2
    la funzione instr ti restituisce la prima occorrenza della parola o lettera che vuoi cercare, es:
    InStr(1, RichTextBox1.Text, parolaDaCercare)
    se viene trovata la parola restituisce un numero che rappresenta la posizione dove si trova la parola nella Rtf, altrimenti restituisce zero.
    Ciao

  3. #3
    Utente di HTML.it L'avatar di Jupy64
    Registrato dal
    Sep 2004
    Messaggi
    1,151
    Ciao, il controllo RichTextBox ha diversi metodi, tra i quali c'è Find e GetLineFromChar .
    Find usato per trovare il testo (la posizione), e FinGetLineFromChar per sapere in quale riga si trova..
    Vedi nella guida in linea i parametri che devi passargli
    Jupy

  4. #4
    Utente di HTML.it L'avatar di x69asterix
    Registrato dal
    Jan 2005
    Messaggi
    1,303
    Allora io ho risolto in questo modo:

    codice:
    Dim FoundPos As Long
       Dim FoundLine As Long
       ' Trova il testo specificato nel controllo TextBox.
       FoundPos = RichTextBox1.Find(Text1.Text, , , rtfWholeWord)
    
       ' Visualizza un messaggio per indicare che il testo
       '   è stato o non è stato trovato.
    
       If FoundPos <> -1 Then
          ' Restituisce il numero della riga contenente
          ' il testo.
          FoundLine = RichTextBox1.GetLineFromChar(FoundPos)
          Text2 = RichTextBox1.SelText ' mi scrive il testo trovato
          MsgBox "Parola trovata nella riga " & CStr(FoundLine)
       Else
          MsgBox "Parola non trovata."
       End If
    End Sub
    Bene xò in questo modo se il file contiene + di una parola = da trovare con questo metodo non riesco a trovare altre parole = presenti nel file, come posso procedere x andare a trovare le altre parole =??


  5. #5
    Utente di HTML.it L'avatar di Jupy64
    Registrato dal
    Sep 2004
    Messaggi
    1,151
    Ciao, cicli il testo fintanto che il metodo Find restituisce un numero maggiore di zero
    Jupy

  6. #6
    Utente di HTML.it L'avatar di yyzyyz
    Registrato dal
    Oct 2001
    Messaggi
    1,653
    e se devo fare una ricerca di parole doppie sul testo rtf , come posso gestirle?

    es. devo trovare le tutte le parole ke sono "cane"

  7. #7
    Utente di HTML.it L'avatar di x69asterix
    Registrato dal
    Jan 2005
    Messaggi
    1,303
    Originariamente inviato da yyzyyz
    e se devo fare una ricerca di parole doppie sul testo rtf , come posso gestirle?

    es. devo trovare le tutte le parole ke sono "cane"
    yyzyyz,
    ma non sò come fà ad essere presente una mia risposta in questo post, cmq, io avevo risolto, in un modo ke x adesso non ti posso postare xkè sono a lavoro, + tardi se mi sarà possibile ti posterò il resto del code ke ti permetterà di ricercare all'interno della casella anke le parole doppie!,
    ciao

  8. #8
    Utente di HTML.it L'avatar di yyzyyz
    Registrato dal
    Oct 2001
    Messaggi
    1,653
    grazie x69asterix, diciamo ke ieri notte sul tardi ho trovato una soluzione ke potrebbe fare al caso mio , cmq aspetto ugualmente i tui consigli.

  9. #9
    Utente di HTML.it L'avatar di x69asterix
    Registrato dal
    Jan 2005
    Messaggi
    1,303
    Originariamente inviato da yyzyyz
    grazie x69asterix, diciamo ke ieri notte sul tardi ho trovato una soluzione ke potrebbe fare al caso mio , cmq aspetto ugualmente i tui consigli.
    ciao yyzyyz ,

    codice:
    Private Sub Text1_Change()
    Dim FoundPos As Long
    Dim FoundLine As Long
       If RichTextBox1.Text = "" Then Exit Sub
       ' Trova il testo specificato nel controllo TextBox.
       FoundPos = RichTextBox1.Find(Text1.Text, 0, , rtfWholeWord)
       POSIZ = FoundPos
       
       ' Visualizza un messaggio per indicare che il testo
       '   è stato o non è stato trovato.
    
       If FoundPos <> -1 Then
          ' Restituisce il testo contenente
               FoundLine = RichTextBox1.GetLineFromChar(FoundPos)
          Label6 = "Trovata!" 'RichTextBox1.SelText
          Beep
       Else
          Label6 = "Non Trovata!"  ' MsgBox "Parola non trovata."
       End If
       If Text1 = "" Then
          Label6 = Empty
          RichTextBox1.Refresh
         End If
          Text1.Refresh
       DoEvents
    End Sub
    
    
    Private Sub Command5_Click()
           FoundPos = RichTextBox1.Find(Text1.Text, POSIZ + 1, , rtfWholeWord)
           POSIZ = FoundPos
       Beep
           DoEvents
    End Sub
    funziona alla grande ciao.

  10. #10
    Utente di HTML.it L'avatar di x69asterix
    Registrato dal
    Jan 2005
    Messaggi
    1,303
    Originariamente inviato da x69asterix
    ciao yyzyyz ,

    codice:
    Private Sub Text1_Change()
    Dim FoundPos As Long
    Dim FoundLine As Long
       If RichTextBox1.Text = "" Then Exit Sub
       ' Trova il testo specificato nel controllo TextBox.
       FoundPos = RichTextBox1.Find(Text1.Text, 0, , rtfWholeWord)
       POSIZ = FoundPos
       
       ' Visualizza un messaggio per indicare che il testo
       '   è stato o non è stato trovato.
    
       If FoundPos <> -1 Then
          ' Restituisce il testo contenente
               FoundLine = RichTextBox1.GetLineFromChar(FoundPos)
          Label6 = "Trovata!" 
          Beep
       Else
          Label6 = "Non Trovata!"  ' MsgBox "Parola non trovata."
       End If
       If Text1 = "" Then
          Label6 = Empty
          RichTextBox1.Refresh
         End If
          Text1.Refresh
       DoEvents
    End Sub
    
    
    Private Sub Command5_Click()
           FoundPos = RichTextBox1.Find(Text1.Text, POSIZ + 1, , rtfWholeWord)
           POSIZ = FoundPos
       Beep
           DoEvents
    End Sub
    funziona alla grande ciao.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.