起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 99|回复: 5

[请求]**

[复制链接]
发表于 2008-4-22 10:48:13 | 显示全部楼层 |阅读模式
我定义了下面这个函数,并且调用它,但是在编译是报错了,错误是这个:
[错误]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;
回复

使用道具 举报

发表于 2008-4-22 11:01:52 | 显示全部楼层
这样调可以吗?
zlsj(2, mm,1);
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-4-22 12:43:48 | 显示全部楼层
试了,不行的。
还是这个。
[错误]Biz:\DKCLXNJCXT\V0_91\JCXT.INFO.DIR\GSQX.FormDoc.pas(118, 5): Too many actual parameters
回复 支持 反对

使用道具 举报

发表于 2008-4-22 13:17:52 | 显示全部楼层
你这样用看看
ZhiX[1][1]
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-4-22 13:44:13 | 显示全部楼层
不行,还是那个错误。

除了那个之外,我下面写的这个也报“Too many actual parameters”那个错误。

下面的是截图里的代码。

procedure TGSQX.SetCD;
begin
  SetLength(ZhiX, 10, 10);
  SetLength(ZhiY, 10);
  SetLength(PX, 500);
  SetLength(PY, 500);
  SetLength(PSDX, 10);
  SetLength(PSDY, 10);
  SetLength(VX, 10);
  SetLength(VXG, 10);
  SetLength(VXS, 10);
end;
回复 支持 反对

使用道具 举报

发表于 2008-4-22 14:15:42 | 显示全部楼层
type
ta= array of integer;

procedure TMainForm.DocViewYWXX1_JLST1Enter(Sender: TObject);
var
  i: Integer;
  aa: array of ta;
begin
  setLength(aa, 10);
  for i:=0 to 9 do
    setlength(aa, 10);

end;
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-10 17:08 , Processed in 0.044371 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表