Newsgroup: it.comp.lang.visual-basic
Titolo: Ricerca nella text box.

Devo gestire la ricerca di dati in una text box dove sono contenuti il
cognome, nome, luogo e data di nascita ( si proprio così tutti insieme
obbligatoriamente ). devo fare in modo che inserendo una porzione della
stringa da ricercare, mi restituisca i record corrispondenti alla stringa
es. stringa di ricerca Fel
restituisce FELici massimo ........etc
                    FELni giovanni   .........etc
                    Rosati FELice ..........etc
dai record risultanti, poi, con il puntatore del mouse mi seleziono quello
che mi serve.
come posso fare? sono graditi esempi anche postati grazie a tutti.


ho avuto il tuo stesso problema, qui sottto trovi la risposta giuntami da
Claudio Augusto de Biasio
la sua funzione, in pratica, manda in una stringa temporanea le parole, su
cui puoi fare quello che vuoi (ad esempio il controllo  if instr)
ciaociao
Francesco Mapelli ( 
mape...@tin.it
 )
http://members.xoom.com/Francesco
Mousestats, il contachilometri per il mouse
http://members.xoom.com/mousestats
Sito comune programmatori Visual Basic
http://members.xoom.com/it_lang_vb
[messaggio di Claudio Augusto de Biasio ]
Potresti usare... la mia funzioncina GetToken!!! Heheheheh vecchia, e non la
rivedo da tanto (è tutto fuorché ottimizzata, ma ha +10 anni!), ma funzia.
Dim n as Integer
Dim s as String
gsSource = "Stringa da analizzare, anche multiline (ovvero, con 0D0A al suo
interno) etc etc."
n=0
s = GetToken(gsSource)                'Inizializza la stringa di loop
Do While s <> ""
    'Fai quel che vuoi col token (nel tuo caso If Instr( etc etc. )
    n=n+1                                          'Incrementa il puntatore
di next token
    s=GetToken(gsSource, n)        'Legge il token successivo (ev. ritorna
"")
Loop
Bye. BC
'***************************************************************************
*****************
' Function GetToken (ByVal sSource As String, Optional ByVal iTokenNum As
Integer = 1, Optional ByVal sSeparator As String = " ") As String
'
' Dev. Date: 0.1       ?      Claudio de Biasio
' Dev. Date: 1.0    1/2/95      Claudio de Biasio  (VB re-coding)
' Rev. Date: 1.1    5/1/98      Claudio de Biasio   VB5 Optional Parameters
update
'            1.2    3/5/98      Claudio de Biasio   Multi-Char separators
[BC2]
'
' Function that returns the iTokenNum'th token from sSource using
' sSeparator as tokenizer. We'll assume the 1st token starts form 1st char
' and ends with 1st tokenizer, excluded.
'
' Ex. ? GetToken("Zio pippolone va in vacanza", 1, " ")
'     >Zio<
'     ? GetToken("Zio pippolone va in vacanza")             'Assume 1 e " "
'     >Zio<
'     ? GetToken("Zio pippolone va in vacanza", 4)          'Assume " "
'     >in<
'     ? GetToken("Zio pippolone va in vacanza", 2, "a")
'     > in v<
'     ? GetToken("Zio pippolone va in vacanza", 4, "a")
'     >nz<
'
'***************************************************************************
*****************
'
Function GetToken(ByVal sSource As String, Optional ByVal iTokenNum As
Integer = 1, Optional ByVal sSeparator As String = " ") As String
    Dim nStart As Integer
    Dim nEnd As Integer
    Dim nTokLen As Integer
'[BC2]
    nTokLen = Len(sSeparator)
    If (Left$(sSource, nTokLen) <> sSeparator) Then sSource = sSeparator &
sSource      '[BC2]
    If (At(sSource, sSeparator, iTokenNum) = 0) Then
        GetToken = ""
        Exit Function
    End If
    nStart = At(sSource, sSeparator, iTokenNum) + nTokLen
'[BC2]
    nEnd = nStart + 1
    Do While (nEnd <= Len(sSource) And Mid$(sSource, nEnd, nTokLen) <>
sSeparator)      '[BC2]
        nEnd = nEnd + 1
    Loop
    GetToken = Mid$(sSource, nStart, nEnd - nStart)
End Function
Ti devo dare anche la At, che viene usata da GetToken:
'***************************************************************************
*****************
' Function At(ByVal sSource As String, ByVal sToken As String, Optional
ByVal nCounter As Integer = 1) As Integer
'
' Dev. Date: 1.0    10/12/94    Claudio de Biasio
' Rev. Date: 1.1    6/10/97     Claudio de Biasio   VB5 Optional parameter
'
' Function that returns the position of nCounter'th occurence of sToken in
sSource.
' Emulates AT function of xBase dialects.
'
' Ex. ? At("Zio pippolone va in vacanza con nonno Pippotto", "ippo" [, 1])
'     6
'     ? At("Zio pippolone va in vacanza con nonno Pippotto", "ippo", 2)
'     40
'     ? At("Zio pippolone va in vacanza con nonno Pippotto", "ippo", 3)
'     0
'***************************************************************************
*****************
'
Function At(ByVal sSource As String, ByVal sToken As String, Optional ByVal
nCounter As Integer = 1) As Integer
    Dim nCtr As Integer
    Dim nPtr As Integer
    nPtr = 0
    For nCtr = 1 To nCounter
        nPtr = InStr(nPtr + 1, sSource, sToken)
        If (nPtr = 0) Then Exit For
    Next
    At = nPtr
End Function

