var a:integer; index:integer; MonTbl:array of ...; //index est le numéro de l'item ke vous voulez supprimer for a:= index+1 to Length(MonTbl)-1 do MonTbl[a-1] := MonTbl[a]; //déplaec tous les éléments après index. SetLength(MonTbl,Length(MonTbl)-1); //reduit le tableau
Merci pour cette petite source tres interressante.Jerome
Salut,ce n'est pas vraiment la bonne méthode bien qu'elle soit fonctionnelle.Delphi a prévu une procedure nommée Move ... pour ce genre d'opération.et voici son utilisation :Il faut deux TLabel et un TButton sur la Fiche {Déclaration du Tableau}Var MonTab : Array Of Integer; {Procedure de suppression d'un élément du tableau}Procedure DelTabItem(Index : Integer);Begin {Si l'index est en dehors des limites du tableau on sort} If (Index < Low(MonTab)) or (Index > High(MonTab)) Then Exit; {On décale les données en une fois ... Move(Source, Dest, Count)} Move(MonTab[Index + 1], MonTab[Index], High(MonTab) - Index + 1 * SizeOf(Integer)); {Mise à jour de la taille du tableau} SetLength(MonTab, High(MonTab));End; {Initialisation du tableau}procedure TForm1.FormCreate(Sender: TObject);Var I : Integer;begin SetLength(MonTab, 20); For I := Low(MonTab) to High(MonTab) do MonTab[I] := I;end; {Appel de la Procedure de suppression}procedure TForm1.Button1Click(Sender: TObject);Var I : Integer; Str : String;begin {Affichage permettant un contrôle avant suppression} Str := 'Avant : '; For I := Low(MonTab) to High(MonTab) do Str := Str + IntToStr(MonTab[I]) + ', '; Label1.Caption := Str; {Appel de la suppression} DelTabItem(11); {Affichage permettant un contrôle après suppression} Str := 'Après : '; For I := Low(MonTab) to High(MonTab) do Str := Str + IntToStr(MonTab[I]) + ', '; Label2.Caption := Str;end;ps: le niveau Initié est peut être un peut fort ... elle passe donc au niveau débutant ce quime semble plus juste.@+Cirec
Bonjour Merci beaucoup pour ce code tres bien fait ! !Je ne savais pas que l'on pouvait metre deux conditions dans la meme formule ! ! If (Index < Low(MonTab)) or (Index > High(MonTab)) Que du bonheur !! Je vais decortiquer le code et essayer de le comprendre.Au debut ces histoires de tableaux dynamiques me decouragaient maisje dois avouer qu'en persistant c'est vraiment tres facile a comprendre.Jerome
Bonjour a tous.Merci Cirec pour ce tres bon code.Je ne comprends pas le '- Index + 1 * SizeOf(Integer));'Si je ne le mets pas j'ai une erreur .Et le count c'est pour quoi ??Merci beaucoupJerome
Saluut Tout Le Monde ...Quelqun Peut M'expliquer Comment supprimer un enregistrement d'un fichier RandomAccessFile en Java ??J'ai Arrivé a Ajouter des nvelles Lignes les afficher et Rechercher une donnéeMais comment supprimer ou Modifier jaraiive pasSVP Aide ... Merci D'avance ...
Se souvenir du profil
Mot de passe oublié ? / Activation de compteCréer un compte
1 872 283 membres 4 nouveaux aujourd'hui 16 148 membres club