tjjieguo.pas

来自「过负荷记录仪器分为单片机数据采集器和微机数据分析记录数据库软件两部分。 仪器具」· PAS 代码 · 共 503 行 · 第 1/2 页

PAS
503
字号
    Query1.RequestLive :=true;
    Query1.SQL.Text :='select * from axiang '+tongjifrm.cxsql;
    Query1.Open ;
    query1.First ;
    starday:=query1.FieldValues ['开始时间'];
    decodedate(starday,ksnian,ksyue,ksri);
    query1.last;
    endday:=query1.FieldValues ['开始时间'];
    decodedate(endday,jsnian,jsyue,jsri);
    days:=trunc(endday)-trunc(starday);
    chart3.Title.Text.Delete(0);
    if days>1 then
    chart3.Title.Text.Add('A相'+inttostr(ksnian)+'年'+inttostr(ksyue)+'月'
                    +inttostr(ksri)+'日-------'+inttostr(jsnian)+'年'
                    +inttostr(jsyue)+'月'+inttostr(jsri)+'日过负荷累计时间曲线')
    else
    chart3.Title.Text.Add('A相'+inttostr(ksnian)+'年'+inttostr(ksyue)+'月'
                    +inttostr(ksri)+'日过负荷累计时间曲线');
    query1.First ;
    if days>1 then
    begin
    oldstartime:=0;
    k:=0;
    while not query1.Eof do
     begin
      startime:=query1.FieldValues ['开始时间'];
      if oldstartime<trunc(startime) then
         begin
         if k>0 then chart3.Series[0].AddXY(k,
                cishu[ksri],inttostr(ksyue)+'/'+inttostr(ksri),clyellow);
          inc(k);
          oldstartime:=trunc(startime);
         end;

      endtime:=query1.FieldValues ['结束时间'];
      if endtime<startime then temp:=0
      else temp:=(endtime - startime)*86400;
      decodedate(startime,ksnian,ksyue,ksri);
      cishu[ksri]:=cishu[ksri]+round(temp);
      query1.Next ;
     end;
     chart3.Series[0].AddXY(k,
                cishu[ksri],inttostr(ksyue)+'/'+inttostr(ksri),clyellow);
    end
    else begin
    while not query1.Eof do
     begin
      startime:=query1.FieldValues ['开始时间'];
      endtime:=query1.FieldValues ['结束时间'];
      if endtime<startime then temp:=0
      else temp:=(endtime - startime)*86400;
      decodetime(startime,hour,min,sec,msec);
      cishu[hour]:=cishu[hour]+round(temp);
      query1.Next ;
     end;
    for i:=0 to 23 do
     begin
      chart3.Series[0].AddXY(i,cishu[i],inttostr(i),clyellow);
     end;
    end;
  end;
if notebook.PageIndex =4 then
  begin
  for i:=0 to 23 do cishu[i]:=0;
    chart4.Series [0].Clear ;
    Query1.Close ;
    query1.DatabaseName :='bx';
    Query1.RequestLive :=true;
    Query1.SQL.Text :='select * from bxiang '+tongjifrm.cxsql;
    Query1.Open ;
    query1.First ;
    starday:=query1.FieldValues ['开始时间'];
    decodedate(starday,ksnian,ksyue,ksri);
    query1.last;
    endday:=query1.FieldValues ['开始时间'];
    decodedate(endday,jsnian,jsyue,jsri);
    days:=trunc(endday)-trunc(starday);
    chart4.Title.Text.Delete(0);
    if days>1 then
    chart4.Title.Text.Add('B相'+inttostr(ksnian)+'年'+inttostr(ksyue)+'月'
                    +inttostr(ksri)+'日-------'+inttostr(jsnian)+'年'
                    +inttostr(jsyue)+'月'+inttostr(jsri)+'日过负荷累计时间曲线')
    else
    chart4.Title.Text.Add('B相'+inttostr(ksnian)+'年'+inttostr(ksyue)+'月'
                    +inttostr(ksri)+'日过负荷累计时间曲线');
    query1.First ;
    if days>1 then
    begin
    oldstartime:=0;
    k:=0;
    while not query1.Eof do
     begin
      startime:=query1.FieldValues ['开始时间'];
      if oldstartime<trunc(startime) then
         begin
         if k>0 then chart4.Series[0].AddXY(k,
                cishu[ksri],inttostr(ksyue)+'/'+inttostr(ksri),clgreen);
          inc(k);
          oldstartime:=trunc(startime);
         end;
      endtime:=query1.FieldValues ['结束时间'];
      if endtime<startime then temp:=0
      else temp:=(endtime - startime)*86400;
      decodedate(startime,ksnian,ksyue,ksri);
      cishu[ksri]:=cishu[ksri]+round(temp);
      query1.Next ;
     end;
     chart4.Series[0].AddXY(k,
                cishu[ksri],inttostr(ksyue)+'/'+inttostr(ksri),clgreen);
    end
    else begin
    while not query1.Eof do
     begin
      startime:=query1.FieldValues ['开始时间'];
      endtime:=query1.FieldValues ['结束时间'];
      if endtime<startime then temp:=0
      else temp:=(endtime - startime)*86400;
      decodetime(startime,hour,min,sec,msec);
      cishu[hour]:=cishu[hour]+round(temp);
      query1.Next ;
     end;
    for i:=0 to 23 do
     begin
      chart4.Series[0].AddXY(i,cishu[i],inttostr(i),clgreen);
     end;
   end;
  end;
  if notebook.PageIndex =5 then
  begin
    for i:=0 to 23 do cishu[i]:=0;
    chart5.Series [0].Clear ;
    Query1.Close ;
    query1.DatabaseName :='ax';
    Query1.RequestLive :=true;
    Query1.SQL.Text :='select * from axiang '+tongjifrm.cxsql;
    Query1.Open ;
    query1.First ;
    starday:=query1.FieldValues ['开始时间'];
    decodedate(starday,ksnian,ksyue,ksri);
    query1.last;
    endday:=query1.FieldValues ['开始时间'];
    decodedate(endday,jsnian,jsyue,jsri);
    days:=trunc(endday)-trunc(starday);
    chart5.Title.Text.Delete(0);
    if days>1 then
    chart5.Title.Text.Add('A相'+inttostr(ksnian)+'年'+inttostr(ksyue)+'月'
                    +inttostr(ksri)+'日-------'+inttostr(jsnian)+'年'
                    +inttostr(jsyue)+'月'+inttostr(jsri)+'日过负荷次数曲线')
    else
    chart5.Title.Text.Add('A相'+inttostr(ksnian)+'年'+inttostr(ksyue)+'月'
                    +inttostr(ksri)+'日过负荷次数曲线');
    query1.First ;
    if days>1 then
    begin
    oldstartime:=0;
    k:=0;
    while not query1.Eof do
     begin
      startime:=query1.FieldValues ['开始时间'];
      if oldstartime<trunc(startime) then
         begin
         if k>0 then chart5.Series[0].AddXY(k,
                cishu[ksri],inttostr(ksyue)+'/'+inttostr(ksri),clyellow);
          inc(k);
          oldstartime:=trunc(startime);
         end;
      decodedate(startime,ksnian,ksyue,ksri);
      cishu[ksri]:=cishu[ksri]+1;
      query1.Next ;
     end;
     chart5.Series[0].AddXY(k,
                cishu[ksri],inttostr(ksyue)+'/'+inttostr(ksri),clyellow);
    end
    else begin
    while not query1.Eof do
     begin
      startime:=query1.FieldValues ['开始时间'];
      decodetime(startime,hour,min,sec,msec);
      cishu[hour]:=cishu[hour]+1;
      query1.Next ;
     end;
    for i:=0 to 23 do
      begin
       chart5.Series[0].AddXY(i,cishu[i],inttostr(i),clyellow);
      end;
    end;
  end;
  if notebook.PageIndex =6 then
  begin
    for i:=0 to 23 do cishu[i]:=0;
    chart6.Series [0].Clear ;
    Query1.Close ;
    query1.DatabaseName :='bx';
    Query1.RequestLive :=true;
    Query1.SQL.Text :='select * from bxiang '+tongjifrm.cxsql;
    Query1.Open ;
    query1.First ;
    starday:=query1.FieldValues ['开始时间'];
    decodedate(starday,ksnian,ksyue,ksri);
    query1.last;
    endday:=query1.FieldValues ['开始时间'];
    decodedate(endday,jsnian,jsyue,jsri);
    days:=trunc(endday)-trunc(starday);
    chart6.Title.Text.Delete(0);
    if days>1 then
    chart6.Title.Text.Add('B相'+inttostr(ksnian)+'年'+inttostr(ksyue)+'月'
                    +inttostr(ksri)+'日-------'+inttostr(jsnian)+'年'
                    +inttostr(jsyue)+'月'+inttostr(jsri)+'日过负荷次数曲线')
    else
    chart6.Title.Text.Add('B相'+inttostr(ksnian)+'年'+inttostr(ksyue)+'月'
                    +inttostr(ksri)+'日过负荷次数曲线');
    query1.First ;
    if days>1 then
    begin
    oldstartime:=0;
    k:=0;
    while not query1.Eof do
     begin
      startime:=query1.FieldValues ['开始时间'];
      if oldstartime<trunc(startime) then
         begin
         if k>0 then chart6.Series[0].AddXY(k,
                cishu[ksri],inttostr(ksyue)+'/'+inttostr(ksri),clgreen);
          inc(k);
          oldstartime:=trunc(startime);
         end;
      decodedate(startime,ksnian,ksyue,ksri);
      cishu[ksri]:=cishu[ksri]+1;
      query1.Next ;
     end;
     chart6.Series[0].AddXY(k,
                cishu[ksri],inttostr(ksyue)+'/'+inttostr(ksri),clgreen);
    end
    else begin
    while not query1.Eof do
     begin
      startime:=query1.FieldValues ['开始时间'];
      decodetime(startime,hour,min,sec,msec);
      cishu[hour]:=cishu[hour]+1;
      query1.Next ;
     end;
    for i:=0 to 23 do
      begin
       chart6.Series[0].AddXY(i,cishu[i],inttostr(i),clgreen);
      end;
    end;
  end;
end;

end.

⌨️ 快捷键说明

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