Fonction Pos : mon code ne marche pas [Résolu] - Delphi/Pascal - Programmation
Marsh Posté le 17-01-2006 à 20:06:30
HERIBERT a écrit : Ce code : |
C'est bête. Je commence (peut-être) à comprendre après l'affichage de mon post
Marsh Posté le 17-01-2006 à 20:09:59
HERIBERT a écrit : Ce code : |
La faute était là :
Chn_Recherchee := '260.pa';
Ptr_Chn := PChar(Chn_Recherchee); // et pas nil !
Position := Pos(Chn_Recherchee, Ptr_Buffer);
inc(Ptr_Chn, Position);
Form1.Lab_Aff_Chn.Caption := Ptr_Chn;
Marsh Posté le 17-01-2006 à 20:05:05
Ce code :
Chn_Recherchee := '260.pa';
Ptr_Chn := nil;
Position := Pos(Chn_Recherchee, Ptr_Buffer);
inc(Ptr_Chn, POsition);
Form1.Lab_Aff_Chn.Caption := Ptr_Chn;
ne fonctionne pas.
Chn_Recherchee : string
Ptr_Chn : PChar
POsition : integer
Je cherche la position (déplacement, quoi) de la chaîne Chn_Recherchee à l'intérieur du buffer pointé par Ptr_Buffer. Ptr_Buffer pointe sur le tampon où j'ai stocké les octets lus depuis un fichier avec FileRead, et Ptr_Chn devrait pointer sur la chaîne recherchée à l'intérieur de ce buffer. Elle y est (vérifié).
Et ça ne marche pas
Et comme je ne sais pas utiliser le débogueur interne de Delphi (à part CTRL F7)... J'ai même tenté avec TD32, mais il plante. Comprend pas pourquoi.
Message édité par HERIBERT le 17-01-2006 à 20:08:55