procedure TSG_Form.SetupWavePara_BtnClick(Sender: TObject);
var
  fp12: TG_SetupDlg_Frm;
  fp3:  TE_SetupDlg_Frm;
  fp4:  TT_SetupDlg_Frm;
  fp5:  TF_SetupDlg_Frm;
begin
  case CurrentSGWave of
    1: begin
         fp12 := TG_SetupDlg_Frm.Create(Self);
         fp12.Caption := '三角波参数设置';
         fp12.A.Caption := '范围:          0.0 -- 1.0';
         fp12.B.Caption := '上升沿比例:';
         fp12.C.Caption := '';
         fp12.Edit1.Text := FloatToStr(SGwa[1].RaisingTimeP);
         fp12.ShowModal;
         if fp12.Tag = 0 then
         begin
           try
             SGwa[1].RaisingTimeP := StrToFloat(fp12.Edit1.Text);
             if SGSendWave then
             begin
               DownLoad;
               DrawWave(Wave_Pic);
             end
             else
               DrawWave(Wave_Pic);
           except
             Application.MessageBox('请输入正确的数据!', '输入错误', MB_OK + MB_ICONERROR);
             fp12 := TG_SetupDlg_Frm.Create(Self);
             fp12.A.Caption := '范围:          0.0 -- 1.0';
             fp12.B.Caption := '上升沿比例:';
             fp12.C.Caption := '';
             fp12.Edit1.Text := FloatToStr(SGwa[1].RaisingTimeP);
             fp12.ShowModal;
           end;
         end;
       end;
    2: begin
         fp12 := TG_SetupDlg_Frm.Create(Self);
         fp12.Caption := '矩形波参数设置';
         fp12.A.Caption := '范围:          0.0 -- 1.0';
         fp12.B.Caption := '高电平比例:';
         fp12.C.Caption := '';
         fp12.Edit1.Text := FloatToStr(SGwa[2].HighP);
         fp12.ShowModal;
         if fp12.Tag = 0 then
         begin
           try
             SGwa[2].HighP := StrToFloat(fp12.Edit1.Text);
             if SGSendWave then
             begin
               DownLoad;
               DrawWave(Wave_Pic);
             end
             else
               DrawWave(Wave_Pic);
           except
             Application.MessageBox('请输入正确的数据!', '输入错误', MB_OK + MB_ICONERROR);
             fp12 := TG_SetupDlg_Frm.Create(Self);
             fp12.A.Caption := '范围:          0.0 -- 1.0';
             fp12.B.Caption := '高电平比例:';
             fp12.C.Caption := '';
             fp12.Edit1.Text := FloatToStr(SGwa[2].HighP);
             fp12.ShowModal;
           end;
         end;
       end;
    3: begin
         fp3 := TE_SetupDlg_Frm.Create(Self);
         fp3.Caption := '指数波参数设置';
         fp3.CheckBox1.Checked := SGwa[3].RaisingE;
         fp3.Edit1.Text := FloatToStr(SGwa[3].RaisingTao);
         fp3.ShowModal;
         if fp3.Tag = 0 then
         begin
           try
             SGwa[3].RaisingE := fp3.CheckBox1.Checked;
             SGwa[3].RaisingTao := StrToFloat(fp3.Edit1.Text);
             if SGSendWave then
             begin
               DownLoad;
               DrawWave(Wave_Pic);
             end
             else
               DrawWave(Wave_Pic);
           except
             Application.MessageBox('请输入正确的数据!', '输入错误', MB_OK + MB_ICONERROR);
             fp3 := TE_SetupDlg_Frm.Create(Self);
             fp3.CheckBox1.Checked := SGwa[3].RaisingE;
             fp3.Edit1.Text := FloatToStr(SGwa[3].RaisingTao);
             fp3.ShowModal;
           end;
         end;
       end;
    4: begin
         fp4 := TT_SetupDlg_Frm.Create(Self);
         fp4.Caption := '梯形波参数设置';
         fp4.Edit1.Text := FloatToStr(SGwa[4].RaisingTimeP);
         fp4.Edit2.Text := FloatToStr(SGwa[4].HighP);
         fp4.Edit3.Text := FloatToStr(SGwa[4].FullingTimeP);
         fp4.ShowModal;
         if fp4.Tag = 0 then
         begin
           try
             SGwa[4].RaisingTimeP := StrToFloat(fp4.Edit1.Text);
             SGwa[4].HighP := StrToFloat(fp4.Edit2.Text);
             SGwa[4].FullingTimeP := StrToFloat(fp4.Edit3.Text);
             if SGSendWave then
             begin
               DownLoad;
               DrawWave(Wave_Pic);
             end
             else
               DrawWave(Wave_Pic);
           except
             Application.MessageBox('请输入正确的数据!', '输入错误', MB_OK + MB_ICONERROR);
             fp4 := TT_SetupDlg_Frm.Create(Self);
             fp4.Edit1.Text := FloatToStr(SGwa[4].RaisingTimeP);
             fp4.Edit2.Text := FloatToStr(SGwa[4].HighP);
             fp4.Edit3.Text := FloatToStr(SGwa[4].FullingTimeP);
             fp4.ShowModal;
           end;
         end;
       end;
    5: begin
         fp5 := TF_SetupDlg_Frm.Create(Self);
         fp5.Caption := '调制波参数设置';
         fp5.Edit1.Text := FloatToStr(SGwa[5].F);
         fp5.Edit2.Text := FloatToStr(SGwa[5].AM_DeepP);
         fp5.Edit3.Text := FloatToStr(SGwa[5].MaxFOffset);
         fp5.RadioButton1.Checked := not SGwa[5].FM;
         fp5.RadioButton2.Checked := SGwa[5].FM;
         fp5.ShowModal;
         if fp5.Tag = 0 then
         begin
           try
             SGwa[5].F := StrToFloat(fp5.Edit1.Text);
             SGwa[5].AM_DeepP := StrToFloat(fp5.Edit2.Text);
             SGwa[5].MaxFOffset := StrToFloat(fp5.Edit3.Text);
             SGwa[5].FM := fp5.RadioButton2.Checked;
             if SGSendWave then
             begin
               DownLoad;
               DrawWave(Wave_Pic);
             end
             else
               DrawWave(Wave_Pic);
           except
             Application.MessageBox('请输入正确的数据!', '输入错误', MB_OK + MB_ICONERROR);
             fp5.Edit1.Text := FloatToStr(SGwa[5].F);
             fp5.Edit2.Text := FloatToStr(SGwa[5].AM_DeepP);
             fp5.Edit3.Text := FloatToStr(SGwa[5].MaxFOffset);
             fp5.RadioButton1.Checked := not SGwa[5].FM;
             fp5.RadioButton2.Checked := SGwa[5].FM;
             fp5.ShowModal;
           end;
         end;
       end;
  end;
end;