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

📄 task.~pas

📁 通过串口发送多条短信的群发软件
💻 ~PAS
📖 第 1 页 / 共 2 页
字号:
unit task;

interface

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

type
  TtaskForm = class(TForm)
    Panel6: TPanel;
    GroupBox2: TGroupBox;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label9: TLabel;
    clearSpeedButton: TSpeedButton;
    sexComboBox: TComboBox;
    companyComboBox: TComboBox;
    departmentComboBox: TComboBox;
    jobComboBox: TComboBox;
    occupationComboBox: TComboBox;
    birth_yearComboBox: TComboBox;
    unselecteduserListView: TListView;
    Label7: TLabel;
    selecteduserLabel: TLabel;
    addSpeedButton: TSpeedButton;
    deleteSpeedButton: TSpeedButton;
    selecteduserListView: TListView;
    querySpeedButton: TSpeedButton;
    GroupBox1: TGroupBox;
    Image1: TImage;
    send_immediatelyRadioButton: TRadioButton;
    select_timeRadioButton: TRadioButton;
    exitBitBtn: TBitBtn;
    smMemo: TMemo;
    insert_smSpeedButton: TSpeedButton;
    DateTimePicker1: TDateTimePicker;
    DateTimePicker2: TDateTimePicker;
    sureBitBtn: TBitBtn;
    charcountStaticText: TStaticText;
    procedure clearSpeedButtonClick(Sender: TObject);
    procedure querySpeedButtonClick(Sender: TObject);
    procedure addSpeedButtonClick(Sender: TObject);
    procedure deleteSpeedButtonClick(Sender: TObject);
    procedure exitBitBtnClick(Sender: TObject);
    procedure send_immediatelyRadioButtonClick(Sender: TObject);
    procedure select_timeRadioButtonClick(Sender: TObject);
    procedure sureBitBtnClick(Sender: TObject);
    procedure smMemoChange(Sender: TObject);
    procedure insert_smSpeedButtonClick(Sender: TObject);
    procedure selecteduserListViewInsert(Sender: TObject; Item: TListItem);
    procedure selecteduserListViewDeletion(Sender: TObject;
      Item: TListItem);
  private
    { Private declarations }
  public
    { Public declarations }
    groupname:string;//当前编辑的联系组名
    procedure ReadyforShow();//设置属性数据
    procedure ShowSelectedusers();//显示已选客户
    procedure ShowUnselectedusers(sex,occupation,birth_year,company,department,job:string);//显示未选客户
  end;

var
  taskForm: TtaskForm;

implementation

uses main, client, group, inserttext, log, other;

{$R *.dfm}

procedure TtaskForm.ReadyforShow();
var
  i:integer;
begin
  // 添加职业
  occupationComboBox.Clear;
  for i:=0 to occupationadoquery.RecordCount-1 do
  begin
    occupationadoquery.RecNo:=i+1;
    occupationComboBox.AddItem(occupationadoquery.Fields.Fields[0].AsString,nil);
  end;

  // 添加出生年
  birth_yearComboBox.Clear;
  for i:=0 to birth_yearadoquery.RecordCount-1 do
  begin
    birth_yearadoquery.RecNo:=i+1;
    birth_yearComboBox.AddItem(birth_yearadoquery.Fields.Fields[0].AsString,nil);
  end;

  // 添加公司
  companyComboBox.Clear;
  for i:=0 to companyadoquery.RecordCount-1 do
  begin
    companyadoquery.RecNo:=i+1;
    companyComboBox.AddItem(companyadoquery.Fields.Fields[0].AsString,nil);
  end;

  // 添加部门
  departmentComboBox.Clear;
  for i:=0 to departmentadoquery.RecordCount-1 do
  begin
    departmentadoquery.RecNo:=i+1;
    departmentComboBox.AddItem(departmentadoquery.Fields.Fields[0].AsString,nil);
  end;

  // 添加职位
  jobComboBox.Clear;
  for i:=0 to jobadoquery.RecordCount-1 do
  begin
    jobadoquery.RecNo:=i+1;
    jobComboBox.AddItem(jobadoquery.Fields.Fields[0].AsString,nil);
  end;

  // 清除短信息
  smMemo.Clear;
  // 清除短信计数
  charcountStaticText.Caption:='0/0';
  // 清除已选用户
  selecteduserListView.Clear;
end;

procedure TtaskForm.ShowSelectedusers();
var
  selecteduseradoquery:TADOQuery;
  ListItem: TListItem;
begin
  // 清除列表中的数据
  selecteduserlistview.Clear;

  // 检索新的数据
  selecteduseradoquery:=TADOQuery.Create(self);
  selecteduseradoquery.ConnectionString:=adodbconnectionstring;

  selecteduseradoquery.SQL.Add('select * from [group_client] where groupname='''+
  groupname+''' order by mobile_telephone');

  selecteduseradoquery.Open;

  // 添加数据到列表中
  while not selecteduseradoquery.Eof do
  begin
    ListItem:=selecteduserlistview.Items.Add;
    ListItem.Caption:=selecteduseradoquery.Fields.Fields[2].AsString;
    ListItem.SubItems.Add(selecteduseradoquery.Fields.Fields[3].AsString);
    ListItem.SubItems.Add(selecteduseradoquery.Fields.Fields[1].AsString);
    ListItem.SubItems.Add(selecteduseradoquery.Fields.Fields[5].AsString);
    ListItem.SubItems.Add(selecteduseradoquery.Fields.Fields[6].AsString);
    ListItem.SubItems.Add(selecteduseradoquery.Fields.Fields[7].AsString);
    ListItem.SubItems.Add(selecteduseradoquery.Fields.Fields[8].AsString);
    ListItem.SubItems.Add(selecteduseradoquery.Fields.Fields[9].AsString);
    ListItem.SubItems.Add(selecteduseradoquery.Fields.Fields[10].AsString);
    ListItem.SubItems.Add(selecteduseradoquery.Fields.Fields[11].AsString);
    ListItem.SubItems.Add(selecteduseradoquery.Fields.Fields[4].AsString);
    ListItem.SubItems.Add(selecteduseradoquery.Fields.Fields[12].AsString);
    selecteduseradoquery.Next;
  end;

  selecteduseradoquery.Close;
  selecteduseradoquery.Free;
end;

procedure TtaskForm.ShowUnselectedusers(sex,occupation,birth_year,company,
department,job:string);
var
  unselecteduseradoquery:TADOQuery;
  ListItem: TListItem;
  i:integer;
  searchstring:string;
begin
  // 清除列表中的数据
  unselecteduserlistview.Clear;

  // 检索所有客户数据
  unselecteduseradoquery:=TADOQuery.Create(self);
  unselecteduseradoquery.ConnectionString:=adodbconnectionstring;

  unselecteduseradoquery.SQL.Add('select * from [client_info] ');
  searchstring:='';
  //检索条件 性别

  if sex<>'' then
  begin
   if searchstring='' then
     searchstring:='(sex='''+sex+''')'
   else
     searchstring:=searchstring+'and'+'(sex='''+sex+''')';
  end;
  //检索条件 职业
  if occupation<>'' then
  begin
   if searchstring='' then
     searchstring:='(occupation='''+occupation+''')'
   else
     searchstring:=searchstring+'and'+'(occupation='''+occupation+''')';
  end;
  //检索条件 出生年
  if birth_year<>'' then
  begin
   if searchstring='' then
     searchstring:='(birth_year='''+birth_year+''')'
   else
     searchstring:=searchstring+'and'+'(birth_year='''+birth_year+''')';
  end;
  //检索条件 公司
  if company<>'' then
  begin
   if searchstring='' then
     searchstring:='(company='''+company+''')'
   else
     searchstring:=searchstring+'and'+'(company='''+company+''')';
  end;
  //检索条件 部门
  if department<>'' then
  begin
   if searchstring='' then
     searchstring:=searchstring+'(department='''+department+''')'
   else
     searchstring:='and'+'(department='''+department+''')';
  end;
  //检索条件 职位
  if job<>'' then
  begin
   if searchstring='' then
     searchstring:='(job='''+job+''')'
   else
     searchstring:=searchstring+'and'+'(job='''+job+''')';
  end;

  // 检索条件 将已选客户从客户集中删除
  for i:=0 to selecteduserlistview.Items.Count-1 do
  begin
    if searchstring='' then
     searchstring:='(mobile_telephone<>'''+
     selecteduserlistview.Items.Item[i].SubItems.Strings[1]+''')'
   else
     searchstring:=searchstring+'and'+'(mobile_telephone<>'''+
     selecteduserlistview.Items.Item[i].SubItems.Strings[1]+''')';
  end;

  if searchstring<>'' then
    unselecteduseradoquery.SQL.Add('where '+searchstring+' ');

  unselecteduseradoquery.SQL.Add('order by mobile_telephone');

  unselecteduseradoquery.Open;

⌨️ 快捷键说明

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