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

📄 paraadd.pas

📁 合成实验的上位机程序
💻 PAS
📖 第 1 页 / 共 5 页
字号:
      end;
      with StringGrid1 do
      begin
        //如果是单分、合分、动热稳定试验
        if (K=3) or (K=7) or (K=8) then
        begin
          for J:=1 to K do
          begin
            ADODataSet1.Insert;
            if J=K then
            begin
              ADODataSet1.FieldByName('通道序号').AsString:='延弧1~4';
              for I:=1 to 4 do
                cnnArcImg[I].Picture.LoadFromFile(Main.PictureDir+'Green.bmp');
            end
            else
              if J=K-1 then
              begin
                ADODataSet1.FieldByName('通道序号').AsString:='高压1~4';
                for I:=1 to 4 do
                  cnnHighImg[I].Picture.LoadFromFile(Main.PictureDir+'Green.bmp');
              end
              else
              begin
                ADODataSet1.FieldByName('通道序号').AsString:=Cells[0,J];
                tmpStr:=Cells[0,J];
                if Length(tmpStr)=5 then
                  I:=StrToInt(tmpStr[5]) else
                if Length(tmpStr)=6 then
                  I:=StrToInt(tmpStr[5]+tmpStr[6]);
                  cnnConImg[I].Picture.LoadFromFile(Main.PictureDir+'Green.bmp');
                  cnnConImg[I].Tag:=99;
              end;
            ADODataSet1.FieldByName('No').AsInteger:=J;
            ADODataSet1.FieldByName('第一段高电平起始时间').AsFloat:=oldDbl[J]-StrToFloat(ComboBox4.Text);
            ADODataSet1.FieldByName('第一段高电平持续时间').AsString:=Cells[1,J];
            ADODataSet1.FieldByName('第二段高电平起始时间').AsFloat:=0;
            ADODataSet1.FieldByName('第二段高电平持续时间').AsFloat:=0;
            ADODataSet1.FieldByName('第一段脉冲宽度(ms)').AsFloat:=oldDbl[J]*Ks*100;
            ADODataSet1.FieldByName('第二段脉冲宽度(ms)').AsFloat:=ADODataSet1.FieldByName('第一段高电平持续时间').AsFloat*Ks*100;
            ADODataSet1.FieldByName('第三段脉冲宽度(ms)').AsFloat:=0;
            ADODataSet1.FieldByName('第四段脉冲宽度(ms)').AsFloat:=0;
            ADODataSet1.FieldByName('通道功能').AsString:=Cells[2,J];
            ADODataSet1.Post;
            if J<>K then
              ADODataSet1.Next;
          end;
        end;
        //如果是重合闸试验
        if K=12 then
        begin
          for J:=1 to K do
          begin
            case J of
              12: begin
                    ADODataSet1.Insert;
                    ADODataSet1.FieldByName('通道序号').AsString:='延弧1~4';
                    for I:=1 to 4 do
                      cnnArcImg[I].Picture.LoadFromFile(Main.PictureDir+'Green.bmp');
                    ADODataSet1.FieldByName('No').AsInteger:=J;
                    ADODataSet1.FieldByName('第一段高电平起始时间').AsFloat:=oldDbl[J]-StrToFloat(ComboBox4.Text);
                    ADODataSet1.FieldByName('第一段高电平持续时间').AsString:=Cells[1,J];
                    ADODataSet1.FieldByName('第二段高电平起始时间').AsFloat:=0;
                    ADODataSet1.FieldByName('第二段高电平持续时间').AsFloat:=0;
                    ADODataSet1.FieldByName('第一段脉冲宽度(ms)').AsFloat:=oldDbl[J]*Ks*100;
                    ADODataSet1.FieldByName('第二段脉冲宽度(ms)').AsFloat:=ADODataSet1.FieldByName('第一段高电平持续时间').AsFloat*Ks*100;
                    ADODataSet1.FieldByName('第三段脉冲宽度(ms)').AsFloat:=0;
                    ADODataSet1.FieldByName('第四段脉冲宽度(ms)').AsFloat:=0;
                    ADODataSet1.FieldByName('通道功能').AsString:=Cells[2,J];
                    ADODataSet1.Post;
                  end;
              11: begin
                    ADODataSet1.Insert;
                    ADODataSet1.FieldByName('通道序号').AsString:='高压1~4';
                    for I:=1 to 4 do
                      cnnHighImg[I].Picture.LoadFromFile(Main.PictureDir+'Green.bmp');
                    ADODataSet1.FieldByName('No').AsInteger:=J;
                    ADODataSet1.FieldByName('第一段高电平起始时间').AsFloat:=oldDbl[J]-StrToFloat(ComboBox4.Text);
                    ADODataSet1.FieldByName('第一段高电平持续时间').AsString:=Cells[1,J];
                    ADODataSet1.FieldByName('第二段高电平起始时间').AsFloat:=0;
                    ADODataSet1.FieldByName('第二段高电平持续时间').AsFloat:=0;
                    ADODataSet1.FieldByName('第一段脉冲宽度(ms)').AsFloat:=oldDbl[J]*Ks*100;
                    ADODataSet1.FieldByName('第二段脉冲宽度(ms)').AsFloat:=ADODataSet1.FieldByName('第一段高电平持续时间').AsFloat*Ks*100;
                    ADODataSet1.FieldByName('第三段脉冲宽度(ms)').AsFloat:=0;
                    ADODataSet1.FieldByName('第四段脉冲宽度(ms)').AsFloat:=0;
                    ADODataSet1.FieldByName('通道功能').AsString:=Cells[2,J];
                    ADODataSet1.Post;
                    ADODataSet1.Next;
                  end;
              1,6..10:
                  begin
                    ADODataSet1.Insert;
                    ADODataSet1.FieldByName('通道序号').AsString:=Cells[0,J];
                    tmpStr:=Cells[0,J];
                    if Length(tmpStr)=5 then
                      I:=StrToInt(tmpStr[5]) else
                    if Length(tmpStr)=6 then
                      I:=StrToInt(tmpStr[5]+tmpStr[6]);
                    cnnConImg[I].Picture.LoadFromFile(Main.PictureDir+'Green.bmp');
                    cnnConImg[I].Tag:=99;
                    ADODataSet1.FieldByName('No').AsInteger:=J;
                    ADODataSet1.FieldByName('第一段高电平起始时间').AsFloat:=oldDbl[J]-StrToFloat(ComboBox4.Text);
                    ADODataSet1.FieldByName('第一段高电平持续时间').AsString:=Cells[1,J];
                    ADODataSet1.FieldByName('第二段高电平起始时间').AsFloat:=0;
                    ADODataSet1.FieldByName('第二段高电平持续时间').AsFloat:=0;
                    ADODataSet1.FieldByName('第一段脉冲宽度(ms)').AsFloat:=oldDbl[J]*Ks*100;
                    ADODataSet1.FieldByName('第二段脉冲宽度(ms)').AsFloat:=ADODataSet1.FieldByName('第一段高电平持续时间').AsFloat*Ks*100;
                    ADODataSet1.FieldByName('第三段脉冲宽度(ms)').AsFloat:=0;
                    ADODataSet1.FieldByName('第四段脉冲宽度(ms)').AsFloat:=0;
                    ADODataSet1.FieldByName('通道功能').AsString:=Cells[2,J];
                    ADODataSet1.Post;
                    ADODataSet1.Next;
                  end;
             2,4: begin
                    ADODataSet1.Insert;
                    ADODataSet1.FieldByName('通道序号').AsString:=Cells[0,J];
                    tmpStr:=Cells[0,J];
                    if Length(tmpStr)=5 then
                      I:=StrToInt(tmpStr[5]) else
                    if Length(tmpStr)=6 then
                      I:=StrToInt(tmpStr[5]+tmpStr[6]);
                    cnnConImg[I].Picture.LoadFromFile(Main.PictureDir+'Green.bmp');
                    cnnConImg[I].Tag:=99;
                    ADODataSet1.FieldByName('No').AsInteger:=J;
                    ADODataSet1.FieldByName('第一段高电平起始时间').AsFloat:=oldDbl[J]-StrToFloat(ComboBox4.Text);
                    ADODataSet1.FieldByName('第一段高电平持续时间').AsString:=Cells[1,J];
                    ADODataSet1.FieldByName('第一段脉冲宽度(ms)').AsFloat:=oldDbl[J]*Ks*100;
                    ADODataSet1.FieldByName('第二段脉冲宽度(ms)').AsFloat:=
                      ADODataSet1.FieldByName('第一段高电平持续时间').AsFloat*Ks*100;
                    if J=2 then
                      ADODataSet1.FieldByName('通道功能').AsString:='试品分闸'
                    else
                      ADODataSet1.FieldByName('通道功能').AsString:='辅助开关分闸';
                  end;
             3,5: begin
                    ADODataSet1.FieldByName('第二段高电平起始时间').AsFloat:=oldDbl[J]-StrToFloat(ComboBox4.Text);
                    ADODataSet1.FieldByName('第二段高电平持续时间').AsString:=Cells[1,J];
                    ADODataSet1.FieldByName('第三段脉冲宽度(ms)').AsFloat:=(oldDbl[J]-oldDbl[J-1]-
                      ADODataSet1.FieldByName('第二段高电平持续时间').AsFloat)*Ks*100;
                    ADODataSet1.FieldByName('第四段脉冲宽度(ms)').AsFloat:=
                      ADODataSet1.FieldByName('第二段高电平持续时间').AsFloat*Ks*100;
                    if (ADODataSet1.FieldByName('第一段高电平持续时间').AsFloat=0) and
                      (ADODataSet1.FieldByName('第二段高电平持续时间').AsFloat<>0) then
                    begin
                      ADODataSet1.FieldByName('第一段高电平起始时间').AsFloat:=ADODataSet1.FieldByName('第二段高电平起始时间').AsFloat;
                      ADODataSet1.FieldByName('第一段高电平持续时间').AsString:=ADODataSet1.FieldByName('第二段高电平持续时间').AsString;
                      ADODataSet1.FieldByName('第一段脉冲宽度(ms)').AsFloat:=
                        (ADODataSet1.FieldByName('第二段高电平起始时间').AsFloat
                         +StrToFloat(ComboBox4.Text))*Ks*100;
                      ADODataSet1.FieldByName('第二段脉冲宽度(ms)').AsFloat:=
                        ADODataSet1.FieldByName('第四段脉冲宽度(ms)').AsFloat;
                      ADODataSet1.FieldByName('第二段高电平起始时间').AsFloat:=0;
                      ADODataSet1.FieldByName('第二段高电平持续时间').AsFloat:=0;
                      ADODataSet1.FieldByName('第三段脉冲宽度(ms)').AsFloat:=0;
                      ADODataSet1.FieldByName('第四段脉冲宽度(ms)').AsFloat:=0;
                    end else
                    if (ADODataSet1.FieldByName('第二段高电平持续时间').AsFloat=0) and
                      (ADODataSet1.FieldByName('第一段高电平持续时间').AsFloat<>0) then
                    begin
                      ADODataSet1.FieldByName('第二段高电平起始时间').AsFloat:=0;
                      ADODataSet1.FieldByName('第二段高电平持续时间').AsFloat:=0;
                      ADODataSet1.FieldByName('第三段脉冲宽度(ms)').AsFloat:=0;
                      ADODataSet1.FieldByName('第四段脉冲宽度(ms)').AsFloat:=0;
                    end;
                    ADODataSet1.Post;
                    ADODataSet1.Next;
                  end;
            end;
          end;
        end;
        ADODataSet2.Insert;
        ADODataSet2.FieldByName('TestDate').AsString:=MainFrm.Label1.Caption;
        ADODataSet2.FieldByName('Server').AsString:='机械工业高压电器产品质量检测中心(沈阳)';
        ADODataSet2.FieldByName('Client').AsString:=Edit1.Text;
        ADODataSet2.FieldByName('TestType').AsString:=ComboBox1.Text;
        ADODataSet2.FieldByName('Product').AsString:=Edit2.Text;
        if K=12 then
        begin
          ADODataSet2.FieldByName('t23').AsString:=StringGrid2.Cells[1,23];
          ADODataSet2.FieldByName('t22').AsString:=StringGrid2.Cells[1,22];
          ADODataSet2.FieldByName('t21').AsString:=StringGrid2.Cells[1,21];
          ADODataSet2.FieldByName('t20').AsString:=StringGrid2.Cells[1,20];
          ADODataSet2.FieldByName('t19').AsString:=StringGrid2.Cells[1,19];
          ADODataSet2.FieldByName('t18').AsString:=StringGrid2.Cells[1,18];
          ADODataSet2.FieldByName('t17').AsString:=StringGrid2.Cells[1,17];
          ADODataSet2.FieldByName('t16').AsString:=StringGrid2.Cells[1,16];
          ADODataSet2.FieldByName('t15').AsString:=StringGrid2.Cells[1,15];
          ADODataSet2.FieldByName('t14').AsString:=StringGrid2.Cells[1,14];
        end;
        if (K=12) or (K=8) then
        begin
          ADODataSet2.FieldByName('t13').AsString:=StringGrid2.Cells[1,13];
        end;
        if (K=12) or (K=8) or (K=7)then
        begin
          ADODataSet2.FieldByName('t12').AsString:=StringGrid2.Cells[1,12];
          ADODataSet2.FieldByName('t11').AsString:=StringGrid2.Cells[1,11];
          ADODataSet2.FieldByName('t10').AsString:=StringGrid2.Cells[1,10];
          ADODataSet2.FieldByName('t9').AsString:=StringGrid2.Cells[1,9];
          ADODataSet2.FieldByName('t8').AsString:=StringGrid2.Cells[1,8];
          ADODataSet2.FieldByName('t7').AsString:=StringGrid2.Cells[1,7];
          ADODataSet2.FieldByName('t6').AsString:=StringGrid2.Cells[1,6];
          ADODataSet2.FieldByName('t5').AsString:=StringGrid2.Cells[1,5];
          ADODataSet2.FieldByName('t4').AsString:=StringGrid2.Cells[1,4];
        end;
        if (K=12) or (K=8) or (K=7) or (K=3) then
        begin
          ADODataSet2.FieldByName('t3').AsString:=StringGrid2.Cells[1,3];
          ADODataSet2.FieldByName('t2').AsString:=StringGrid2.Cells[1,2];
          ADODataSet2.FieldByName('t1').AsString:=StringGrid2.Cells[1,1];
        end;
        ADODataSet2.Post;
        Inc(oneSave);
        ADOConnection1.Close;
        ADODataSet1.Close;
        ADODataSet2.Close;
        dxButton1.Enabled:=False;;
        MainFrm.ParaData.Enabled:=True;
        MainFrm.ParaDataBtn.Enabled:=True;
        MainFrm.TestRun.Enabled:=True;
        MainFrm.TestRunBtn.Enabled:=True;
        MainFrm.Reset.Enabled:=True;
        MainFrm.ResetBtn.Enabled:=True;
        MainFrm.TestVer.Enabled:=True;
        MainFrm.TestVerBtn.Enabled:=True;
        MainFrm.WaveView.Enabled:=True;
        MainFrm.WaveViewBtn.Enabled:=True;
        //MainFrm.XPMenu1.XPControls:=MainFrm.XPMenu1.XPControls+[xcToolBar];
      end;
    end;
    ParaAddFrm.Close;
  end;    
end;

procedure TParaAddFrm.Edit1Change(Sender: TObject);
begin
  //保存标志
  dxButton1.Enabled:=True;
end;

procedure TParaAddFrm.ToolButton2Click(Sender: TObject);
var
  I,J:Integer;
begin
  //新建试验
  if MessageBox(ParaAddFrm.Handle,'您确信要另外新建一个试验吗?','提示',
    MB_YESNO+MB_ICONQUESTION+MB_DEFBUTTON2+MB_APPLMODAL)=IDNO then
  begin
    Exit;
  end;
  Main.cnnHighImg[1].Tag:=0;
  Main.cnnArcImg[1].Tag:=0;
  for I:=1 to 32 do
    Main.cnnConImg[I].Tag:=0;
  ComboBox1.ItemIndex:=-1;
  ComboBox1.SetFocus;
  Edit1.Clear;
  Edit2.Clear;
  for I:=0 to 2 do
    for J:=1 to 12 do
      StringGrid1.Cells[I,J]:='';
  for I:=0 to 1 do
    for J:=1 to 23 do
      StringGrid2.Cells[I,J]:='';
  dxButton1.Enabled:=False;
  oneSave:=0;
  MainFrm.ParaData.Enabled:=False;
  MainFrm.ParaDataBtn.Enabled:=False;
  MainFrm.Reset.Enabled:=False;
  MainFrm.ResetBtn.Enabled:=False;
  MainFrm.TestRun.Enabled:=False;
  MainFrm.TestRunBtn.Enabled:=False;
  MainFrm.TestVer.Enabled:=False;
  MainFrm.TestVerBtn.Enabled:=False;
  MainFrm.WaveView.Enabled:=False;
  MainFrm.WaveViewBtn.Enabled:=False;
  for I:=1 to 32 do
    begin
      cnnConImg[I].Tag:=0;
      cnnConImg[I].Picture.LoadFromFile(Main.PictureDir+'Gray.bmp');
      cnnVerImg[I].Picture.LoadFromFile(Main.PictureDir+'Gray.bmp');
    end;
    for I:=1 to 4 do
    begin
      cnnHighImg[I].Picture.LoadFromFile(Main.PictureDir+'Gray.bmp');
      cnnArcImg[I].Picture.LoadFromFile(Main.PictureDir+'Gray.bmp');
    end;
  //MainFrm.XPMenu1.XPControls:=MainFrm.XPMenu1.XPControls-[xcToolBar];
  MainFrm.CaptionLbl.Caption:='合成试验';
  //隐藏显示通道选择菜单
  WaveViewFrm.T1.Visible:=False;
  WaveViewFrm.T2.Visible:=False;
  WaveViewFrm.T3.Visible:=False;
  WaveViewFrm.T4.Visible:=False;
  WaveViewFrm.T5.Visible:=False;
  WaveViewFrm.T6.Visible:=False;
  WaveViewFrm.T7.Visible:=False;
  WaveViewFrm.T8.Visible:=False;
  WaveViewFrm.T9.Visible:=False;
  WaveViewFrm.T10.Visible:=False;
  WaveViewFrm.T11.Visible:=False;
  WaveViewFrm.T12.Visible:=False;
  WaveViewFrm.T13.Visible:=False;
  WaveViewFrm.T14.Visible:=False;
  WaveViewFrm.T15.Visible:=False;
  WaveViewFrm.T16.Visible:=False;
  WaveViewFrm.T17.Visible:=False;
  WaveViewFrm.T18.Visible:=False;
  WaveViewFrm.T19.Visible:=False;
  WaveViewFrm.T20.Visible:=False;
  WaveViewFrm.T21.Visible:=False;
  WaveViewFrm.T22.Visible:=False;
  WaveViewFrm.T23.Visible:=False;
  WaveViewFrm.T24.Visible:=False;
  WaveViewFrm.T25.Visible:=False;
  WaveViewFrm.T26.Visible:=False;
  WaveViewFrm.T27.Visible:=False;
  WaveViewFrm.T28.Visible:=False;
  WaveViewFrm.T29.Visible:=False;
  WaveViewFrm.T30.Visible:=False;
  WaveViewFrm.T31.Visible:=False;
  WaveViewFrm.T32.Visible:=False;
end;

procedure TParaAddFrm.ToolButton4Click(Sender: TObject);
var
  I,J:Integer;
  tmp1,tmp2: String;
begin

⌨️ 快捷键说明

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