Il serait intéressant que tu nous dises comment tu déclares tes variables fichiers ainsi que IndexMat et ARCHIVErecord pour que l'on puisse t'aider.
May Delphi be with you-------------------------------
Réponse au message :
-------------------------------
>
Votre texte ICIVotre texte ICI> Bonjour,
> J'ai un problème avec la lecture d'un fichier
> et l'affichage de son contenu dans un ListBox.
> La session se déroule quand même normalement.
> Les points d'arrêt ne donnent rien.
> Les variables vérifiées en cours de
> déroulement avec des ShowMessages
> sont exactes.
> Et la seule présence d'un showMessage en
> fin de procédure élimine l'affichage des
> fenêtres d'erreur,(document joint )et semble
> gommer l'erreur.
> Qu'en pensez-vous?
> La procédure concernée est sur la pièce jointe.
> Je vous remercie à l'avance de votre aide.
> Amitiés.
> BRIVE.
>
> Je ne sais pas ajouter une pièce jointe.
> Est-ce possible, si oui comment faire?
>
> S'il n'y a pas réinitialisation,j'ai ensuite la fenêtre suivante:
>
> ici image des fenêtres du message
>
>
> Voici l'extrait de la procédure qui pose problème.
>
> {-------------------Envoi pour aide---------------------------}
> 3:begin//Repas crées TESTS
> if CHOIXDUMOMENT='MATIN' then
>
> begin //Lecture de l'index
> chemin:=('C:\ALIMENTATIOND6\'+ NOMDUFICHIER+'\');
> AssignFile(FICHARCH,chemin + 'ARCHIVMAT.TST');
> Reset(FICHARCH,1);
> seek(FICHARCH,0);
> Blockread(FICHARCH,IndexMAT,sizeof(IndexMAT));
> CloseFile(FICHARCH);
> end;
>
> NbROT:=IndexMAT;
>
> if NbROT=0 then
> begin
> Panelchoixsuppr.Visible:=False;
> Paneloubli.Visible:=True;
> Oublisuppr.Lines.LoadFromFile('FICHIERVIDE.RTF');
> MESSAGERIESUPPR.Clear;
> end;
>
> if NbROT=1 then //pour le premier et le seul.
> begin
> limite:=10;//adresse de départ après l'index.
> AssignFile(FICHARCH,chemin + 'ARCHIVMAT.TST');
> Reset(FICHARCH,1);
> seek(FICHARCH,limite);
> BlockREAD(FICHARCH,ARCHIVErecord,sizeof(ARCHIVErecord));
> CloseFile(FICHARCH);
>
> //Création du tableau et affichage dans le ListBOX
> TableauTEST[1]:=ARCHIVErecord.Identite;
> DEFILSUPPR.Items.Add(TableauTEST[1]);
> end;
>
> if NbROT > 1 then
> begin
> AssignFile(FICHARCH,chemin + 'ARCHIVMAT.TST');
> Reset(FICHARCH,1);
> for i:=1 to NbROT do
> begin
> limite:=10+(60*(i-1));// 60= espace réservée pour la variable
> seek(FICHARCH,limite);
> BlockREAD(FICHARCH,ARCHIVErecord,sizeof(ARCHIVErecord));
> TableauTEST[i]:=ARCHIVErecord.Identite;
> end;
> CloseFile(FICHARCH);
>
> for i:=1 to NbROT do
> DEFILSUPPR.Items.Add(TableauTEST[i]);
> end;
>
> {ShowMessage('i=....'+ IntToStr(i));actif il supprime l'erreur}
> end;//Fin 3
> {-----------------------Fin envoi pour aide-------------------}
>
>
>
>