我如何将它从常量转换为变量数组?

时间:2012-12-11 18:38:59

标签: arrays graph pascal

Uses Graph;
Const Triangle : Array [1..3] Of PointType =
((X: 50; Y: 100),
(X: 100; Y: 100),
(X: 150; Y: 50));
Var Gd, Gm : smallint;
Begin
Gd:=Detect;
InitGraph(Gd, Gm, ''); 
If GraphResult <> grOk Then Halt(1);
SetFillStyle(7,0);
SetColor(14);
FillPoly(SizeOf(Triangle) Div SizeOf(PointType), Triangle);
ReadLn;
CloseGraph;
End.

我希望能够输入三角形的值,以便用户可以移动它,但它是一个常数,所以除非有办法将其转换为变量,否则这是不可能的。

1 个答案:

答案 0 :(得分:1)

对于FreePascal:

只需用“var”替换“const”即可。你可以用这种方式初始化全局变量,甚至像这样的复杂变量,变量将在你的程序开始时取这个值,直到你改变它。

对于TurboPascal:

常量数组不是真正的常量,您可以随意修改它们。例如,你可以这样做:

Triangle[1].X := 500;

在程序开始时它会正常工作。有关详细信息,请参阅this related question