Bonjour tout le monde,
Je suis un débutant Delphi. Je dois manipuler des pointeurs pour
un projet et je suis un peu perdu sur les pointeurs, je veux donc faire
appel à vous experts, pour résoudre mon problème.
- Je déclare un "record" Tparameter en définissant les différents champs.
- Je déclare un pointeur sur mon Tparameter.
- Je déclare un Array "TabParameter" sur mon Tparameter *
- Je déclare un Pointeur PParameters, qui pointe sur TabParameter
Je crée une procédure proc1 avec pour paramètre le pointeur PStructure de type Pparameters. Je crée ensuite dans le code tout ce qu'il faut pour remplir ma PStructure avec l'instruction With PStructure^[i] Do:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 type TParameter = record A:string; B:Int64; C:single; D:Boolean; end; PParameter = ^TParameter; Tabparameter = Array of Tparameter; PParameters = ^Tabparameter; private Parameter1 : Array of Tparameter;
J'appelle à partir d'une autre procédure la procédure proc1 en lui passant en paramètre l'adresse de Parameter1 (qui est de type array of Tparameter)
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 procedure proc1(PStructure: Pparameters;FileName:string); var i:word; E,F,G,H,I:string; i:=length(PStructure^); SetLength(PStructure^,i+1); With PStructure^[i] Do Begin E:='toto'; F:='titi'; G:='tata'; H:='tutu'; I:='tyty'; end; end;
Proc1(@Parameter1,'fichier_texte.txt');
Ce code marche très bien et ne provoque aucune erreur.
Voici mon problème :
=> Une fois la procédure Proc1 appelée, je voudrai exploiter les enregistrements récupérés dans Parameter1. Quand j'utilise l'évaluation en mode débuggage, j'obtiens : (('toto', 'titi', 'tata', 'tutu', 'tyty'))
Je voudrai par exemple récupérer la valeur du champ F de PStructure.
Je suis débutant, je reprends ce code qui a déjà été fait par un expert.
Cela peut vous paraître trop facile, mais moi je suis bloqué.
Merci beaucoup pour votre aide.
Partager