Fonction COPY dans un vecteur
Bonjour à tous,
Je souhaite faire une procédure qui permet de chercher (en tapant le debut d'un mot) tous les mots commençant par ce que j'ai rentré auparavant.
Je pense donc à la fonction COPY mais je ne sais pas comment l'utiliser dans un vecteur.
Voici mon code :
Code:
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 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160
| procedure AjouterDefinition (var Lexique : TabElement; var Nbmots : Integer);
Var
vrep : char;
begin
vrep := 'o';
While (vrep = 'o') and (Nbmots < 100) DO
begin
Writeln('Indiquez le terme a definir : ');
Readln(Lexique[Nbmots + 1].terme);
Writeln('Indiquez la definition de ce terme : ');
Readln(Lexique[Nbmots + 1].definition);
Nbmots := Nbmots + 1;
SauvegarderLexique (Lexique, NbMots);
Writeln('');
Writeln('');
Writeln('Voulez vous saisir un autre terme ainsi que sa definiton ? o/n ');
Readln(vrep);
end;
end;
procedure Listedefinition (const Lexique : TabElement; const Nbmots : Integer);
Var
vi : integer;
begin
vi := 1;
While vi <= Nbmots DO
begin
Writeln(Lexique[vi].terme,' ---> ' , Lexique[vi].definition);
Writeln('');
Writeln('');
vi := vi + 1;
end;
end;
procedure RechercheDefinition (const Lexique : TabElement; const Nbmots : Integer; const libterme : mot20);
Var
vi : integer;
begin
vi :=1;
While vi <= Nbmots DO
begin
If (libterme = Lexique[vi].terme) Then
begin
Writeln(Lexique[vi].definition);
end;
vi := vi+1;
end;
end;
procedure RechercheMot (const Lexique : TabElement; const Nbmots : Integer; const motRecherche : mot20);
var
vi : Integer;
vlex : elementstd;
vt : Integer;
begin
vi := 1;
while vi <= Nbmots do
begin
vlex := Lexique[vi];
vt := Pos(AnsiLowerCase(motRecherche), AnsiLowerCase(vlex.definition));
if vt <> 0 then
begin
Writeln(vlex.terme, ' ---> ' , vlex.definition);
end;
vi := vi + 1;
end;
end;
Procedure DebutMot (const Lexique : TabElement; const Nbmots : Integer; const motRecherche : mot20);
begin
end;
//-------------------------- Début du programme principal ----------------------//
begin
ChargerLexique(Lexique, NbMots);
Vchoix := 0;
While Vchoix <> 5 DO
begin
Writeln('');
Writeln(' Bienvenue dans le lexique ');
Writeln('-----------------------------------------------');
Writeln('');
Writeln('1) Saisie d"une nouvelle definition dans le lexique ' );
Writeln('2) Liste de toutes les définitions enregistrées' );
Writeln('3) Rechercher dans les noms des éléments du lexique');
Writeln('4) Rechercher dans les définitions des éléments du lexique');
Writeln('');
Writeln('Indiquez votre choix :');
Readln(Vchoix);
Writeln('');
case Vchoix of
1: begin
AjouterDefinition(Lexique, Nbmots);
end;
2: begin
Listedefinition(Lexique, Nbmots);
end;
3: begin
Writeln('Veuillez saisir un terme dont vous ne connaissez pas la definition');
Readln(libterme);
Writeln('');
RechercheDefinition(Lexique, Nbmots, libterme);
end;
4: begin
Writeln('Veuillez saisir un mot contenu dans la definition recherchée');
Readln(libterme);
Writeln('');
RechercheMot(Lexique, Nbmots, libterme);
end;
5: begin
Writeln('Veuillez saisir les premières lettres d"un mot recherché');
Readln(libterme);
Writeln('');
DebutMot(Lexique, Nbmots, libterme);
end;
end;
Readln;
end. |
C'est donc la dans la procedure DebutMot que je compte inserer la fonction COPY. Merci d'avance tout le monde !! :)