Type Tcadre typ As Integer x1 As Integer y1 As Integer x2 As Integer y2 As Integer Text As String * 50 End Type Type Tmot mot As String cat As Integer lien As Integer niv As Integer 'niveau ds la réprésentation en cercle End Type Type Tcommun mot As String * 50 genre As Integer nombre As Integer etat As Integer 'lu/parcouru/lié/accordé/... End Type Type Tverbe mot As Integer 'lien sur la liste de mots cat As Integer 'catégorie de mot temps As Integer 'verbe aspect As Integer 'verbe mode As Integer 'verbe pers As Integer 'personne (nombre ?) type As Integer 'in/trans., réflé. ... neg As Integer 'lien vers mot négatif etat As Integer 'indicateur passif As Integer ' " copule As Integer 'lien vers le qualifié sujet As Integer 'lien cpt As Integer 'lien sur premier cpt End Type Type Tsujet mot As Integer 'lien sur la liste de mots verbe As Integer 'lien type As Integer 'nom, pronom, infinif/verbe, prop) inv As Integer 'indicateur genre As Integer 'commun nombre As Integer 'commun GN As Integer 'lien End Type Type Tnom mot As Integer 'lien sur la liste de mots genre As Integer 'commun nombre As Integer 'commun det As Integer 'lien adj As Integer 'lien (utile ? -> GN) cpt As Integer 'lien cat As Integer 'propre/commun,animé/inanimé, ...) GN As Integer 'lien End Type Type Tdet mot As Integer 'lien sur la liste de mots genre As Integer nombre As Integer type As Integer 'def,art/adj ind,cont,part,pos,démon,...) poss As Integer ' ?? neg As Integer ' ?? ens As Integer 'art/poss/dém ou adj/n.card/int/excl def As Integer 'oui/non nom As Integer 'lien End Type Type Tadj mot As Integer 'lien sur la liste de mots fonct As Integer 'att sujet, att cod, épithète, apposé genre As Integer nombre As Integer type As Integer 'qual, verb, p.passé, composé,inv... cpl As Integer 'lien sur ?? nom As Integer 'lien (qualifié)(pronom) GN As Integer 'lien (utile ?! : nom -> gn ) degre As Integer 'lien sur comparatif/sup. accord As Integer 'oui/non (ds genre+nombre ??) End Type Type Tdegre mot As Integer 'lien sur la liste de mots adj As Integer 'lien type As Integer 'comp/sup rel, et sup/inf/égal comp As Integer 'lien sur le comparant (gn,adj,...) place As Integer 'ap/av ?? sup As Integer 'lien vers sup irrégulier ? End Type Type Tadv mot As Integer 'lien sur la liste de mots mod As Integer 'lien (ou verbe/adj/phrase/adv) renvoi As Integer 'oui/non cat As Integer 'manière,quantité,tps,lieu,aff,nég,doute) End Type Type TGN mot As Integer 'lien sur la liste de mots noyau As Integer 'lien vers nom/verbe det As Integer 'lien adj As Integer 'lien (premier, table ?) cpt As Integer 'lien (" " ") prop As Integer 'lien fonct As Integer 'sujet/cpl/CN suiv As Integer 'GN suivant coordonné End Type Type Tprep mot As Integer fonct As Integer 'type de cpl. circ. des As Integer 'le mot auquel se rapporte le cpl lie As Integer 'le mot qualifiant sens As Integer '~ fonction loc As Integer 'mot simple/locution prép End Type ' Dim mots(50) As String Dim nomot As Integer Dim typmot As Integer Dim mot As String Dim nbmot, nbverbe, nbnom, nbpronom, nbadv As Integer Dim nbsujet, nbdet, nbadj, nbdeg, nbprep As Integer Dim selection As Integer Dim sujet(10) As Tsujet Dim GN(20) As TGN Dim phrase(50) As Tmot Dim verbe(10) As Tverbe Dim det(20) As Tdet Dim nom(20) As Tnom Dim adj(30) As Tadj Dim deg(5) As Tdegre Dim adv(5) As Tadv Dim prep(10) As Tprep Dim xm As Integer, ym As Integer Dim lg(6) As Integer 'largeur des niveaux Sub aff_adj (no As Integer) Dim l As Integer, h As Integer form1.Label1.Caption = phrase(adj(no).mot).mot 'form1.Label1.Visible = False l = form1.Label1.Width If lg(2) < l Then lg(2) = l End If h = form1.Label1.Height Call rectangle(xm - 400 - lg(1) - (l + lg(0)) \ 2, ym, l + 20, h + 20, False, 2, 1) form1.Picture1.CurrentX = xm - lg(0) \ 2 - l - lg(1) - 400 form1.Picture1.CurrentY = ym - h \ 2 form1.Picture1.Print phrase(adj(no).mot).mot form1.Picture1.DrawWidth = 1 'form1.Picture1.Circle (xm, ym), l + 200, QBColor(0) 'form1.Picture1.Circle (xm, ym), 2 * (l + 200), QBColor(0) End Sub Sub aff_deg (no As Integer) Dim l As Integer, h As Integer form1.Label1.Caption = phrase(deg(no).mot).mot 'form1.Label1.Visible = False l = form1.Label1.Width If lg(2) < l Then lg(2) = l 'quel niveau réel pour deg ? End If 'préposition ? h = form1.Label1.Height Call ellipse(xm + 400 + lg(1) + (l + lg(0)) \ 2, ym, l + 20, h + 20, False, 2, 5) form1.Picture1.CurrentX = xm + lg(0) \ 2 + lg(1) + 400 form1.Picture1.CurrentY = ym - h \ 2 form1.Picture1.Print phrase(deg(no).mot).mot form1.Picture1.DrawWidth = 1 'form1.Picture1.Circle (xm, ym), l + 200, QBColor(0) 'form1.Picture1.Circle (xm, ym), 2 * (l + 200), QBColor(0) End Sub Sub aff_det (no As Integer) Dim l As Integer, h As Integer form1.Label1.Caption = phrase(det(no).mot).mot 'form1.Label1.Visible = False l = form1.Label1.Width If lg(2) < l Then lg(2) = l End If h = form1.Label1.Height Call rectangle(xm - 400 - lg(1) - (l + lg(0)) \ 2, ym, l + 20, h + 20, False, 2, 1) form1.Picture1.CurrentX = xm - lg(0) \ 2 - l - lg(1) - 400 form1.Picture1.CurrentY = ym - h \ 2 form1.Picture1.Print phrase(det(no).mot).mot form1.Picture1.DrawWidth = 1 'form1.Picture1.Circle (xm, ym), l + 200, QBColor(0) 'form1.Picture1.Circle (xm, ym), 2 * (l + 200), QBColor(0) End Sub Sub aff_nom (no As Integer) Dim l As Integer, h As Integer form1.Label1.Caption = phrase(nom(no).mot).mot 'form1.Label1.Visible = False l = form1.Label1.Width If lg(1) < l Then lg(1) = l End If h = form1.Label1.Height Call rectangle(xm - 200 - (l + lg(0)) \ 2, ym, l + 20, h + 20, False, 2, 2) form1.Picture1.CurrentX = xm - lg(0) \ 2 - l - 200 form1.Picture1.CurrentY = ym - h \ 2 form1.Picture1.Print phrase(nom(no).mot).mot form1.Picture1.DrawWidth = 1 'form1.Picture1.Circle (xm, ym), l + 200, QBColor(0) 'form1.Picture1.Circle (xm, ym), 2 * (l + 200), QBColor(0) End Sub Sub aff_prep (no As Integer) Dim l As Integer, h As Integer form1.Label1.Caption = phrase(prep(no).mot).mot 'form1.Label1.Visible = False l = form1.Label1.Width If lg(1) < l Then lg(1) = l 'quel niveau réel pour deg ? End If 'préposition ? h = form1.Label1.Height Call ellipse(xm + 200 + (l + lg(0)) \ 2, ym, l + 20, h + 20, False, 2, 1) form1.Picture1.CurrentX = xm + lg(0) \ 2 + 200 form1.Picture1.CurrentY = ym - h \ 2 form1.Picture1.Print phrase(prep(no).mot).mot form1.Picture1.DrawWidth = 1 'form1.Picture1.Circle (xm, ym), l + 200, QBColor(0) 'form1.Picture1.Circle (xm, ym), 2 * (l + 200), QBColor(0) End Sub Sub aff_verbe () Dim l As Integer, h As Integer form1.Label1.Caption = phrase(verbe(0).mot).mot 'form1.Label1.Visible = False l = form1.Label1.Width lg(0) = l h = form1.Label1.Height Call rectangle(xm, ym, l + 20, h + 20, False, 2, 4) form1.Picture1.CurrentX = xm - l \ 2 form1.Picture1.CurrentY = ym - h \ 2 form1.Picture1.Print phrase(verbe(nbverbe - 1).mot).mot form1.Picture1.DrawWidth = 1 form1.Picture1.Circle (xm, ym), l + 200, QBColor(0) form1.Picture1.Circle (xm, ym), 2 * (l + 200), QBColor(0) End Sub Sub ellipse (xm As Integer, ym As Integer, l As Integer, h As Integer, biseau As Integer, mine As Integer, coul As Integer) form1.Picture1.DrawWidth = mine form1.Picture1.FillStyle = solid form1.Picture1.FillColor = QBColor(15) If biseau = False Then 'inutile ici form1.Picture1.Circle (xm, ym), l \ 2, QBColor(coul), , , h / l End If form1.Picture1.FillStyle = 1 form1.Picture1.FillColor = QBColor(15) End Sub Sub fonctions (liste As Integer) If liste = 0 Then selection = form1.Combo1.ListIndex Else selection = 256 * form1.Combo2.ListIndex End If form2.Show Select Case selection Case 1 initGV Case 2 * 256 initnom Case 3 * 256 initdet Case 4 * 256 initadj Case 5 * 256 initdeg Case 7 * 256 initprep Case 8 * 256 initpronom Case Else form2.Hide End Select End Sub Sub init_niveaux () 'fixe le milieu de la représentation en cercles et le rayon 'des différents cercles If nbmots = 0 Then xm = form1.Picture1.Width \ 2 ym = form1.Picture1.Height \ 2 lg(0) = 0 lg(1) = 0 lg(2) = 0 End If End Sub Sub initadj () form2.Caption = "Adjectif" form2.Label1.Caption = "mot" form2.Text1.Text = "" form2.Label2.Caption = "Fonction" form2.Combo1.Clear form2.Combo1.AddItem "attribut sujet" form2.Combo1.AddItem "attribut COD" form2.Combo1.AddItem "épithète" form2.Combo1.AddItem "apposition" form2.Combo1.ListIndex = 0 form2.Label3.Caption = "Type" form2.Combo2.Clear form2.Combo2.AddItem "qualificatif" form2.Combo2.AddItem "verbal" form2.Combo2.AddItem "part. passé" i = 0 form2.Combo2.ListIndex = 0 form2.Label6.Caption = "Nom" form2.Combo5.Clear form2.Combo5.AddItem "absent" If nbnom <> 0 Then Do form2.Combo5.AddItem phrase(nom(i).mot).mot i = i + 1 Loop While (i < nbnom) End If i = 0 If nbGN <> 0 Then Do form2.Combo5.AddItem phrase(GN(i).mot).mot i = i + 1 Loop While (i < nbGN) End If form2.Combo5.ListIndex = 0 form2.Label4.Visible = True form2.Label4.Caption = "Complément" form2.Combo3.Clear form2.Combo3.Visible = True 'rien pour l'instant i = 0 form2.Label5.Caption = "degré" form2.Label5.Visible = True form2.Combo4.Clear form2.Combo4.Visible = True form2.Combo4.AddItem "absent" If nbdeg <> 0 Then Do form2.Combo4.AddItem phrase(deg(i).mot).mot i = i + 1 Loop While (i < nbdeg) End If 'rien pour l'instant form2.Frame1.Caption = "Type" form2.Frame1.Height = 1860 form2.Option1.Caption = "masculin" form2.Option1.Visible = True form2.Option2.Caption = "féminin" form2.Option2.Visible = True form2.Option3.Caption = "invariable" form2.Option3.Visible = True form2.Check1.Caption = "pluriel" form2.Check1.Visible = True form2.Check2.Caption = "composé" form2.Check2.Visible = True form2.Check3.Visible = False End Sub Sub initdeg () form2.Caption = "Comparatif/Superlatif" form2.Label1.Caption = "mot(s)" form2.Text1.Text = "" form2.Label2.Caption = "Adjectif" form2.Combo1.Clear form2.Combo1.AddItem "absent" i = 0 If nbadj <> 0 Then Do form2.Combo1.AddItem phrase(adj(i).mot).mot i = i + 1 Loop While (i < nbadj) End If form2.Combo1.ListIndex = 0 form2.Label3.Caption = "Type" form2.Combo2.Clear form2.Combo2.AddItem "comp. supériorité" form2.Combo2.AddItem "comp. infériorité" form2.Combo2.AddItem "comp. égalité" form2.Combo2.AddItem "sup. rel. supériorité" form2.Combo2.AddItem "sup. rel. infériorité" form2.Combo2.AddItem "sup. absolu" i = 0 form2.Combo2.ListIndex = 0 form2.Label6.Caption = "Comparant" form2.Combo5.Clear form2.Combo5.AddItem "absent" If nbnom <> 0 Then Do form2.Combo5.AddItem phrase(nom(i).mot).mot i = i + 1 Loop While (i < nbnom) End If i = 0 If nbGN <> 0 Then Do form2.Combo5.AddItem phrase(GN(i).mot).mot i = i + 1 Loop While (i < nbGN) End If i = 0 If nbadj <> 0 Then Do form2.Combo5.AddItem phrase(adj(i).mot).mot i = i + 1 Loop While (i < nbadj) End If i = 0 If nbadv <> 0 Then Do form2.Combo5.AddItem phrase(adv(i).mot).mot i = i + 1 Loop While (i < nbadv) End If form2.Combo5.ListIndex = 0 form2.Label4.Visible = False form2.Combo3.Clear form2.Combo3.Visible = False 'rien pour l'instant i = 0 form2.Label5.Visible = False form2.Combo4.Clear form2.Combo4.Visible = False 'rien pour l'instant form2.Frame1.Caption = "Superlatif" form2.Frame1.Height = 860 form2.Option1.Caption = "avant" form2.Option1.Visible = True form2.Option2.Caption = "après" form2.Option3.Visible = False form2.Option2.Visible = True form2.Check1.Visible = False form2.Check2.Visible = False form2.Check3.Visible = False End Sub Sub initdet () form2.Caption = "Déterminant" form2.Label1.Caption = "mot" form2.Text1.Text = "" form2.Label2.Caption = "Type" form2.Combo1.Clear form2.Combo1.AddItem "défini" form2.Combo1.AddItem "art.indéfini" form2.Combo1.AddItem "adj.indéfini" form2.Combo1.AddItem "contracté" form2.Combo1.AddItem "partitif" form2.Combo1.AddItem "possessif" form2.Combo1.AddItem "démonstratif" form2.Combo1.AddItem "num. ordinal" form2.Combo1.AddItem "num. cardinal" form2.Combo1.AddItem "exclamatif" form2.Combo1.AddItem "interrogatif" form2.Combo1.ListIndex = 0 form2.Label3.Caption = "Possesseur" form2.Combo2.Clear form2.Combo2.AddItem "1er sing" form2.Combo2.AddItem "2nd sing" form2.Combo2.AddItem "3ème sing" form2.Combo2.AddItem "1er plur" form2.Combo2.AddItem "2nd plur" form2.Combo2.AddItem "3ème plur" i = 0 form2.Combo2.ListIndex = 0 form2.Label6.Caption = "Nom" form2.Combo5.Clear form2.Combo5.AddItem "absent" If nbnom <> 0 Then Do form2.Combo5.AddItem phrase(nom(i).mot).mot i = i + 1 Loop While (i < nbnom) End If form2.Combo5.ListIndex = 0 form2.Label4.Visible = False form2.Combo3.Clear form2.Combo3.Visible = False 'rien pour l'instant form2.Label5.Visible = False form2.Combo4.Clear form2.Combo4.Visible = False 'rien pour l'instant form2.Frame1.Caption = "Type" form2.Frame1.Height = 1860 form2.Option1.Caption = "art,poss,dem" form2.Option1.Value = True form2.Option2.Caption = "autres adj" form2.Option2.Visible = True form2.Option3.Visible = False form2.Check1.Caption = "négatif" form2.Check1.Visible = True form2.Check2.Caption = "défini" form2.Option1.Visible = True form2.Check2.Visible = True form2.Check3.Visible = False End Sub Sub initGV () form2.Caption = "Groupe verbal" form2.Label1.Caption = "mot" form2.Text1.Text = "" form2.Label2.Caption = "Temps" form2.Combo1.Clear form2.Combo1.AddItem "présent" form2.Combo1.AddItem "passé" form2.Combo1.AddItem "futur" form2.Combo1.AddItem "imparfait" form2.Combo1.AddItem "passé composé" form2.Combo1.AddItem "futur antérieur" form2.Combo1.AddItem "plus-que-parfait" form2.Combo1.ListIndex = 0 form2.Label3.Caption = "Mode" form2.Combo2.Clear form2.Combo2.AddItem "indicatif" form2.Combo2.AddItem "conditionnel" form2.Combo2.AddItem "subjonctif" form2.Combo2.AddItem "impératif." form2.Combo2.AddItem "infinitif" form2.Combo2.AddItem "gérondif" form2.Combo2.AddItem "pronom" form2.Combo2.ListIndex = 0 form2.Label6.Caption = "Personne" form2.Combo5.Clear form2.Combo5.AddItem "1ère sing" form2.Combo5.AddItem "2ème sing" form2.Combo5.AddItem "3ème sing" form2.Combo5.AddItem "1ère plur" form2.Combo5.AddItem "2ème plur" form2.Combo5.AddItem "3ème plur" form2.Combo5.ListIndex = 0 i = 0 form2.Label4.Caption = "Sujet" form2.Label4.Visible = True form2.Combo3.Clear form2.Combo3.Visible = True form2.Combo3.AddItem "absent" If nbsujet <> 0 Then Do form2.Combo3.AddItem phrase(sujet(i).mot).mot i = i + 1 Loop While (i < nbsujet) End If i = 0 If nbGN <> 0 Then Do form2.Combo3.AddItem phrase(GN(i).mot).mot i = i + 1 Loop While (i < nbGN) End If form2.Label5.Caption = "Complément" form2.Frame1.Caption = "Type" form2.Frame1.Height = 1860 form2.Option1.Caption = "transitif" form2.Option2.Caption = "intransitif" form2.Option3.Visible = False form2.Check1.Caption = "réfléchi" form2.Check2.Caption = "verbe d'état" form2.Check3.Visible = False form2.Label5.Visible = True form2.Combo4.Visible = True form2.Option1.Visible = True form2.Option2.Visible = True form2.Check1.Visible = True form2.Check2.Visible = True End Sub Sub initnom () form2.Caption = "Nom" form2.Label1.Caption = "mot" form2.Text1.Text = "" form2.Label2.Caption = "Déterminant" form2.Combo1.Clear form2.Combo1.AddItem "absent" i = 0 If nbdet <> 0 Then Do form2.Combo1.AddItem phrase(det(i).mot).mot i = i + 1 Loop While (i < nbdet) End If form2.Combo1.ListIndex = 0 form2.Label3.Caption = "Adjectif" form2.Combo2.Clear form2.Combo2.AddItem "absent" i = 0 If nbadj <> 0 Then Do form2.Combo2.AddItem phrase(adj(i).mot).mot i = i + 1 Loop While (i < nbadj) End If form2.Combo2.ListIndex = 0 form2.Label6.Caption = "Complément" form2.Combo5.Clear 'rien pour l'instant 'form2.Combo5.ListIndex = 0 form2.Label4.Visible = False form2.Combo3.Clear form2.Combo3.Visible = False 'rien pour l'instant form2.Label5.Visible = False form2.Combo4.Clear form2.Combo4.Visible = False 'rien pour l'instant form2.Frame1.Caption = "Genre et nombre" form2.Frame1.Height = 1560 form2.Option1.Caption = "masculin" form2.Option2.Caption = "féminin" form2.Option3.Visible = False form2.Check1.Caption = "pluriel" form2.Check2.Visible = False form2.Check3.Visible = False form2.Option1.Visible = True form2.Option2.Visible = True form2.Check1.Visible = True End Sub Sub initprep () form2.Caption = "Préposition" form2.Label1.Caption = "mot(s)" form2.Text1.Text = "" form2.Label2.Caption = "Fonction" form2.Combo1.Clear form2.Combo1.AddItem "CC Temps" form2.Combo1.AddItem "CC Manière" form2.Combo1.AddItem "CC Lieu" form2.Combo1.AddItem "C de nom " form2.Combo1.AddItem "CC moyen" form2.Combo1.AddItem "CC cause" form2.Combo1.AddItem "CC conséquence" form2.Combo1.AddItem "CC but" form2.Combo1.AddItem "CC condition" form2.Combo1.AddItem "autre" form2.Combo1.ListIndex = 0 form2.Label3.Caption = "Désigné" form2.Combo2.Clear form2.Combo2.AddItem "absent" i = 0 If nbverbe <> 0 Then Do form2.Combo2.AddItem phrase(verbe(i).mot).mot i = i + 1 Loop While (i < nbverbe) End If i = 0 If nbnom <> 0 Then Do form2.Combo2.AddItem phrase(nom(i).mot).mot i = i + 1 Loop While (i < nbnom) End If i = 0 If nbGN <> 0 Then Do form2.Combo2.AddItem phrase(GN(i).mot).mot i = i + 1 Loop While (i < nbGN) End If form2.Combo2.ListIndex = 0 form2.Label6.Caption = "Lié" form2.Combo5.Clear i = 0 If nbnom <> 0 Then Do form2.Combo5.AddItem phrase(nom(i).mot).mot i = i + 1 Loop While (i < nbnom) End If i = 0 If nbGN <> 0 Then Do form2.Combo5.AddItem phrase(GN(i).mot).mot i = i + 1 Loop While (i < nbGN) End If 'rien pour l'instant 'form2.Combo5.ListIndex = 0 form2.Label4.Visible = False form2.Combo3.Clear form2.Combo3.Visible = False 'rien pour l'instant form2.Label5.Visible = False form2.Combo4.Clear form2.Combo4.Visible = False 'rien pour l'instant form2.Frame1.Caption = "Type" form2.Frame1.Height = 1560 form2.Option1.Visible = False form2.Option2.Visible = False form2.Option3.Visible = False form2.Check1.Caption = "Locution" form2.Check2.Visible = False form2.Check3.Visible = False End Sub Sub initpronom () form2.Caption = "Pronom" form2.Label1.Caption = "mot" form2.Text1.Text = "" form2.Label2.Caption = "Type" form2.Combo1.Clear form2.Combo1.AddItem "personnel" form2.Combo1.AddItem "démonstratif" form2.Combo1.AddItem "possessif" form2.Combo1.AddItem "interrogatif" form2.Combo1.ListIndex = 0 form2.Label3.Caption = "Fonction/désigné" form2.Combo2.Clear form2.Combo2.AddItem "sujet" form2.Combo2.AddItem "COD" form2.Combo2.AddItem "COI" form2.Combo2.AddItem "CC(L)" form2.Combo2.ListIndex = 0 form2.Label6.Caption = "Personne" form2.Combo5.Clear form2.Combo5.AddItem "1ère" form2.Combo5.AddItem "2nd" form2.Combo5.AddItem "3ème" 'rien pour l'instant 'form2.Combo5.ListIndex = 0 form2.Label4.Caption = "On/Composé" form2.Combo3.Clear form2.Combo3.AddItem "quelqu'un/¤" form2.Combo3.AddItem "tous/ci" form2.Combo3.AddItem "nous/là" form2.Combo3.AddItem "tu" 'rien pour l'instant form2.Label5.Caption = "Genre" form2.Combo4.Clear form2.Combo4.AddItem "masculin" form2.Combo4.AddItem "féminin" 'rien pour l'instant form2.Frame1.Caption = "Type" form2.Option1.Caption = "singulier" form2.Option2.Caption = "neutre" form2.Option3.Caption = "pluriel" form2.Check1.Caption = "accent/simple/nbre" form2.Check2.Caption = "formel/objet" form2.Check3.Caption = "on/direct" form2.Label4.Visible = True form2.Combo3.Visible = True form2.Label5.Visible = True form2.Combo4.Visible = True form2.Option1.Visible = True form2.Option2.Visible = True form2.Option3.Visible = True form2.Check1.Visible = True form2.Check2.Visible = True form2.Check3.Visible = True End Sub Sub initvar () nbGN = 0 nbnom = 0 nbsujet = 0 nbverbe = 0 nbmot = 0 nbdet = 0 nbadj = 0 nbdeg = 0 nbprep = 0 End Sub Sub rectangle (xm As Integer, ym As Integer, l As Integer, h As Integer, biseau As Integer, mine As Integer, coul As Integer) form1.Picture1.DrawWidth = mine form1.Picture1.FillStyle = solid form1.Picture1.FillColor = QBColor(15) If biseau = False Then form1.Picture1.Line (xm - l \ 2, ym - h \ 2)-(xm + l \ 2, ym + h \ 2), QBColor(coul), B End If form1.Picture1.FillStyle = 1 form1.Picture1.FillColor = QBColor(15) End Sub Sub valideadj () 'RESTE : cat GN adj(nbadj).fonct = form2.Combo1.ListIndex - 1 adj(nbadj).type = form2.Combo2.ListIndex - 1 adj(nbadj).nom = form2.Combo5.ListIndex - 1 adj(nbadj).cpl = form2.Combo3.ListIndex - 1 adj(nbadj).degre = form2.Combo4.ListIndex - 1 If form2.Option1.Value Then adj(nbadj).genre = 1 'masculin ElseIf form2.Option2.Value Then adj(nbadj).genre = 0 'féminin Else adj(nbadj).genre = 2 'invariable End If adj(nbadj).nombre = form2.Check1.Value 'true = -1 ' composé (ou dans type) au lieu de accord adj(nbadj).accord = form2.Check2.Value 'true = -1 'rechercher le n° du sujet, GN d'après combo3 phrase(nbmot).mot = form2.Text1.Text adj(nbadj).mot = nbmot nbmot = nbmot + 1 nbadj = nbadj + 1 Call aff_adj(nbadj - 1) End Sub Sub validedeg () ' RESTE : genre nombre deg(nbdeg).adj = form2.Combo1.ListIndex - 1 deg(nbdeg).type = form2.Combo2.ListIndex deg(nbdeg).comp = form2.Combo5.ListIndex - 1 deg(nbdeg).place = form2.Option1.Value ' !!! pb : superposition des check et intransitif 'rechercher le n° du sujet, GN d'après combo3 'cpt : rien pour l'instant '<0 si absent phrase(nbmot).mot = form2.Text1.Text deg(nbdeg).mot = nbmot nbmot = nbmot + 1 nbdeg = nbdeg + 1 Call aff_deg(nbdeg - 1) End Sub Sub validedet () ' RESTE : genre nombre det(nbdet).type = form2.Combo1.ListIndex - 1 det(nbdet).poss = form2.Combo2.ListIndex det(nbdet).nom = form2.Combo5.ListIndex - 1 If form2.Option1.Value Then det(nbdet).ens = 0 Else det(nbdet).ens = 1 End If 'If form2.Option2.Value Then ' verbe(nbverbe).type = verbe(nbverbe).type + 2 'End If det(nbdet).neg = form2.Check1.Value det(nbdet).def = form2.Check2.Value ' !!! pb : superposition des check et intransitif 'rechercher le n° du sujet, GN d'après combo3 'cpt : rien pour l'instant '<0 si absent phrase(nbmot).mot = form2.Text1.Text det(nbdet).mot = nbmot nbmot = nbmot + 1 nbdet = nbdet + 1 Call aff_det(nbdet - 1) End Sub Sub valideGV () 'RESTE : cat aspect neg, passif copule 'préciser le type (valeurs des bits) ' cpt a compléter ' etat dans type => changer ? verbe(nbverbe).temps = form2.Combo1.ListIndex verbe(nbverbe).mode = form2.Combo2.ListIndex verbe(nbverbe).pers = form2.Combo5.ListIndex If form2.Option1.Value Then verbe(nbverbe).type = 1 Else verbe(nbverbe).type = 0 End If If form2.Option2.Value Then verbe(nbverbe).type = verbe(nbverbe).type + 2 End If verbe(nbverbe).type = verbe(nbverbe).type + form2.Check2.Value * 4 + form2.Check1.Value * 2 ' !!! pb : superposition des check et intransitif 'rechercher le n° du sujet, GN d'après combo3 'cpt : rien pour l'instant verbe(nbverbe).sujet = form2.Combo3.ListIndex - 1 '<0 si absent phrase(nbmot).mot = form2.Text1.Text verbe(nbverbe).mot = nbmot nbmot = nbmot + 1 nbverbe = nbverbe + 1 Call aff_verbe End Sub Sub validenom () 'RESTE : cat GN nom(nbnom).det = form2.Combo1.ListIndex - 1 nom(nbnom).adj = form2.Combo2.ListIndex - 1 nom(nbnom).cpt = form2.Combo5.ListIndex - 1 If form2.Option1.Value Then nom(nbnom).genre = 1 'masculin Else nom(nbnom).genre = 0 '? End If If form2.Option2.Value Then nom(nbnom).genre = nom(nbnom).genre + 2 'féminin End If nom(nbnom).nombre = form2.Check1.Value 'true = -1 'rechercher le n° du sujet, GN d'après combo3 phrase(nbmot).mot = form2.Text1.Text nom(nbnom).mot = nbmot nbmot = nbmot + 1 nbnom = nbnom + 1 Call aff_nom(nbnom - 1) End Sub Sub valideprep () ' RESTE : genre nombre prep(nbprep).fonct = form2.Combo1.ListIndex - 1 prep(nbprep).des = form2.Combo2.ListIndex prep(nbprep).lie = form2.Combo5.ListIndex - 1 prep(nbprep).loc = form2.Check1.Value phrase(nbmot).mot = form2.Text1.Text prep(nbprep).mot = nbmot nbmot = nbmot + 1 nbprep = nbprep + 1 Call aff_prep(nbprep - 1) End Sub Sub valider () Select Case selection Case 1 valideGV Case 2 * 256 validenom Case 3 * 256 validedet Case 4 * 256 valideadj Case 5 * 256 validedeg Case 7 * 256 valideprep End Select End Sub