Differenze tra le versioni di "Confrontare i caratteri di due stringhe"

Da Gambas-it.org - Wikipedia.
Riga 11: Riga 11:
 
   
 
   
 
   For j = 1 To Len(s1)
 
   For j = 1 To Len(s1)
  <FONT color=#006400>' ''Se i rispettivi caratteri in posizione j all'interno delle due stringhe sono "diversi"...''</font>
+
  <FONT color=#006400>' ''Se i rispettivi caratteri in posizione j all'interno delle due stringhe non corrispondono fra loro...''</font>
 
     If Mid(s1, j, 1) <> Mid(s2, j, 1) Then
 
     If Mid(s1, j, 1) <> Mid(s2, j, 1) Then
 
   <FONT color=#006400>' ''...allora viene incrementata la variabile "a" per determinare il totale dei caratteri differenti...''</font>
 
   <FONT color=#006400>' ''...allora viene incrementata la variabile "a" per determinare il totale dei caratteri differenti...''</font>

Versione delle 09:38, 10 dic 2012

Il caso è quello in cui, avendo due stringhe di eguale lunghezza di caratteri, vogliamo verificare quali e quanti caratteri sono eventualmente diversi all'interno delle predette stringhe.

Potremo procedere utilizzando la funzione Mid(...), e l'intento sarà quello di

Public Sub Button1_Click()

 Dim s1, s2, diversi As String
 Dim j, a As Byte

  s1 = "abc0101"
  s2 = "abd0111"

  For j = 1 To Len(s1)
' Se i rispettivi caratteri in posizione j all'interno delle due stringhe non corrispondono fra loro...
    If Mid(s1, j, 1) <> Mid(s2, j, 1) Then
 ' ...allora viene incrementata la variabile "a" per determinare il totale dei caratteri differenti...
      Inc a
' ...nonché sono aggiunti alla variabile, chiamata "diversi", i caratteri non corrispondenti delle variabili
' "s1" e "s2", affinché siano riportati accoppiati in console:
      diversi = diversi & " " & Mid(s1, j, 1) & Mid(s2, j, 1)
    Endif
  Next
 
   Print "I caratteri diversi della stringa \"s2\" rispetto a quelli della stringa \"s1\" sono: "; diversi
   Print "per un totale di "; a & " caratteri."

End