Bonjour à tous

Je viens vous soumettre une erreur de liste hors limite dans un stringlist que je n'arrive pas à solutionner (je suis en D7 edition perso)

L'erreur se situe sur cette ligne dans la 2ème partie de mon code (voir ci-après)
StrAnniv.Insert(10,EdNom.text); // erreur liste hors limite (10)

Avez vous une idée pour y remédier
Merci
A vous lire
Cordialement

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
// a la validation, on ajoute les données de la nouvelle fiche
procedure TForm1.SpdBtnValidFicheClick(Sender: TObject);
var
StrAnniv: TStringList;
begin
StrAnniv:=TStringList.Create;

DateNaissance:=FormatDateTime('dd/mm/yyyy', DateTimePicker1.Date);
DateAnniversaire:=FormatDateTime('dd mmmm', DateTimePicker1.Date);

if check1.Checked=false then  // si checkbox1 non coché on ajoute les valeurs ou on passe au checkbox suivant
begin
Listbox1.items[0]:=DateAnniversaire + ' ' + EdNom.text + ' ' + EdPrenom.text;
StrAnniv.Insert(0,EdNom.text);
StrAnniv.Insert(1,EdPrenom.text);
StrAnniv.Insert(2,EdTelfixe.text);
StrAnniv.Insert(3,EdTelport.text);
StrAnniv.Insert(4,Edmail.text);
StrAnniv.Insert(5,Edadresse.text);
StrAnniv.Insert(6,DateNaissance);
StrAnniv.Insert(7,EdAge.text);
StrAnniv.Insert(8,DateAnniversaire);
StrAnniv.Insert(9,EdFete.text);
Check1.Checked:=true
end
 else
  begin
if check2.checked=false then
begin
Listbox1.items[1]:=DateAnniversaire + ' ' + EdNom.text + ' ' + EdPrenom.text;
StrAnniv.Insert(10,EdNom.text);  // erreur index hors limite sur cette ligne
StrAnniv.Insert(11,EdPrenom.text);
StrAnniv.Insert(12,EdTelfixe.text);
StrAnniv.Insert(13,EdTelport.text);
StrAnniv.Insert(14,Edmail.text);
StrAnniv.Insert(15,Edadresse.text);
StrAnniv.Insert(16,DateNaissance);
StrAnniv.Insert(17,EdAge.text);
StrAnniv.Insert(18,DateAnniversaire);
StrAnniv.Insert(19,EdFete.text);
Check2.Checked:=true;

StrAnniv.SaveToFile('Fiches Anniversaire.ann');

StrAnniv.Free;

Editcount.text:=IntToStr(Listbox1.count); // comptabilise le nombre d'enregistrements
end;
end;
end;