j'ai un type d'enregistrementDelphi: briser le paramètre d'enregistrement vers le bas dans les champs
tLine = record
X, Y, Count : integer;
V : boolean;
end;
J'ai un
function fRotate(zLine: tLine; zAngle: double): tLine;
Je veux passer zline, mais avec son champ Y réduit de 1. Y at-il un moyen de décomposer un enregistrement dans ses champs spécifiques dans une procédure ou une fonction? J'ai essayé
NewLine:=fRotate((zLine.X, zLine.Y-1, zLine.Count, zLine.V), zAngle);
qui ne fonctionne pas. Ou dois-je faire comme suit:
dec(zLine.Y);
NewLine:=fRotate(zLine, zAngle);
inc(zLine.Y);
TIA
Peut-être utiliser un 'TPoint' à la place du tableau. par exemple. 'fRotate (fLine - Point (0, 1), fAngle)' – kobik
Salut @kobik J'ai pensé à cela en premier mais je n'étais pas familier avec la fonction Point, alors oui, votre solution est bien meilleure. Je vais mettre à jour ma réponse en conséquence. – Dsm
Merci à vous deux. Je voulais surtout savoir si un paramètre d'enregistrement peut être décomposé en ses champs de composants; apparemment pas, et c'est une connaissance utile. Cela me sauve l'effort de chercher haut et bas pour quelque chose qui n'est pas là. – JRBleau