⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dbjy.pas

📁 完成虚拟的多功能电能表
💻 PAS
📖 第 1 页 / 共 4 页
字号:
               +hexadd('68'+data_chang(GLBH[bw],false)+'688108'+TMPSJXBS+data_CALL(db_sxx_dl[bw,1,1],8,true))+'16';//返回数据
      if TMPSJXBS='65C4' then
        sndstr:='68'+data_chang(GLBH[bw],false)+'688108'+TMPSJXBS+data_CALL(db_sxx_dl[bw,1,2],8,true)
               +hexadd('68'+data_chang(GLBH[bw],false)+'688108'+TMPSJXBS+data_CALL(db_sxx_dl[bw,1,2],8,true))+'16';//返回数据
      if TMPSJXBS='66C4' then
        sndstr:='68'+data_chang(GLBH[bw],false)+'688108'+TMPSJXBS+data_CALL(db_sxx_dl[bw,1,3],8,true)
               +hexadd('68'+data_chang(GLBH[bw],false)+'688108'+TMPSJXBS+data_CALL(db_sxx_dl[bw,1,3],8,true))+'16';//返回数据
      if TMPSJXBS='67C4' then
        sndstr:='68'+data_chang(GLBH[bw],false)+'688108'+TMPSJXBS+data_CALL(db_sxx_dl[bw,1,4],8,true)
               +hexadd('68'+data_chang(GLBH[bw],false)+'688108'+TMPSJXBS+data_CALL(db_sxx_dl[bw,1,4],8,true))+'16';//返回数据
      //四象限无功
      if TMPSJXBS='82C4' then //912F 数据块
      begin
        tmpsj:='';
        for i:=0 to 4 do
          tmpsj:=tmpsj+data_CALL(db_sxx_dl[bw,4,i],8,true);
        sndstr:='68'+data_chang(GLBH[bw],false)+'688108'+TMPSJXBS+tmpsj+hexadd('68'+data_chang(GLBH[bw],false)+'688108'+TMPSJXBS+tmpsj)+'16';//返回数据
      end;
      if TMPSJXBS='73C4' then
        sndstr:='68'+data_chang(GLBH[bw],false)+'688108'+TMPSJXBS+data_CALL(db_sxx_dl[bw,4,0],8,true)
               +hexadd('68'+data_chang(GLBH[bw],false)+'688108'+TMPSJXBS+data_CALL(db_sxx_dl[bw,4,0],8,true))+'16';//返回数据
      if TMPSJXBS='74C4' then
        sndstr:='68'+data_chang(GLBH[bw],false)+'688108'+TMPSJXBS+data_CALL(db_sxx_dl[bw,4,1],8,true)
               +hexadd('68'+data_chang(GLBH[bw],false)+'688108'+TMPSJXBS+data_CALL(db_sxx_dl[bw,4,1],8,true))+'16';//返回数据
      if TMPSJXBS='75C4' then
        sndstr:='68'+data_chang(GLBH[bw],false)+'688108'+TMPSJXBS+data_CALL(db_sxx_dl[bw,4,2],8,true)
               +hexadd('68'+data_chang(GLBH[bw],false)+'688108'+TMPSJXBS+data_CALL(db_sxx_dl[bw,4,2],8,true))+'16';//返回数据
      if TMPSJXBS='76C4' then
        sndstr:='68'+data_chang(GLBH[bw],false)+'688108'+TMPSJXBS+data_CALL(db_sxx_dl[bw,4,3],8,true)
               +hexadd('68'+data_chang(GLBH[bw],false)+'688108'+TMPSJXBS+data_CALL(db_sxx_dl[bw,4,3],8,true))+'16';//返回数据
      if TMPSJXBS='77C4' then
        sndstr:='68'+data_chang(GLBH[bw],false)+'688108'+TMPSJXBS+data_CALL(db_sxx_dl[bw,4,4],8,true)
               +hexadd('68'+data_chang(GLBH[bw],false)+'688108'+TMPSJXBS+data_CALL(db_sxx_dl[bw,4,4],8,true))+'16';//返回数据

      //二象限无功
      if TMPSJXBS='92C4' then //912F 数据块
      begin
        tmpsj:='';
        for i:=0 to 4 do
          tmpsj:=tmpsj+data_CALL(db_sxx_dl[bw,2,i],8,true);
        sndstr:='68'+data_chang(GLBH[bw],false)+'688108'+TMPSJXBS+tmpsj+hexadd('68'+data_chang(GLBH[bw],false)+'688108'+TMPSJXBS+tmpsj)+'16';//返回数据
      end;
      if TMPSJXBS='83C4' then
        sndstr:='68'+data_chang(GLBH[bw],false)+'688108'+TMPSJXBS+data_CALL(db_sxx_dl[bw,2,0],8,true)
               +hexadd('68'+data_chang(GLBH[bw],false)+'688108'+TMPSJXBS+data_CALL(db_sxx_dl[bw,2,0],8,true))+'16';//返回数据
      if TMPSJXBS='84C4' then
        sndstr:='68'+data_chang(GLBH[bw],false)+'688108'+TMPSJXBS+data_CALL(db_sxx_dl[bw,2,1],8,true)
               +hexadd('68'+data_chang(GLBH[bw],false)+'688108'+TMPSJXBS+data_CALL(db_sxx_dl[bw,2,1],8,true))+'16';//返回数据
      if TMPSJXBS='85C4' then
        sndstr:='68'+data_chang(GLBH[bw],false)+'688108'+TMPSJXBS+data_CALL(db_sxx_dl[bw,2,2],8,true)
               +hexadd('68'+data_chang(GLBH[bw],false)+'688108'+TMPSJXBS+data_CALL(db_sxx_dl[bw,2,2],8,true))+'16';//返回数据
      if TMPSJXBS='86C4' then
        sndstr:='68'+data_chang(GLBH[bw],false)+'688108'+TMPSJXBS+data_CALL(db_sxx_dl[bw,2,3],8,true)
               +hexadd('68'+data_chang(GLBH[bw],false)+'688108'+TMPSJXBS+data_CALL(db_sxx_dl[bw,2,3],8,true))+'16';//返回数据
      if TMPSJXBS='87C4' then
        sndstr:='68'+data_chang(GLBH[bw],false)+'688108'+TMPSJXBS+data_CALL(db_sxx_dl[bw,2,4],8,true)
               +hexadd('68'+data_chang(GLBH[bw],false)+'688108'+TMPSJXBS+data_CALL(db_sxx_dl[bw,2,4],8,true))+'16';//返回数据

      //三象限无功
      if TMPSJXBS='A2C4' then //912F 数据块
      begin
        tmpsj:='';
        for i:=0 to 4 do
          tmpsj:=tmpsj+data_CALL(db_sxx_dl[bw,3,i],8,true);
        sndstr:='68'+data_chang(GLBH[bw],false)+'688108'+TMPSJXBS+tmpsj+hexadd('68'+data_chang(GLBH[bw],false)+'688108'+TMPSJXBS+tmpsj)+'16';//返回数据
      end;
      if TMPSJXBS='93C4' then
        sndstr:='68'+data_chang(GLBH[bw],false)+'688108'+TMPSJXBS+data_CALL(db_sxx_dl[bw,3,0],8,true)
               +hexadd('68'+data_chang(GLBH[bw],false)+'688108'+TMPSJXBS+data_CALL(db_sxx_dl[bw,3,0],8,true))+'16';//返回数据
      if TMPSJXBS='94C4' then
        sndstr:='68'+data_chang(GLBH[bw],false)+'688108'+TMPSJXBS+data_CALL(db_sxx_dl[bw,3,1],8,true)
               +hexadd('68'+data_chang(GLBH[bw],false)+'688108'+TMPSJXBS+data_CALL(db_sxx_dl[bw,3,1],8,true))+'16';//返回数据
      if TMPSJXBS='95C4' then
        sndstr:='68'+data_chang(GLBH[bw],false)+'688108'+TMPSJXBS+data_CALL(db_sxx_dl[bw,3,2],8,true)
               +hexadd('68'+data_chang(GLBH[bw],false)+'688108'+TMPSJXBS+data_CALL(db_sxx_dl[bw,3,2],8,true))+'16';//返回数据
      if TMPSJXBS='96C4' then
        sndstr:='68'+data_chang(GLBH[bw],false)+'688108'+TMPSJXBS+data_CALL(db_sxx_dl[bw,3,3],8,true)
               +hexadd('68'+data_chang(GLBH[bw],false)+'688108'+TMPSJXBS+data_CALL(db_sxx_dl[bw,3,3],8,true))+'16';//返回数据
      if TMPSJXBS='97C4' then
        sndstr:='68'+data_chang(GLBH[bw],false)+'688108'+TMPSJXBS+data_CALL(db_sxx_dl[bw,3,4],8,true)
               +hexadd('68'+data_chang(GLBH[bw],false)+'688108'+TMPSJXBS+data_CALL(db_sxx_dl[bw,3,4],8,true))+'16';//返回数据

      if TMPSJXBS='43F3' then //日期
      begin
        tmpsj:=mid(Grid3.cells[bw,1],3,2)+mid(Grid3.cells[bw,1],6,2)+mid(Grid3.cells[bw,1],9,2)+'46';
        sndstr:='68'+data_chang(GLBH[bw],false)+'688108'+TMPSJXBS+data_CALL(tmpsj,6,false)
               +hexadd('68'+data_chang(GLBH[bw],false)+'688108'+TMPSJXBS+data_CALL(tmpsj,6,false))+'16';//返回数据
      end;
      //时间
      if TMPSJXBS='44F3' then
      begin
        tmpsj:=grid3.cells[bw,2];
        tmpsj:=mid(tmpsj,1,2)+mid(tmpsj,4,2)+mid(tmpsj,7,2);
        sndstr:='68'+data_chang(GLBH[bw],false)+'688108'+TMPSJXBS+data_CALL(tmpsj,6,false)
               +hexadd('68'+data_chang(GLBH[bw],false)+'688108'+TMPSJXBS+data_CALL(tmpsj,6,false))+'16';//返回数据
      end;
      if TMPSJXBS='43D3' then //最大需量 正向有功
      begin
        tmpsj:=data_CALL(db_zdxl[bw,0,0,0],6,true);
        sndstr:='68'+data_chang(GLBH[bw],false)+'688108'+TMPSJXBS+tmpsj
               +hexadd('68'+data_chang(GLBH[bw],false)+'688108'+TMPSJXBS+tmpsj)+'16';//返回数据
      end;
      if TMPSJXBS='53D3' then //最大需量 反向有功
      begin
        tmpsj:=data_CALL(db_zdxl[bw,0,1,0],6,true);
        sndstr:='68'+data_chang(GLBH[bw],false)+'688108'+TMPSJXBS+tmpsj
               +hexadd('68'+data_chang(GLBH[bw],false)+'688108'+TMPSJXBS+tmpsj)+'16';//返回数据
      end;
      if TMPSJXBS='43D4' then //最大需量 正向无功
      begin
        tmpsj:=data_CALL(db_zdxl[bw,0,2,0],6,true);
        sndstr:='68'+data_chang(GLBH[bw],false)+'688108'+TMPSJXBS+tmpsj
               +hexadd('68'+data_chang(GLBH[bw],false)+'688108'+TMPSJXBS+tmpsj)+'16';//返回数据
      end;
      if TMPSJXBS='53D4' then //最大需量 反向无功
      begin
        tmpsj:=data_CALL(db_zdxl[bw,0,3,0],6,true);
        sndstr:='68'+data_chang(GLBH[bw],false)+'688108'+TMPSJXBS+tmpsj
               +hexadd('68'+data_chang(GLBH[bw],false)+'688108'+TMPSJXBS+data_CALL(tmpsj,6,true))+'16';//返回数据
      end;
      if TMPSJXBS='43E3' then //最大需量发生时间 正向有功
      begin
        tmpsj:=db_zdxl[bw,1,0,0];
        tmpsj:=mid(tmpsj,1,2)+mid(tmpsj,4,2)+mid(tmpsj,7,2)+mid(tmpsj,10,2);
        tmpsj:=data_CALL(tmpsj,8,false);
        sndstr:='68'+data_chang(GLBH[bw],false)+'688108'+TMPSJXBS+tmpsj
               +hexadd('68'+data_chang(GLBH[bw],false)+'688108'+TMPSJXBS+tmpsj)+'16';//返回数据
      end;
      if TMPSJXBS='53E3' then //最大需量发生时间 反向有功
      begin
        tmpsj:=db_zdxl[bw,1,1,0];
        tmpsj:=mid(tmpsj,1,2)+mid(tmpsj,4,2)+mid(tmpsj,7,2)+mid(tmpsj,10,2);
        tmpsj:=data_CALL(tmpsj,8,false);
        sndstr:='68'+data_chang(GLBH[bw],false)+'688108'+TMPSJXBS+tmpsj
               +hexadd('68'+data_chang(GLBH[bw],false)+'688108'+TMPSJXBS+tmpsj)+'16';//返回数据
      end;
      if TMPSJXBS='43E4' then //最大需量发生时间 正向无功
      begin
        tmpsj:=db_zdxl[bw,1,2,0];
        tmpsj:=mid(tmpsj,1,2)+mid(tmpsj,4,2)+mid(tmpsj,7,2)+mid(tmpsj,10,2);
        tmpsj:=data_CALL(tmpsj,8,false);
        sndstr:='68'+data_chang(GLBH[bw],false)+'688108'+TMPSJXBS+tmpsj
               +hexadd('68'+data_chang(GLBH[bw],false)+'688108'+TMPSJXBS+tmpsj)+'16';//返回数据
      end;
      if TMPSJXBS='53E4' then //最大需量发生时间 反向无功
      begin
        tmpsj:=db_zdxl[bw,1,3,0];
        tmpsj:=mid(tmpsj,1,2)+mid(tmpsj,4,2)+mid(tmpsj,7,2)+mid(tmpsj,10,2);
        tmpsj:=data_CALL(tmpsj,8,false);
        sndstr:='68'+data_chang(GLBH[bw],false)+'688108'+TMPSJXBS+tmpsj
               +hexadd('68'+data_chang(GLBH[bw],false)+'688108'+TMPSJXBS+tmpsj)+'16';//返回数据
      end;
    end;
    result:=sndstr;
end;

procedure TdbjyForm.BitBtn2Click(Sender: TObject);
var
  i,j:integer;
  tmpini:Tinifile;
begin
  tmpini:=TIniFile.Create(ExtractFilePath(Application.ExeName)+'dgntest.ini');
  for i:=1 to GLGBS do begin
    Grid2.Cells[1,i]:=formatstr('000000000000',Grid2.Cells[1,i]);
    GLBH[i]:=Grid2.Cells[1,i];
    GL_TXGY[i]:=Grid2.Cells[2,i];
    GLBCMM[i]:=Grid2.Cells[3,i];
    GLBCQX[i]:=formatstr('00',Grid2.Cells[4,i]);
    GLXLMM[i]:=Grid2.Cells[5,i];
    GLXLQX[i]:=formatstr('00',Grid2.Cells[6,i]);
    GLBTL[i]:=Grid2.Cells[7,i];
    Combtxbw.Items.Add(inttostr(i));
    Grid3.Cells[i,1]:=formatdatetime('YYYY-MM-DD',now);
    Grid3.Cells[i,2]:=formatdatetime('hh:mm:ss',time);

    //读取表数据
      db_dq_dl[i,0,0]:=tmpini.ReadString('表'+inttostr(i),'正向有功总','0.0');
      db_dq_dl[i,0,1]:=tmpini.ReadString('表'+inttostr(i),'正向有功尖','0.0');
      db_dq_dl[i,0,2]:=tmpini.ReadString('表'+inttostr(i),'正向有功峰','0.0');
      db_dq_dl[i,0,3]:=tmpini.ReadString('表'+inttostr(i),'正向有功平','0.0');
      db_dq_dl[i,0,4]:=tmpini.ReadString('表'+inttostr(i),'正向有功谷','0.0');

      db_dq_dl[i,1,0]:=tmpini.ReadString('表'+inttostr(i),'反向有功总','0.0');
      db_dq_dl[i,1,1]:=tmpini.ReadString('表'+inttostr(i),'反向有功尖','0.0');
      db_dq_dl[i,1,2]:=tmpini.ReadString('表'+inttostr(i),'反向有功峰','0.0');
      db_dq_dl[i,1,3]:=tmpini.ReadString('表'+inttostr(i),'反向有功平','0.0');
      db_dq_dl[i,1,4]:=tmpini.ReadString('表'+inttostr(i),'反向有功','0.0');

      db_dq_dl[i,2,0]:=tmpini.ReadString('表'+inttostr(i),'正向无功总','0.0');
      db_dq_dl[i,2,1]:=tmpini.ReadString('表'+inttostr(i),'正向无功尖','0.0');
      db_dq_dl[i,2,2]:=tmpini.ReadString('表'+inttostr(i),'正向无功峰','0.0');
      db_dq_dl[i,2,3]:=tmpini.ReadString('表'+inttostr(i),'正向无功平','0.0');
      db_dq_dl[i,2,4]:=tmpini.ReadString('表'+inttostr(i),'正向无功谷','0.0');

      db_dq_dl[i,3,0]:=tmpini.ReadString('表'+inttostr(i),'反向无功总','0.0');
      db_dq_dl[i,3,1]:=tmpini.ReadString('表'+inttostr(i),'反向无功尖','0.0');
      db_dq_dl[i,3,2]:=tmpini.ReadString('表'+inttostr(i),'反向无功峰','0.0');
      db_dq_dl[i,3,3]:=tmpini.ReadString('表'+inttostr(i),'反向无功平','0.0');
      db_dq_dl[i,3,4]:=tmpini.ReadString('表'+inttostr(i),'反向无功谷','0.0');

      db_sxx_dl[i,1,0]:=tmpini.ReadString('表'+inttostr(i),'一象限无功总','0.0');
      db_sxx_dl[i,1,1]:=tmpini.ReadString('表'+inttostr(i),'一象限无功尖','0.0');
      db_sxx_dl[i,1,2]:=tmpini.ReadString('表'+inttostr(i),'一象限无功峰','0.0');
      db_sxx_dl[i,1,3]:=tmpini.ReadString('表'+inttostr(i),'一象限无功平','0.0');
      db_sxx_dl[i,1,4]:=tmpini.ReadString('表'+inttostr(i),'一象限无功谷','0.0');

      db_sxx_dl[i,2,0]:=tmpini.ReadString('表'+inttostr(i),'二象限无功总','0.0');
      db_sxx_dl[i,2,1]:=tmpini.ReadString('表'+inttostr(i),'二象限无功尖','0.0');
      db_sxx_dl[i,2,2]:=tmpini.ReadString('表'+inttostr(i),'二象限无功峰','0.0');
      db_sxx_dl[i,2,3]:=tmpini.ReadString('表'+inttostr(i),'二象限无功平','0.0');
      db_sxx_dl[i,2,4]:=tmpini.ReadString('表'+inttostr(i),'二象限无功谷','0.0');

      db_sxx_dl[i,3,0]:=tmpini.ReadString('表'+inttostr(i),'三象限无功总','0.0');
      db_sxx_dl[i,3,1]:=tmpini.ReadString('表'+inttostr(i),'三象限无功尖','0.0');
      db_sxx_dl[i,3,2]:=tmpini.ReadString('表'+inttostr(i),'三象限无功峰','0.0');
      db_sxx_dl[i,3,3]:=tmpini.ReadString('表'+inttostr(i),'三象限无功平','0.0');
      db_sxx_dl[i,3,4]:=tmpini.ReadString('表'+inttostr(i),'三象限无功谷','0.0');

      db_sxx_dl[i,4,0]:=tmpini.ReadString('表'+inttostr(i),'四象限无功总','0.0');
      db_sxx_dl[i,4,1]:=tmpini.ReadString('表'+inttostr(i),'四象限无功尖','0.0');
      db_sxx_dl[i,4,2]:=tmpini.ReadString('表'+inttostr(i),'四象限无功峰','0.0');
      db_sxx_dl[i,4,3]:=tmpini.ReadString('表'+inttostr(i),'四象限无功平','0.0');
      db_sxx_dl[i,4,4]:=tmpini.ReadString('表'+inttostr(i),'四象限无功谷','0.0');

      db_zdxl[i,0,0,0]:=tmpini.ReadString('表'+inttostr(i),'正向有功需量','0.0');
      db_zdxl[i,1,0,0]:=tmpini.ReadString('表'+inttostr(i),'正向有功需量时间','00-00 00:00:00');
      db_zdxl[i,0,1,0]:=tmpini.ReadString('表'+inttostr(i),'反向有功需量','0.0');
      db_zdxl[i,1,1,0]:=tmpini.ReadString('表'+inttostr(i),'反向有功需量时间','00-00 00:00:00');
      db_zdxl[i,0,2,0]:=tmpini.ReadString('表'+inttostr(i),'正向无功需量','0.0');
      db_zdxl[i,1,2,0]:=tmpini.ReadString('表'+inttostr(i),'正向无功需量时间','00-00 00:00:00');
      db_zdxl[i,0,3,0]:=tmpini.ReadString('表'+inttostr(i),'反向无功需量','0.0');
      db_zdxl[i,1,3,0]:=tmpini.ReadString('表'+inttostr(i),'反向无功需量时间','00-00 00:00:00');

      for j:=0 to 3 do
        grid3.cells[i,j+3]:=db_dq_dl[i,j,0];
      for j:=1 to 4 do
        grid3.cells[i,j+6]:=db_sxx_dl[i,j,0];
      Grid3.Cells[i,11]:=db_zdxl[i,0,0,0];
      Grid3.Cells[i,12]:=db_zdxl[i,1,0,0];

  end;
  tmpini.free;
  Combtxbw.ItemIndex:=0;
  timer2.Enabled:=true;
  GLFX:=0;
  GroupBox3.Enabled:=true;
end;

procedure TdbjyForm.FormCreate(Sender: TObject);
var
  tmpini:Tinifile;
  i,j,m:integer;
  tmpstr:string;

begin
  tmpini:=TIniFile.Create(ExtractFilePath(Application.ExeName)+'dgntest.ini');
  Grid1.cells[0,1]:=tmpini.ReadString('参数设置','GBS','1');
  Grid1.cells[1,1]:=tmpini.ReadString('参数设置','XX','三相四线');
  Grid1.cells[2,1]:=tmpini.ReadString('参数设置','DY','220V');
  Grid1.cells[3,1]:=tmpini.ReadString('参数设置','DL','1.5A');
  Grid1.cells[4,1]:=tmpini.ReadString('参数设置','DJ','0.5');
  Grid1.cells[5,1]:=tmpini.ReadString('参数设置','WDJ','2.0');
  Grid1.cells[6,1]:=tmpini.ReadString('参数设置','TXFS','485');
  Grid1.cells[7,1]:=tmpini.ReadString('参数设置','TXDK','COM1');
  Grid1.cells[8,1]:=tmpini.ReadString('参数设置','SFBL','1');
//  tmpini.free;
  try
    ListBox1.Items.LoadFromFile(ExtractFilePath(Application.ExeName)+'sqsd_set.dat');
  except
  end;
  db_sds:=ListBox1.items.count-1;
  sqsdb:=VarArrayCreate([0,1,1,db_sds], varOleStr);
  Grid_flsj.RowCount:=db_sds+1;
  for i:=1 to ListBox1.Items.Count-1 do
  begin
    if instr(listbox1.items[i],'第')<>0 then
    begin
     db_sds:=db_sds-1;
     continue;
    end;
    grid_flsj.Cells[0,i]:=mid(ListBox1.Items[i],13,2);
    grid_flsj.Cells[1,i]:=rightstr(ListBox1.Items[i],5)+':00'; //时段切换时间
    sqsdb[0,i]:=mid(ListBox1.Items[i],13,2);   //时段
    sqsdb[1,i]:=rightstr(ListBox1.Items[i],5)+':00'; //时段切换时间
  end;

  try
    GLGBS:=strtoint(Grid1.cells[0,1]);
  except
    GLGBS:=1;
  end;
  GLXX:=Grid1.Cells[1,1];
  if instr(Grid1.Cells[2,1],'V')<>0 then
    GLDY:=strtofloat(leftstr(Grid1.Cells[2,1],length(Grid1.Cells[2,1])-1))
  else
    GLDY:=strtofloat(Grid1.Cells[2,1]);
  if instr(Grid1.Cells[3,1],'A')<>0 then
    GLDL:=strtofloat(leftstr(Grid1.Cells[3,1],length(Grid1.Cells[3,1])-1))
  else
    GLDL:=strtofloat(Grid1.Cells[3,1]);
  GLDJ:=Grid1.Cells[4,1];
  GLWDJ:=Grid1.Cells[5,1];
  Grid2.Rowcount:=GLGBS+1;
  for i:=1 to GLGBS DO
    Grid2.cells[0,i]:='表'+inttostr(i);
  try
    GLCOM:=strtoint(rightstr(Grid1.cells[7,1],1));
  except
    GLCOM:=1;
  end;
  if MSComm1.PortOpen then MSComm1.PortOpen:=False;
    Mscomm1.CommPort:=GLCOM;
  try
    MSComm1.PortOpen := True;
  except
    spkbeep(100);
    Application.MessageBox('端口忙或不存在,请稍后再试或重新设置端口!','警告',mb_OK+mb_ICONEXCLAMATION);
    exit;
  end;
  try
    GLSFBL:=strtofloat(Grid1.Cells[8,1]);
  except
    GLSFBL:=1;
  end;
  GLBH:= VarArrayCreate([1,GLGBS], varOleStr);
  GL_TXGY:= VarArrayCreate([1,GLGBS], varOleStr);
  GLBCMM:= VarArrayCreate([1,GLGBS], varOleStr);
  GLBCQX:= VarArrayCreate([1,GLGBS], varOleStr);
  GLXLMM:= VarArrayCreate([1,GLGBS], varOleStr);
  GLXLQX:= VarArrayCreate([1,GLGBS], varOleStr);
  GLBTL:= VarArrayCreate([1,GLGBS], varOleStr);
  db_dq_dl:=VarArrayCreate([1,GLGBS,0,3,0,4], varOleStr); //表位、方向、总峰平谷
  db_sxx_dl:=VarArrayCreate([1,GLGBS,1,4,0,4], varOleStr); //表位、象限、总峰平谷
  db_zdxl:=VarArrayCreate([1,GLGBS,0,1,0,3,0,4],varOleStr);//表位,0-需量,1-需量发生时间,方向,总峰平谷

//  GroupBox2.Enabled:=TRUE;
  tmpini:=TIniFile.Create(ExtractFilePath(Application.ExeName)+'dgntest.ini');
  for i:=1 to GLGBS do begin
    Grid2.Cells[1,i]:=tmpini.ReadString('DGNB_TEST','BDZ'+IntToStr(i),IntToStr(i));
    Grid2.Cells[2,i]:=tmpini.ReadString('DGNB_TEST','BGY'+IntToStr(i),'DL/T 645');
    Grid2.Cells[3,i]:=tmpini.ReadString('DGNB_TEST','MM'+IntToStr(i),'');
    Grid2.Cells[4,i]:=tmpini.ReadString('DGNB_TEST','BCQX'+IntToStr(i),'0');
    Grid2.Cells[5,i]:=tmpini.ReadString('DGNB_TEST','XLMM'+IntToStr(i),'');
    Grid2.Cells[6,i]:=tmpini.ReadString('DGNB_TEST','XLQX'+IntToStr(i),'0');
    Grid2.Cells[7,i]:=tmpini.ReadString('DGNB_TEST','BTL'+IntToStr(i),'1200');
  end;
  tmpini.free;
  Grid3.Colcount:=GLGBS+1;
  for i:=1 to GLGBS DO
    Grid3.cells[i,0]:='表'+inttostr(i);
    Grid3.RowCount:=13;
    for i:=1 to GLGBS do
    begin
      Grid3.ColWidths[i]:=85;
      Grid3.Columns[i].Alignment:=taCenter;
    end;
    Grid3.cells[0,1]:='表日期';
    Grid3.cells[0,2]:='表时间';
    Grid3.cells[0,3]:='正向有功总';
    Grid3.cells[0,4]:='反向有功总';
    Grid3.cells[0,5]:='正向无功总';
    Grid3.cells[0,6]:='反向无功总';
    Grid3.cells[0,7]:='一象限';
    Grid3.cells[0,8]:='二象限';
    Grid3.cells[0,9]:='三象限';
    Grid3.cells[0,10]:='四象限';

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -