Bonjour,
J'aimerais savoir quelles sont les fonctions pour modifier les tableaux ? Je veux utiliser :
dim pixel.decor (999)
je voudrais savoir s'il existe la fonction pour redimensionner un tableau tout en conservant les données à l'intérieur de celui ci, une fonction pour connaitre les index minimums et maximums (ici : 0 et 999) ... pour copier un tableau directement comme ca :
structure decor
X
Y
Color
endstructure
dim pixel.decor (999)
dim point.decor (999)
pixel(1) = point(1)
ici toutes les variables doivent etre transferer à savoir la valeur de X,Y et color !
Je ne veux pas utiliser les listes chainées car le chiffre dans les parentheses permet de controler chaque point (independament)! Je l'appelle le quantificateur car c'est lui qui permet au prog de se retrouver et de gerer les points.
RQ: Si le point 10 n'existe +, le point (11) ne doit surtout pas prendre sa place !!
Tableau
Pour redimensionner un tableau sans perdre le contenu n'est pas facile.
1. Creer un tableau tampon
2. Copier le tableau à redimensionner dans le tableau tampon.
3. Redimensionner le tableau.
4. Copier le tableau tampon dans le tableau redimensionné.
Pour faire un égalité entre 1 élément de 2 tableaux, ill faut faire comme ceci :
Il faut faire un égalité champ à champ. Une égalité Structure à Structure est impossible.
J'espère que ça peut d'aider.
A+
Guimauve
1. Creer un tableau tampon
2. Copier le tableau à redimensionner dans le tableau tampon.
3. Redimensionner le tableau.
4. Copier le tableau tampon dans le tableau redimensionné.
Pour faire un égalité entre 1 élément de 2 tableaux, ill faut faire comme ceci :
Code : Tout sélectionner
pixel(1)\x = point(1)\x
pixel(1)\y = point(1)\y
pixel(1)\Color = point(1)\Color
J'espère que ça peut d'aider.
A+
Guimauve
Bon j'ai un plus de temps...
Voiçi un exemple complet :
N.B. Il faut comprendre la notion de pointeur et d'adresse pour comprendre comment à marche ce bout de code.
A+
Guimauve
Voiçi un exemple complet :
Code : Tout sélectionner
; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
; <<<<< Déclaration de la Structure >>>>>
Structure decor
x.l
y.l
Color.l
EndStructure
; <<<<<<<<<<<<<<<<<<<<<<<<<
; <<<<< Les mutateurs >>>>>
Procedure Setdecorx(*ObjetA.decor, x.l)
*ObjetA\x = x
EndProcedure
Procedure Setdecory(*ObjetA.decor, y.l)
*ObjetA\y = y
EndProcedure
Procedure SetdecorColor(*ObjetA.decor, Color.l)
*ObjetA\Color = Color
EndProcedure
; <<<<<<<<<<<<<<<<<<<<<<<<<<<<
; <<<<< Les observateurs >>>>>
Procedure.l Getdecorx(*ObjetA.decor)
ProcedureReturn *ObjetA\x
EndProcedure
Procedure.l Getdecory(*ObjetA.decor)
ProcedureReturn *ObjetA\y
EndProcedure
Procedure.l GetdecorColor(*ObjetA.decor)
ProcedureReturn *ObjetA\Color
EndProcedure
; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<
; <<<<< L'opérateur Equal >>>>>
Procedure Equaldecor(*ObjetA.decor, *ObjetB.decor)
Setdecorx(*ObjetA, Getdecorx(*ObjetB))
Setdecory(*ObjetA, Getdecory(*ObjetB))
SetdecorColor(*ObjetA, GetdecorColor(*ObjetB))
EndProcedure
Dim pixel.decor (999)
Dim Point_Decor.decor (999)
Setdecorx(@Point_Decor(1), 100)
Setdecory(@Point_Decor(1), 300)
SetdecorColor(@Point_Decor(1), RGB(255,000,255))
Equaldecor(@pixel(1), @Point_Decor(1))
Debug Getdecorx(@pixel(1))
Debug Getdecory(@pixel(1))
Debug GetdecorColor(@pixel(1))
A+
Guimauve