|
我定义了下面这个函数,并且调用它,但是在编译是报错了,错误是这个:
[错误]Biz:\DKCLXNJCXT\V0_91\JCXT.INFO.DIR\GSQX.FormDoc.pas(118, 5): Too many actual parameters
这个是什么原因啊。
我调用是这样写的:
zlsj(2, mm);
其中mm是int型大概在500以内。
procedure TGSQX.ZLSJ(m1, mm1: Integer; ksxb: Integer = 1);
var
i, j, k, ii, i1: integer;
s1, s2, s3, s4, s5, s6, s7, s8, r, s, t1, t2, t3: Double;
begin
if mm1 > 0 then
begin
ZhiX[1, 1] := mm1;
ZhiX[1, 2] := 0;
ZhiX[1, 3] := 0;
ZhiX[1, 4] := 0;
ZhiX[1, 5] := 0;
ZhiX[2, 5] := 0;
ZhiX[3, 5] := 0;
ZhiX[4, 5] := 0;
ZhiX[5, 5] := 0;
ZhiY[1] := 0;
ZhiY[2] := 0;
ZhiY[3] := 0;
ZhiY[4] := 0;
ZhiY[5] := 0;
// for i := 1 to mm1 do
for i := ksxb to mm1 do
begin
s1 := PX;
s2 := s1 * PX;
s3 := s2 * PX;
s4 := s3 * PX;
s5 := s4 * PX;
s6 := s5 * PX;
s7 := s6 * PX;
s8 := s7 * PX;
ZhiX[1, 2] := ZhiX[1, 2] + s1;
ZhiX[1, 3] := ZhiX[1, 3] + s2;
ZhiX[1, 4] := ZhiX[1, 4] + s3;
ZhiX[1, 5] := ZhiX[1, 5] + s4;
ZhiX[2, 5] := ZhiX[2, 5] + s5;
ZhiX[3, 5] := ZhiX[3, 5] + s6;
ZhiX[4, 5] := ZhiX[4, 5] + s7;
ZhiX[5, 5] := ZhiX[5, 5] + s8;
ZhiY[1] := ZhiY[1] + PY;
ZhiY[2] := ZhiY[2] + PY * s1;
ZhiY[3] := ZhiY[3] + PY * s2;
ZhiY[4] := ZhiY[4] + PY * s3;
ZhiY[5] := ZhiY[5] + PY * s4;
end;
ZhiX[2, 1] := ZhiX[1, 2];
ZhiX[2, 2] := ZhiX[1, 3];
ZhiX[2, 3] := ZhiX[1, 4];
ZhiX[2, 4] := ZhiX[1, 5];
ZhiX[3, 1] := ZhiX[1, 3];
ZhiX[3, 2] := ZhiX[1, 4];
ZhiX[3, 3] := ZhiX[1, 5];
ZhiX[3, 4] := ZhiX[2, 5];
ZhiX[4, 1] := ZhiX[1, 4];
ZhiX[4, 2] := ZhiX[3, 3];
ZhiX[4, 3] := ZhiX[3, 4];
ZhiX[4, 4] := ZhiX[3, 5];
ZhiX[5, 1] := ZhiX[4, 2];
ZhiX[5, 2] := ZhiX[4, 3];
ZhiX[5, 3] := ZhiX[4, 4];
ZhiX[5, 4] := ZhiX[4, 5];
for k := 1 to m1 - 1 do
begin
for i := K + 1 to m1 do
begin
r := ZhiX[i, k] / ZhiX[k, k];
if zhix[i, k] <> 0 then
begin
for j := k to m1 do
begin
Zhix[i, j] := ZhiX[i, j] - r * ZhiX[k, j];
end;
end;
ZhiY := ZhiY - r * ZhiY[k];
end;
end;
i := m1 - 1;
try
t1 := ZhiY[m1];
t2 := ZhiX[m1, m1];
//if t2<0.0000001 then t2:=0.0000001;
VX[m1] := t1 / t2;
for i1 := 1 to m1 - 1 do
begin
i := m1 - i1;
s := ZhiY;
for j := i + 1 to m1 do
begin
s := s - ZhiX[i, j] * VX[j];
t3 := ZhiX[i, i];
//if t3<0.0000001 then t3:=0.0000001;
VX := s / t3;
end;
end;
B_ZLSJ := True;
except
B_ZLSJ := False;
end;
end else B_ZLSJ := False;
VX[9] := VX[1];
if m1 = 2 then
; // VX[1] := 0
end;
procedure TGSQX.DelCD;
begin
//
try
ZhiX := nil;
ZhiY := nil;
PX := nil; ;
PY := nil;
VXG := nil;
VXS := nil;
PSDX := nil;
PSDY := nil;
VX := nil;
except
end;
end; |
|