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

📄 unitbasic2.pas

📁 远程抄表系统的客户端程序 安徽六安项目-客户端程序 0 开发环境 Delphi 7.0 所需控件 mxOutlookBar 数 据 库 Sybase 11.5 1 04-12-
💻 PAS
📖 第 1 页 / 共 2 页
字号:
     //1 fd_Name
       FormBianTai.EditName.Text    :=  ListView.Selected.SubItems.Strings[0];
     //2 fd_LineID
       FormBianTai.ComboLineID.Text :=ListView.Selected.SubItems.Strings[1];
     //3 fd_Type
       FormBianTai.ComboType.Text  := ListView.Selected.SubItems.Strings[2];;
     //4 fd_Cap(Capcity)
       FormBianTai.EditCap.Text := ListView.Selected.SubItems.Strings[3];
     //5 fd_Status
       FormBianTai.ComboStatus.Text := ListView.Selected.SubItems.Strings[4];
     //6 fd_GSM     手机号码
       FormBianTai.EditGSM.Text := ListView.Selected.SubItems.Strings[5];
     //7 fd_OnlyCard  唯一识别码
       FormBianTai.EditOnlyCard.Text := ListView.Selected.SubItems.Strings[6];
     //8 fd_IP     IP地址
       FormBianTai.EditIP.Text := ListView.Selected.SubItems.Strings[7];
     //9 fd_Port  端口号(port)
       FormBianTai.EditPort.Text := ListView.Selected.SubItems.Strings[8];
     //10 fd_YYID
       FormBianTai.EditYYID.Text := ListView.Selected.SubItems.Strings[9];
     //11 fd_PD2000 地址
       FormBianTai.ComboPD2000.Text := ListView.Selected.SubItems.Strings[10];
     //12 fd_Addr 地址
       FormBianTai.EditAddr.Text := ListView.Selected.SubItems.Strings[11];
     //13 fd_Momo 备注
       FormBianTai.EditMemo.Text := ListView.Selected.SubItems.Strings[12];

     //14 fd_DataCycle
       FormBianTai.EditDataCycle.Text := ListView.Selected.SubItems.Strings[13];
     //15 fd_ComboAutoSend
       FormBianTai.ComboAutoSend.Text := ListView.Selected.SubItems.Strings[14];
     //16 fd_DrqCycle
       FormBianTai.EditDrqCycle.Text := ListView.Selected.SubItems.Strings[15];
     //17 fd_ComboDrqDataType
       FormBianTai.ComboDrqDataType.Text := ListView.Selected.SubItems.Strings[16];
     //18 fd_CT
       FormBianTai.EditCT.Text := ListView.Selected.SubItems.Strings[17];
     //19 fd_PT
       FormBianTai.EditPT.Text := ListView.Selected.SubItems.Strings[18];
     //20 fd_FreezeDay 冻结时间(日时)
       iPos1 := Pos('日', ListView.Selected.SubItems.Strings[19]);
       iPos2 := Pos('时', ListView.Selected.SubItems.Strings[19]);
       FreezeDay  := Copy(ListView.Selected.SubItems.Strings[19], 0, iPos1-1);
       FreezeHour := Copy(ListView.Selected.SubItems.Strings[19], iPos1+2, iPos2-ipos1-2);

       FormBianTai.EditFreezeDay.Text  := FreezeDay;
       FormBianTai.EditFreezeHour.Text := FreezeHour;
     //21 fd_FreezeDN  电能时刻(小时)默认0时
       FormBianTai.EditFreezeDN.Text := ListView.Selected.SubItems.Strings[20];
     //22 fd_MaxU 最大电压
       FormBianTai.EditMaxU.Text := ListView.Selected.SubItems.Strings[21];
     //23 fd_MinU 最小电压
       FormBianTai.EditMinU.Text := ListView.Selected.SubItems.Strings[22];
     //24 fd_MaxI 最大电流
       FormBianTai.EditMaxI.Text := ListView.Selected.SubItems.Strings[23];
     //26 fd_MinI 二次额定电流
       FormBianTai.EditRatedI.Text := ListView.Selected.SubItems.Strings[24];

     FormBianTai.PageControl.Pages[0].TabVisible := true;
     FormBianTai.PageControl.Pages[1].TabVisible := true;
     FormBianTai.PageControl.Pages[2].TabVisible := false;

     //设置focus窗口为 TabSheet1
     FormBianTai.TabSheet1.Show();

     FormBianTai.ShowModal();

     if FormBianTai.iBtnClick = 1 then
     begin
       with MyModule.AdoQuery do
       begin//with
         SQL.Clear();
         SQL.Add('UPDATE tx_BianTai SET fd_BianTaiID=');
         SQL.Add(FormBianTai.EditBianTaiID.Text);
         SQL.Add(',');
         SQL.Add('fd_Name=''');
         SQL.Add(FormBianTai.EditName.Text);
         SQL.Add(''',');
         //取得 fd_LineID
         LineID := '0';
         for i:=0 to ( FormBasic1.ListView.Items.Count - 1 ) do
         begin
           if FormBasic1.ListView.Items[i].SubItems.Strings[0] = FormBianTai.ComboLineID.Text then
           begin
             LineID := FormBasic1.ListView.Items[i].Caption;
             break;
           end;
         end;

         SQL.Add('fd_LineID=');
         SQL.Add(LineID);
         SQL.Add(',');
         SQL.Add('fd_Type=''');
         SQL.Add(FormBianTai.ComboType.Text);
         SQL.Add(''',');
         SQL.Add('fd_Cap=''');
         SQL.Add(FormBianTai.EditCap.Text);
         SQL.Add(''',');

         if FormBianTai.ComboStatus.Text = '良好' then
           Status := '0'
         else if FormBianTai.ComboStatus.Text = '故障' then
           Status := '1'
         else if FormBianTai.ComboStatus.Text = '未运行' then
           Status := '2'
         else
           Status := '1';
         SQL.Add('fd_Status=');
         SQL.Add(Status);
         SQL.Add(',');

         SQL.Add('fd_Gsm=''');
         SQL.Add(FormBianTai.EditGSM.Text);
         SQL.Add(''',');
         SQL.Add('fd_OnlyCard=''');
         SQL.Add(FormBianTai.EditOnlyCard.Text);
         SQL.Add(''',');
         SQL.Add('fd_Ip=''');
         SQL.Add(FormBianTai.EditIp.Text);
         SQL.Add(''',');
         SQL.Add('fd_Port=''');
         SQL.Add(FormBianTai.EditPort.Text);
         SQL.Add(''',');
         SQL.Add('fd_YYID=''');
         SQL.Add(trim(FormBianTai.EditYYID.Text));
         SQL.Add(''',');
         SQL.Add('fd_PD2000=''');
         SQL.Add(FormBianTai.ComboPD2000.Text);
         SQL.Add(''',');
         SQL.Add('fd_Addr=''');
         SQL.Add(FormBianTai.EditAddr.Text);
         SQL.Add(''',');
         SQL.Add('fd_Memo=''');
         SQL.Add(FormBianTai.EditMemo.Text);
         SQL.Add(''',');

         SQL.Add('fd_DataCycle=');
         SQL.Add(FormBianTai.EditDataCycle.Text);
         SQL.Add(',');

         if FormBianTai.ComboAutoSend.Text = '是' then
           AutoSend := '1'
         else if FormBianTai.ComboAutoSend.Text = '否' then
           AutoSend := '0'
         else
           AutoSend := '0';

         SQL.Add('fd_AutoSend=');
         SQL.Add(AutoSend);
         SQL.Add(',');

         SQL.Add('fd_DrqCycle=');
         SQL.Add(FormBianTai.EditDrqCycle.Text);
         SQL.Add(',');

         if FormBianTai.ComboDrqDataType.Text = '级数' then
           DrqDataType := '0'
         else if FormBianTai.ComboDrqDataType.Text = '容量' then
           DrqDataType := '1'
         else
           DrqDataType := '0';

         SQL.Add('fd_DrqDataType=');
         SQL.Add(DrqDataType);
         SQL.Add(',');
         SQL.Add('fd_CT=''');
         SQL.Add(FormBianTai.EditCT.Text);
         SQL.Add(''',');
         SQL.Add('fd_PT=''');
         SQL.Add(FormBianTai.EditPT.Text);
         SQL.Add(''',');
         SQL.Add('fd_FreezeDay=''');
         SQL.Add(FormBianTai.EditFreezeDay.Text + '日' + FormBianTai.EditFreezeHour.Text + '时');
         SQL.Add(''',');
         SQL.Add('fd_FreezeDN=''');
         SQL.Add(FormBianTai.EditFreezeDN.Text);
         SQL.Add(''',');
         SQL.Add('fd_Max_U=');
         SQL.Add(FormBianTai.EditMaxU.Text);
         SQL.Add(',');
         SQL.Add('fd_Min_U=');
         SQL.Add(FormBianTai.EditMinU.Text);
         SQL.Add(',');
         SQL.Add('fd_Max_I=');
         SQL.Add(FormBianTai.EditMaxI.Text);
         SQL.Add(',');
         SQL.Add('fd_Rated_I=');
         SQL.Add(FormBianTai.EditRatedI.Text);
         SQL.Add(' WHERE fd_BianTaiID=');
         SQL.Add(ListView.Selected.Caption);

         //ShowMessage(SQL.Text);
         try
           ExecSQL();
           //0 fd_BianTaiID
           ListView.Selected.Caption := FormBianTai.EditBianTaiID.Text;
           //1 fd_Name
           ListView.Selected.SubItems.Strings[0] := FormBianTai.EditName.Text;
           //2 fd_LineID
           ListView.Selected.SubItems.Strings[1] := FormBianTai.ComboLineID.Text;
           //3 fd_Type
           ListView.Selected.SubItems.Strings[2] := FormBianTai.ComboType.Text;
           //4 fd_Cap(Capcity)
           ListView.Selected.SubItems.Strings[3] := FormBianTai.EditCap.Text;
           //5 fd_Status
           ListView.Selected.SubItems.Strings[4] := FormBianTai.ComboStatus.Text;
           //6 fd_GSM       手机号码
           ListView.Selected.SubItems.Strings[5] := FormBianTai.EditGSM.Text;
           //7 fd_OnlyCard  唯一识别码
           ListView.Selected.SubItems.Strings[6] := FormBianTai.EditOnlyCard.Text;
           //8 fd_IP        IP地址
           ListView.Selected.SubItems.Strings[7] := FormBianTai.EditIP.Text;
           //9 fd_Port      端口号(port)
           ListView.Selected.SubItems.Strings[8] := FormBianTai.EditPort.Text;
           //10 fd_BsID
           ListView.Selected.SubItems.Strings[9] := FormBianTai.EditYYID.Text;
           //11 fd_PD2000
           ListView.Selected.SubItems.Strings[10] := FormBianTai.ComboPD2000.Text;
           //12 fd_Addr 地址
           ListView.Selected.SubItems.Strings[11] := FormBianTai.EditAddr.Text;
           //13 fd_Momo 备注
           ListView.Selected.SubItems.Strings[12] := FormBianTai.EditMemo.Text;

           //14 fd_DataCycle
           ListView.Selected.SubItems.Strings[13] := FormBianTai.EditDataCycle.Text;
           //15 fd_AutoSend
           ListView.Selected.SubItems.Strings[14] := FormBianTai.ComboAutoSend.Text;
           //16 fd_DrqCycle
           ListView.Selected.SubItems.Strings[15] := FormBianTai.EditDrqCycle.Text;
           //17 fd_DrqDataType
           ListView.Selected.SubItems.Strings[16] := FormBianTai.ComboDrqDataType.Text;
           //18 fd_CT
           ListView.Selected.SubItems.Strings[17] := FormBianTai.EditCT.Text;
           //19 fd_PT
           ListView.Selected.SubItems.Strings[18] := FormBianTai.EditPT.Text;
           //20 fd_FreezeDay 冻结时间(日时)
           ListView.Selected.SubItems.Strings[19] := FormBianTai.EditFreezeDay.Text + '日' + FormBianTai.EditFreezeHour.Text + '时';
           //21 fd_FreezeDN  电能时刻(小时)默认0时
           ListView.Selected.SubItems.Strings[20] := FormBianTai.EditFreezeDN.Text;
           //22 fd_MaxU 最大电压
           ListView.Selected.SubItems.Strings[21] := FormBianTai.EditMaxU.Text;
           //23 fd_MinU 最小电压
           ListView.Selected.SubItems.Strings[22] := FormBianTai.EditMinU.Text;
           //24 fd_MaxI 最大电流
           ListView.Selected.SubItems.Strings[23] := FormBianTai.EditMaxI.Text;
           //25 fd_RatedI 二次额定电流
           ListView.Selected.SubItems.Strings[24] := FormBianTai.EditRatedI.Text;
         Finally
         end; //finally
       end;   //with
     end;     //end if <> OK Click
   end        //end if <> nil
end;

procedure TFormBasic2.BtnDeleteClick(Sender: TObject);
var
  strMsg : string;
begin
  if ListView.Selected <> nil then
  begin
    strMsg := '警告:您将要要删除变台编号 = [' + trim(ListView.Selected.Caption) + ']';
    strMsg := strMsg + ', 变台名称 = [' + trim(ListView.Selected.SubItems.Strings[0]) + ']';
    strMsg := strMsg + #13 + #13 + '删除数据操作将不可恢复,确认删除该变台么?';

    if MessageBox(self.Handle, LPCTSTR(strMsg) , '警告', MB_OKCANCEL or MB_ICONWARNING) = IDOK then
    if MessageBox(self.Handle, LPCTSTR('再次' + strMsg) , '再次警告', MB_OKCANCEL or MB_ICONWARNING) = IDOK then
    begin

      with MyModule.AdoQuery do
      begin//with
        SQL.Clear();
        SQL.Add('DELETE FROM tx_BianTai WHERE fd_BianTaiID=');
        SQL.Add(ListView.Selected.Caption);

        //ShowMessage(SQL.Text);
        try
          ExecSQL();
          FormBasic2.ListView.DeleteSelected();
        Finally
        end; //finally
      end;   //with
    end;     //if isOkIsClick = 1
  end        //if selected <> nil
end;

procedure TFormBasic2.BtnSeekClick(Sender: TObject);
var
  strSQL    : string;
  ArraySQL  : array of string;
  iCountSQL : Integer;
  i         : Integer;
begin
  strSQL  := 'SELECT * FROM tx_BianTai';

  iCountSQL := 0;
  setLength(ArraySQL, 0);

  FormBianTaiSeek.ShowModal();

  if FormBianTaiSeek.iBtnClick = 1 then
  begin
     //fd_BianTaiID
    if FormBianTaiSeek.EditBianTaiID.Text <> '' then
    begin
      inc(iCountSQL, 1);

      setlength(ArraySQL, iCountSQL);
      if iCountSQL <> 1 then
        ArraySQL[iCountSQL-1] := ' And fd_BianTaiID ='
      else
        ArraySQL[iCountSQL-1] := ' fd_BianTaiID =';

      ArraySQL[iCountSQL-1] := ArraySQL[iCountSQL-1] + FormBianTaiSeek.EditBianTaiID.Text;
    end;
    //fd_Name
    if FormBianTaiSeek.EditBianTaiName.Text <> '' then
    begin
      inc(iCountSQL, 1);

      setlength(ArraySQL, iCountSQL);
      if iCountSQL <> 1 then
        ArraySQL[iCountSQL-1] := ' AND fd_Name like ''%'
      else
        ArraySQL[iCountSQL-1] := ' fd_Name like ''%';

      ArraySQL[iCountSQL-1] := ArraySQL[iCountSQL-1] + FormBianTaiSeek.EditBianTaiName.Text;
      ArraySQL[iCountSQL-1] := ArraySQL[iCountSQL-1] + '%''';
    end;
    //fd_Gsm
    if FormBianTaiSeek.EditGsm.Text <> '' then
    begin
      inc(iCountSQL, 1);

      setlength(ArraySQL, iCountSQL);
      if iCountSQL <> 1 then
        ArraySQL[iCountSQL-1] := ' AND fd_Gsm like ''%'
      else
        ArraySQL[iCountSQL-1] := ' fd_Gsm like ''%';
      ArraySQL[iCountSQL-1]   := ArraySQL[iCountSQL-1] + FormBianTaiSeek.EditGsm.Text;
      ArraySQL[iCountSQL-1]   := ArraySQL[iCountSQL-1] + '%''';
    end;
    //fd_OnlyCard
    if FormBianTaiSeek.EditOnlyCard.Text <> '' then
    begin
      inc(iCountSQL, 1);

      setlength(ArraySQL, iCountSQL);
      if iCountSQL <> 1 then
        ArraySQL[iCountSQL-1] := ' AND fd_OnlyCard like ''%'
      else
        ArraySQL[iCountSQL-1] := ' fd_OnlyCard like ''%';

      ArraySQL[iCountSQL-1]   := ArraySQL[iCountSQL-1] + FormBianTaiSeek.EditOnlyCard.Text;
      ArraySQL[iCountSQL-1]   := ArraySQL[iCountSQL-1] + '%''';
    end;

    //strSQL
    if length(ArraySQL) <> 0 then
    begin
      strSQL := strSQL + ' WHERE ';
      //for  i:=0 to length(ArraySQL)-1 do 性能没有以下代码优化和安全
      for  i:= Low(ArraySQL) to High(ArraySQL) do
      begin
        strSQL := strSQL + ArraySQL[i];
      end;//end for
    end;  //end if

    //ShowMessage(strSQL);

    //执行SQL 并且更新ListView
    ListView.Clear();
    FormMain.LoadTableBianTai(strsQL);
  end; // end if iBtnClike = 1
end;

procedure TFormBasic2.FormCreate(Sender: TObject);
begin
  self.Caption := ' 变台基本信息';
end;

end.




⌨️ 快捷键说明

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