XgaletteX
Messages postés102Date d'inscriptionsamedi 14 mai 2005StatutMembreDernière intervention12 août 2005
-
1 août 2005 à 15:08
jlen100
Messages postés1606Date d'inscriptionsamedi 10 juillet 2004StatutMembreDernière intervention25 juillet 2014
-
1 août 2005 à 21:23
Bonjour,
j'ai un pb avec une procedure mais je vois dou vien celui-ci, voici mon code:
New(AFile);
with AFile^ do
begin
S:=Str;
M:=5;
L:=Pos('$',S);
Separator:=Copy(S,L+1,1);
S:=Copy(S,L+4,Length(S));
for I:=1 to 7 do
begin
L:=Pos(Separator,S);
S:=Copy(s,0,L-1);
case I of
1:NbAnal:=strtoint(s);
2:Etat:=strtoint(s);
3:DateGene:=strtodate(s);
4:HeureGene:=strtotime(s);
5:try
DateValid:=strtodate(s);
except
DateValid:=0;
end;
6:try
HeureValid:=strtotime(s);
except
HeureValid:=0;
end;
7:LibEnq:=s;
end;
S:=Copy(Str,M+L+1,Length(Str));
M:=M+L;
end;
end;
ListeFichier.Add(AFile);
Dispose(AFile);
kan j'excute mon prog, il vien lire dans les entetes de fichiers, et faire une lite de fichiers avec leurs caractérisques, mais kan j'ai o dela de 1 fichier il m'ajoute pas les fichiers dans la liste, il ajoute seulement le premier...
XgaletteX
Messages postés102Date d'inscriptionsamedi 14 mai 2005StatutMembreDernière intervention12 août 2005 1 août 2005 à 15:54
Oui mais je pensé ke une fois placer dans la liste il n'été pplus nécéssaire de gardé le pointeur , il suffit de le redéclarer pour aller cherché les élément de la liste
jlen100
Messages postés1606Date d'inscriptionsamedi 10 juillet 2004StatutMembreDernière intervention25 juillet 201413 1 août 2005 à 16:40
non la procedure New() attribue de l'espace memoire aux donnees
si tu derefrence ton pointeur la place accordeé a sont recuperees
par le systeme et en principe la valeur Nil est donnee au pointeur donc
et donc le pointeur de la ListeFichier ne pointe plus sur les donnees.
l'attribution de la valeur nil au pointeur est la pour eviter d'ecrire dans des zones memoires non referencees.
il est donc indispensable que tu gardes ton pointeur tant que tu utilises at liste
vas voir dans l'aides DELPHI pour l'utilisation des Tlist dans l'exemple de la procedure Add()
cs_Kenavo
Messages postés702Date d'inscriptionvendredi 21 mars 2003StatutMembreDernière intervention 1 octobre 20095 1 août 2005 à 19:00
Entièrement d'accord avec jlen100 !
Quand tu écris :
ListeFichier.Add(AFile); tu
n'ajoutes que la valeur du pointeur dans la TList. Il faut aussi
conserver la variable pointée, et c'est juste à la fin, ou quand tu
n'as plus besoin de ta liste que tu peux écrire
jlen100
Messages postés1606Date d'inscriptionsamedi 10 juillet 2004StatutMembreDernière intervention25 juillet 201413 1 août 2005 à 21:23
une petite experience:
si tu tentes de modifier une valeur de ta liste tu auras surement une
erreur d'execution : "violation de d'acces a l'adresse 0000000 "ou
quelque chose du même genre