作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
示例
procedure TForm1.ButtonClick(Sender: TObject);
var x:integer;
begin
SetLength(MyArray,10)
for x:=0 to 9 do FillWithRandomNumbers(MyArray[x]);
end;
Procedure FillWithRandomNumbers(var MyArray: Array of double);
begin
MyArray:=Random; //<-I have no idea what to do here :(
end;
正如您所看到的,我正在尝试将单个元素传递给过程,以便在指定的数组单元上执行某些任务。例如,过程 FillWithRandomNumbers 应采用 MyArray[2] 并用随机数填充此单元格。
最佳答案
您想要传递单个数组元素,但您的过程需要一个完整的数组。要直接回答您的实际问题,您的程序应定义为:
Procedure FillWithRandomNumber(var Value: double);
begin
Value:= Random;
end;
procedure TForm1.ButtonClick(Sender: TObject);
var x:integer;
begin
SetLength(MyArray,10)
for x:=0 to 9 do FillWithRandomNumber(MyArray[x]);
end;
或者你可以这样做:
procedure TForm1.ButtonClick(Sender: TObject);
begin
SetLength(MyArray, 10);
FillWithRandomNumbers(MyArray);
end;
Procedure FillWithRandomNumbers(var SomeArray: Array of double);
var
X: Integer;
begin
for X := Low(SomeArray) to High(SomeArray) do begin
SomeArray[X] := Random;
end;
end;
或者更简单,根本不使用过程:
procedure TForm1.ButtonClick(Sender: TObject);
var
X: Integer;
begin
SetLength(MyArray, 10);
for X := 0 to High(Array) do begin
MyArray[X]:= Random;
end;
end;
关于delphi - 如何将数组的单个元素传递给过程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38773598/
我是一名优秀的程序员,十分优秀!