1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
| Public Function CheckFrench(ByVal pTexte As String) As Boolean
Dim lTexte As String
Dim lTempWord As String
Dim i As Long
Dim lCountFrench As Long
Dim TabWord
On Error GoTo err_check
'Remplit le dictionnaire des mots francais
Call Fill_French_Dictionnary
lTexte = LCase(pTexte)
'Remplace par des espaces
lTexte = Replace(lTexte, ",", " ")
lTexte = Replace(lTexte, ".", " ")
lTexte = Replace(lTexte, "-", " ")
lTexte = Replace(lTexte, "_", " ")
lTexte = Replace(lTexte, "?", " ")
lTexte = Replace(lTexte, "!", " ")
lTexte = Replace(lTexte, "(", " ")
lTexte = Replace(lTexte, ")", " ")
lTexte = Replace(lTexte, ":", " ")
lTexte = Replace(lTexte, ";", " ")
'Enleve
lTexte = Replace(lTexte, "=", "")
lTexte = Replace(lTexte, "#", "")
lTexte = Replace(lTexte, "*", "")
lTexte = Replace(lTexte, "@", "")
'On enleve les chiffres
lTexte = Replace(lTexte, "0", "")
lTexte = Replace(lTexte, "1", "")
lTexte = Replace(lTexte, "2", "")
lTexte = Replace(lTexte, "3", "")
lTexte = Replace(lTexte, "4", "")
lTexte = Replace(lTexte, "5", "")
lTexte = Replace(lTexte, "6", "")
lTexte = Replace(lTexte, "7", "")
lTexte = Replace(lTexte, "8", "")
lTexte = Replace(lTexte, "9", "")
lTexte = Replace(lTexte, "/", "")
lTexte = Replace(lTexte, "\", "")
'Remplace les doubles/triples/quadriples espaces par des simples
lTexte = Replace(lTexte, " ", " ")
lTexte = Replace(lTexte, " ", " ")
lTexte = Replace(lTexte, " ", " ")
'On utilise les espaces comme separation entre les mots (creation du tableau des mots)
TabWord = Split(lTexte, " ")
'Boucle sur les mots
For i = 0 To UBound(TabWord)
If m_DictFrench.Exists(Replace(TabWord(i), " ", "")) = True Then
lCountFrench = lCountFrench + 1
End If
Next
If UBound(TabWord) <> 0 Then
'Degre de confiance de 0.4 (40% des mots trouve sont des mots francais)
If lCountFrench / UBound(TabWord) > 0.4 Then
CheckFrench = True
Else
CheckFrench = False
End If
End If
Exit Function
err_check:
End Function |
Partager