Analyse conjugeur en arabe

Description

ce programme permis conjuguais mot en arabe contiens une bade de donne évolutive avec un concept expérimente pas mal , sachant que les verbes de la langue arabe est composé des groupes et classes

Source / Exemple :


Function procl(mot As String) As String

  Dim BS As DAO.Database
  Dim rr As Recordset
  Dim catproc As Recordset
  
 'Dim cas, cas1, buffer, buffer1, f1, f2, f3 As String
' Dim count_V, i, p, t, a, b As Integer
' Dim f As String
Dim rt, t As String
Dim CRITER As String
Dim tail, taiproc, pos, i, L, j As Integer
Dim y, cat As Integer
Dim c(20) As String
Dim catproct(20) As String
t = mot
tail = Len(t)
'f = mot
'count_V = count_vocal(f)
't = Len(f) - count_V
 rt = "SELECT proclitique.proc  FROM proclitique;"
 
Set BS = OpenDatabase("c:\ARABE4.mdb")
Set rr = BS.OpenRecordset(rt)
Set catproc = BS.OpenRecordset("SELECT proclitique.[categ proc]FROM proclitique;")
L = rr.RecordCount
i = 1
j = 1
CRITER = ""
Do While Not rr.EOF

 c(i) = rr("proc")
 i = i + 1
rr.MoveNext
Loop
Do While Not catproc.EOF

 catproct(j) = catproc("categ proc")
 j = j + 1
 
catproc.MoveNext
Loop

For y = 1 To 10

'If ((pos = 1) And (taiproc = 2)) Then
't = Mid(t, tailproc + 2, tail - tailproc)
'Else
If (InStr(t, c(y)) = 2) Then
tailproc = Len(c(y))
Form5.List1.AddItem c(y) & "    " & catproct(y)
t = Mid(t, 3)
Else
If (InStr(t, c(y)) = 1) Then
tailproc = Len(c(y))
'Form5.Data1(0).Recordset.Move
'Form5.Text1(0).c (y)
'Form5.Data1(0).Recordset.MoveNext
'Loop
Form5.List1.AddItem c(y) & "    " & catproct(y)
t = Mid(t, 2)
End If
End If

Next y

procl = t

End Function
'If (t <= 3) Then racine = mot: GoTo Label1
'cas = Mid(f, 1, 1)
 ' ' ' enlever le proctlytique

 'proclityque = ""
 'For i = 1 To 3
 'a = Len(C1(i))
 'p = InStr(f, C1(i))
  'If (p = 1) And (t > 3) Then
  'f = Mid(f, a + 1, t - a + 1): proclityque = C1(i): i = 3
 'Else
 'End If
 'Next i
 't = Len(f) - count_V
 'If (t <= 3) Then base = f

Function prefixe(mot As String) As String

  Dim BS As DAO.Database
  Dim rr As Recordset
  Dim catpref As Recordset
  
 'Dim cas, cas1, buffer, buffer1, f1, f2, f3 As String
' Dim count_V, i, p, t, a, b As Integer
' Dim f As String
Dim rt As String
Dim tpref As String
Dim tail As Integer
Dim taipref As Integer
Dim pos, i, L As Integer
Dim ii As Integer
Dim tabpref(6) As String
Dim tabcatpref(6) As String

tpref = mot
tail = Len(tpref)
'f = mot
'count_V = count_vocal(f)
't = Len(f) - count_V
 rt = "SELECT prefixe.pref FROM prefixe;"
Set BS = OpenDatabase("c:\ARABE4.mdb")
Set rr = BS.OpenRecordset(rt)
Set catpref = BS.OpenRecordset("SELECT prefixe.catpref FROM prefixe;")

L = rr.RecordCount
i = 1

Do While Not rr.EOF
 tabpref(i) = rr("pref")
 i = i + 1
 rr.MoveNext
 Loop
 ii = 1
 Do While Not catpref.EOF
 tabcatpref(ii) = catpref("catpref")
 ii = ii + 1
 catpref.MoveNext
 Loop
 
'tailproc = Len(c(i))
'pos = InStr(t, c(i))
'If (pos = 1) Then
't = Mid(t, tailproc + 1, tail - tailproc + 1)

'Else
'End If
For y = 1 To 5

If (InStr(tpref, tabpref(y)) = 1) Then
tailpref = Len(tabpref(y))
'Form5.Data1(0).Recordset.Move
'Form5.Text1(0).c (y)
'Form5.Data1(0).Recordset.MoveNext
'Loop
Form5.List1.AddItem tabcatpref(y)
tpref = Mid(tpref, 2)
Else
End If

Next y

prefixe = tpref

End Function
Function enclitique(mote As String) As String

  Dim BS As DAO.Database
  Dim renc As Recordset
  Dim recatenc As Recordset
 'Dim cas, cas1, buffer, buffer1, f1, f2, f3 As String
' Dim count_V, i, p, t, a, b As Integer
' Dim f As String
Dim rte As String
Dim tenc As String
Dim taiel, tailenc, pos, i, L, j, tae As Integer
Dim zc As Integer
Dim cenc(8) As String
Dim tcatenc(8) As String
tenc = mote
tailen = Len(tenc)
tae = Len(mote)
'f = mot
'count_V = count_vocal(f)
't = Len(f) - count_V
 rte = "SELECT enclitique.encl FROM enclitique;"
Set BS = OpenDatabase("c:\ARABE4.mdb")
Set renc = BS.OpenRecordset(rte)
Set recatenc = BS.OpenRecordset("SELECT enclitique.[categor encl] FROM enclitique;")

L = renc.RecordCount
i = 1
Do While Not renc.EOF

 cenc(i) = renc("encl")
i = i + 1
renc.MoveNext
Loop
zc = 1
Do While Not recatenc.EOF
tcatenc(zc) = recatenc("categor encl")
zc = zc + 1
recatenc.MoveNext
Loop
For j = 1 To 7

pos = InStr(tenc, cenc(j))
tailenc = Len(cenc(j))
If (tailen - pos = 1) Then
tenc = Mid(tenc, 1, tailen - tailenc)
Form5.List1.AddItem cenc(j) & "    " & tcatenc(j)
Else
End If

Next j

enclitique = tenc

End Function

Function sufixe(mot As String) As String

  Dim BS As DAO.Database
  Dim rr As Recordset
  Dim rrr As Recordset
Dim rt As String
Dim t As String
Dim tails, taisuf, pos, i, L, ta, ii As Integer
Dim sufi(16) As String
Dim prosuf(16) As String
t = mot
tails = Len(t)
ta = Len(mot)

 rt = "SELECT sufixe.suf FROM sufixe;"
Set BS = OpenDatabase("c:\ARABE4.mdb")
Set rr = BS.OpenRecordset(rt)
Set rrr = BS.OpenRecordset("SELECT sufixe.catsuf FROM sufixe;")

L = rr.RecordCount

i = 1
Do While Not rr.EOF

 sufi(i) = rr("suf")
i = i + 1
rr.MoveNext
Loop
ii = 1
Do While Not rrr.EOF
prosuf(ii) = rrr("catsuf")
ii = ii + 1
rrr.MoveNext
Loop

For j = 1 To 15
If (InStr(t, sufi(j)) = 4) Then
taisuf = Len(sufi(j))
 
Form5.List1.AddItem prosuf(j)
t = Mid(t, 1, tails - taisuf)

Else
End If
Next j

sufixe = t

End Function
Function couleur_vocal(m As String) As String
 Dim d, str As String
 Dim i As Integer
 Dim L As Integer
 L = Len(m)
 d = Selection.Font.Color = wdColorOrange
 For i = 1 To L
 str = Mid(m, i, 1)
 If Not ((str = "ó") Or (str = "õ") Or (str = "ö") Or (str = "ú") Or (str = "ñ") Or (str = "ò") Or (str = "ð")) Then d = d + str
 Next i
 couleur_vocal = d
End Function

Function prefixeMode(moe As String) As String

Dim BS As DAO.Database
 Dim rconj As Recordset
  Dim rmode As Recordset
  Dim prefconj(34) As String
  Dim mode(34) As String
  
  Dim z, za As Integer
Set BS = OpenDatabase("c:\ARABE4.mdb")
Set rconj = BS.OpenRecordset("SELECT Conjugaisons.Conj FROM Conjugaisons;")
Set rmode = BS.OpenRecordset("SELECT Conjugaisons.Mode FROM Conjugaisons;")
z = 1
za = 1
Do While Not rconj.EOF
prefconj(z) = Mid(rconj("conj"), 2, 1)
z = z + 1
rconj.MoveNext
Loop
Do While Not rmode.EOF
mode(za) = rmode("Mode")
za = za + 1
rmode.MoveNext
Loop

End Function

Conclusion :


j'espere qu'il vous aide concept base de donne de n'importe quelle langue il faut étudier bien la morphologie

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.