voilà, j'ai besoin d'utiliser un tableau de tableaux de points pour afficher un graphe qui peut possèder plusieurs tracés de courbes.
je veux joindre un réticule sur mon graphique.
pour cela, à chaque fois que je déplace la souris, je suis obligé d'obturer, de retracer le repère(axes, quadrillage,graduations) et de retracer les courbes.
les courbes sont donc stockée dans des tableaux de points qu'il faut que je
mémorise d'où l'utilité d'un tableau de tableaux de points et en plus dynamique car la quantité de tableaux de points doit être fixée par le nombre de courbes affichées.
bref avec une courbe, ça marche bien, j'ai testé... en revanche, je ne sais pas comment utiliser setlength dans le cadre d'un array of array (dynamique).
partie de code pour plus de clarté bien que la proc soit sortie de son contexte...

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
 
Procedure Tgraphique.courbe(tailpt:integer;coulpt:Tcolor);
var tabpt:array of Tpoint;
     i:integer;
     u:extended;
begin
u:=0;
setlength(tabpt,10*tmax);
 
for i:=0 to 10*tmax-1 do begin
if permission2 then u:=Umax*(1-exp(-i/(1e4*Form1.R*Form1.C)));
if permission3 then u:=Umax*exp(-i/(1e4*Form1.R*Form1.C));
tabpt[i]:=point(round(origine.x+(waxe*(i+1)/(10*tmax))),round(origine.y-4*h*u/50));
end;
 
with canvas do begin
pen.Width:=tailpt;
pen.Color:=coulpt;
polyline(tabpt);
end;
permission2:=false;
permission3:=false;
end;
j'ai codé un objet Tgraphique que j'utilise dans mon unit principale.
origine.x correspond en fait à l'origine de mon repère.
c'est un Trpoint ->
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
Trpoint=record
x,y:extended;
end;
je fais tous mes calculs en réel et seulement à la fin je fais des rounds pour éviter les surprises à l'affichage...

En fait je veux faire un tabpt:array of array of Tpoint; donc dynamique...
j'ai une property nbcourbe write setcourbe qui fixe le nb de courbe affichée.
(property dans Tgraphique)
il faut que je puisse faire aussi setlength(tabpt[..],setcourbe)
pour fixer ma quantité de tableaux à stocker pour le réaffichage lors de ma procedure reconstruction de l'unit principale que j'appelle à chaque déplacement de réticule.
j'espère avoir été clair lol. (pas facile).
je veux savoir comment fixer les dimensions d'un tableau de tableau dynamique. les dimensions étant variables( c'est là la difficulté)