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

📄 newgroup.pas

📁 通过串口发送多条短信的群发软件
💻 PAS
字号:
unit newgroup;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, Buttons, ADODB, ComCtrls;

type
  TnewgroupForm = class(TForm)
    hmdGroupBox: TGroupBox;
    qqwLabel: TLabel;
    qqwEdit: TEdit;
    starthmEdit: TEdit;
    endhmEdit: TEdit;
    arrowLabel: TLabel;
    hmdImage: TImage;
    groupnameLabel: TLabel;
    groupnameEdit: TEdit;
    groupnameImage: TImage;
    sureBitBtn: TBitBtn;
    cancelBitBtn: TBitBtn;
    hmdCheckBox: TCheckBox;
    qqwSpeedButton: TSpeedButton;
    procedure cancelBitBtnClick(Sender: TObject);
    procedure sureBitBtnClick(Sender: TObject);
    procedure hmdCheckBoxClick(Sender: TObject);
    procedure qqwSpeedButtonClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  newgroupForm: TnewgroupForm;

implementation

uses main, client, other, hmd;

{$R *.dfm}

procedure TnewgroupForm.cancelBitBtnClick(Sender: TObject);
begin
  // 清空数据
  groupnameEdit.Clear;
  close;
end;

procedure TnewgroupForm.sureBitBtnClick(Sender: TObject);
var
  i:integer;
  qqw,starthm,endhm:integer;
  group_clientadocommand:TADOCommand;
  TreeNode1,TreeNode2:TTreeNode;
  mobile_tel:string;
begin
  //判断是否已输入群组名
  if Trim(groupnameEdit.Text)='' then
  begin
    groupnameEdit.SetFocus;
    exit;
  end;

  //判断是否已有重复的群组名
  for i:=1 to groupadoquery.RecordCount do
  begin
    groupadoquery.RecNo:=i;
    if groupadoquery.Fields.Fields[0].AsString=trim(groupnameEdit.Text) then
    begin
      application.MessageBox('该联系组已存在!','提示',MB_OK);
      groupnameEdit.SetFocus;
      exit;
    end;
  end;

  //自定义群组名
  if not hmdCheckBox.Checked then
  begin
    try
      groupadoquery.Append;
      groupadoquery.Fields.Fields[0].AsString:=trim(groupnameEdit.Text);
      groupadoquery.Post;
    except
      application.MessageBox('发生错误!','提示',MB_OK);
      exit;
    end;

    // 向列表添加数据
    TreeNode1:=clientForm.groupTreeview.Items.Add(nil,trim(groupnameEdit.Text));
    TreeNode1.ImageIndex:=1;
    TreeNode1.SelectedIndex:=1;

    TreeNode1:=mainForm.groupTreeview.Items.Add(nil,trim(groupnameEdit.Text));
    TreeNode1.ImageIndex:=1;
    TreeNode1.SelectedIndex:=1;

    // 删除输入数据
    groupnameEdit.Clear;

    close;
  end
  //号码段建组
  else
  begin
    //判断前七位是否输入正确
    if (not trystrtoint(trim(qqwEdit.Text),qqw)) or
    (strlen(pchar(trim(qqwEdit.Text)))<>7) then
    begin
      qqwEdit.SetFocus;
      exit;
    end;
    //判断开始号码是否输入正确
    if (not trystrtoint(trim(starthmEdit.Text),starthm)) or
    (strlen(pchar(trim(starthmEdit.Text)))<>4) then
    begin
      starthmEdit.SetFocus;
      exit;
    end;
    //判断结束号码是否输入正确
    if (not trystrtoint(trim(endhmEdit.Text),endhm)) or
    (strlen(pchar(trim(endhmEdit.Text)))<>4) then
    begin
      endhmEdit.SetFocus;
      exit;
    end;
    //判断前七位是否大于0
    if strtoint(trim(qqwEdit.Text))<0 then
    begin
      qqwEdit.SetFocus;
      exit;
    end;
    //判断开始号码大于0
    if strtoint(trim(starthmEdit.Text))<0 then
    begin
      starthmEdit.SetFocus;
      exit;
    end;
    //判断结束号码是否大于0
    if strtoint(trim(endhmEdit.Text))<0 then
    begin
      endhmEdit.SetFocus;
      exit;
    end;
    //判断结束号码是否小于开始号码
    if strtoint(trim(endhmEdit.Text))<strtoint(trim(starthmEdit.Text)) then
    begin
      application.MessageBox('结束号码不能小于开始号码','',MB_OK);
      starthmEdit.SetFocus;
      exit;
    end;

    //生成新组
    //添加新群组名到表group
    try
      groupadoquery.Append;
      groupadoquery.Fields.Fields[0].AsString:=trim(groupnameEdit.Text);
      groupadoquery.Post;
    except
      application.MessageBox('发生错误!','提示',MB_OK);
      exit;
    end;

    // 向列表添加数据
    TreeNode1:=clientForm.groupTreeview.Items.Add(nil,trim(groupnameEdit.Text));
    TreeNode1.ImageIndex:=1;
    TreeNode1.SelectedIndex:=1;

    TreeNode2:=mainForm.groupTreeview.Items.Add(nil,trim(groupnameEdit.Text));
    TreeNode2.ImageIndex:=1;
    TreeNode2.SelectedIndex:=1;

    //添加新联系组的客户到表group_client
    for i:=strtoint(trim(starthmEdit.Text)) to strtoint(trim(endhmEdit.Text)) do
    begin
      if i<10 then
        mobile_tel:=trim(qqwEdit.Text)+'000'+inttostr(i)
      else if (i>=10) and(i<100) then
        mobile_tel:=trim(qqwEdit.Text)+'00'+inttostr(i)
      else if (i>=100) and(i<1000) then
        mobile_tel:=trim(qqwEdit.Text)+'0'+inttostr(i)
      else
        mobile_tel:=trim(qqwEdit.Text)+inttostr(i);

      //添加新群组名到数据库中
      group_clientadocommand:=TADOCommand.Create(self);
      group_clientadocommand.ConnectionString:=adodbconnectionstring;
        
      group_clientadocommand.CommandText:='insert into [group_client] '+
      '(groupname,mobile_telephone,username) values ('''+
      trim(groupnameEdit.Text)+''','''+mobile_tel+''','''+mobile_tel+''')';

      try
        group_clientadocommand.Execute;
      except
        application.MessageBox('发生错误!','提示',MB_OK);
        group_clientadocommand.Free;
        exit;
      end;

      //销毁对象
      group_clientadocommand.Free;

      //将客户信息添加到相应的群组节点下
      clientForm.groupTreeview.Items.AddChild(TreeNode1,mobile_tel+' '+mobile_tel);
      mainForm.groupTreeview.Items.AddChild(TreeNode2,mobile_tel+' '+mobile_tel);
    end;


    // 删除输入数据
    groupnameEdit.Clear;

    if hmdCheckBox.Checked then
      hmdCheckBox.Checked:=false;

    close;
  end;

end;

procedure TnewgroupForm.hmdCheckBoxClick(Sender: TObject);
begin
  //使能
  if hmdCheckBox.Checked then
  begin
    qqwLabel.Enabled:=true;
    qqwEdit.Text:='1300593';
    qqwEdit.Enabled:=true;
    qqwSpeedButton.Enabled:=true;
    starthmEdit.Text:='0000';
    starthmEdit.Enabled:=true;
    endhmEdit.Text:='0009';
    endhmEdit.Enabled:=true;
    arrowLabel.Enabled:=true;

    groupnameEdit.Text:='1300593';
  end
  //使不能
  else
  begin
    qqwLabel.Enabled:=false;
    qqwEdit.Text:='';
    qqwEdit.Enabled:=false;
    qqwSpeedButton.Enabled:=false;    
    starthmEdit.Text:='';
    starthmEdit.Enabled:=false;
    endhmEdit.Text:='';
    endhmEdit.Enabled:=false;
    arrowLabel.Enabled:=false;
  end;

end;

procedure TnewgroupForm.qqwSpeedButtonClick(Sender: TObject);
begin
  hmdForm.ShowModal;
end;

end.

⌨️ 快捷键说明

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