Problema procedure

di il
4 risposte

Problema procedure

Salve a tutti stavo provando a scrivere la mia prima procedura che mi controlla se una stringa occorre in un altra. Ho scritto il seguente codice in vb6 che non da errori ma non produce risultati. Credo di aver sbagliato dove dichiarare le cose ma non so come correggermi. Premetto che c'è un form bianco con al suo interno solo questo codice:

Private Sub Form_Load()
Dim stringa1 As String, stringa2 As String
stringa1 = "ciao"
stringa2 = "ia"
occorr stringa1, stringa2
End Sub
Sub occorr(s1 As String, s2 As String)
Dim lungh1 As Integer
Dim lungh2 As Integer
Dim i As Integer
Dim appo As String
Dim cont As Integer
lungh1 = Len(s1)
lungh2 = Len(s2)
i = 1
cont = 0
While (i <= lungh1 - lungh2 + 1)
appo = Mid$(s1, i, lungh2)
If (appo = s2) Then
cont = 100
i = i + 1
Else
i = i + 1
End If
Wend
If (cont = 100) Then
MsgBox (sottostringa)
Else
MsgBox (NONsottostringa)
End If
End Sub
Grazie a tutti per l'aiuto e scusate l'ignoranza

4 Risposte

  • Re: Problema procedure

    In questa parte di forum non risponde mai nessuno????
  • Re: Problema procedure

    Ciao, anche io non sono molto pratico ma modificando il tuo listato come di seguito sembra funzionare. Prova a vedere se può esserti di aiuto.
    -----------------------
    Option Explicit

    Private Sub Form_Load()
    Dim stringa1 As String, stringa2 As String
    stringa1 = "ciao"
    stringa2 = "ia"
    occorr stringa1, stringa2
    End Sub

    Sub occorr(s1 As String, s2 As String)
    Dim lungh1 As Integer
    Dim lungh2 As Integer
    Dim i As Integer
    Dim appo As String
    lungh1 = Len(s1)
    lungh2 = Len(s2)
    i = 1
    1:
    While i <= lungh1 - lungh2 + 1
    appo = Mid$(s1, i, lungh2)
    If appo = s2 Then
    MsgBox "sottostringa esiste"
    Exit Sub
    Else
    i = i + 1
    GoTo 1
    End If
    Wend
    MsgBox "sottostringa NON esiste"
    End Sub
    ---------------------
    Saluti
    Sal47
  • Re: Problema procedure

    Salve.
    Perdonami, ma chi te lo fa fare di 'infangarti' in tutte queste righe di codice, quando il VB ha la funzione:

    Instr(stringa1,stringa2)

    Che ti ritorna un valore >0 se <stringa2> è contenuta in <stringa1>, inoltre, il Numero che ritorna:
    - se = 0 NON c'è occorrenza
    - se >0 equivale alla posizione dove occorre.

    Meglio di così....

    Saluti.
  • Re: Problema procedure

    Salve, hai perfettamente ragione!
    Sal47
Devi accedere o registrarti per scrivere nel forum
4 risposte