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

📄 client.pas

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

interface

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

type
  TclientForm = class(TForm)
    CoolBar1: TCoolBar;
    closeSpeedButton: TSpeedButton;
    deletegroupSpeedButton: TSpeedButton;
    editgroupSpeedButton: TSpeedButton;
    addgroupSpeedButton: TSpeedButton;
    deleteuserSpeedButton: TSpeedButton;
    edituserSpeedButton: TSpeedButton;
    Panel1: TPanel;
    Splitter1: TSplitter;
    Panel2: TPanel;
    groupTreeView: TTreeView;
    userListView: TListView;
    adduserSpeedButton: TSpeedButton;
    ImageList1: TImageList;
    procedure closeSpeedButtonClick(Sender: TObject);
    procedure adduserSpeedButtonClick(Sender: TObject);
    procedure edituserSpeedButtonClick(Sender: TObject);
    procedure deleteuserSpeedButtonClick(Sender: TObject);
    procedure addgroupSpeedButtonClick(Sender: TObject);
    procedure editgroupSpeedButtonClick(Sender: TObject);
    procedure deletegroupSpeedButtonClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    procedure ShowAllusers();//显示所有客户信息到列表中
    procedure ShowAllgroups();//显示所有联系组信息到列表中

  end;

var
  clientForm: TclientForm;

implementation

uses edituser, main, group, newgroup, other;

{$R *.dfm}

procedure TclientForm.ShowAllusers();
var
  ListItem: TListItem;
  i,j:integer;
begin
  // 清除列表中的数据
  userlistview.Clear;
  for i:=0 to mainForm.userListView.Items.Count-1 do
  begin
    // 检索新的数据
    ListItem:=userlistview.Items.Add;
    ListItem.Caption:=mainForm.userlistview.Items.Item[i].Caption;
    for j:=0 to mainForm.userlistview.Items.Item[i].SubItems.Count-1 do
      ListItem.SubItems.Add(
      mainForm.userListView.Items.Item[i].SubItems.Strings[j]);
  end;    
end;

procedure TclientForm.ShowAllgroups();
var
  group_clientadoquery:TADOQuery;
  TreeNode:TTreeNode;
begin
  // 清除列表中的数据
  groupTreeview.Items.Clear;

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

  // 取得所有群组名
  // 取得所有与群组相关的客户信息
  group_clientadoquery.SQL.Add('select groupname,mobile_telephone,username from '+
  '[group_client] order by groupname,mobile_telephone');
  group_clientadoquery.Open;

  groupadoquery.First;
  while not groupadoquery.Eof do
  begin
    TreeNode:=groupTreeview.Items.Add(nil,groupadoquery.Fields.Fields[0].AsString);
    TreeNode.ImageIndex:=1;
    TreeNode.SelectedIndex:=1;
    while (not group_clientadoquery.Eof) and
    (group_clientadoquery.Fields.Fields[0].AsString=TreeNode.Text) do
    begin
      groupTreeview.Items.AddChild(TreeNode,group_clientadoquery.Fields.Fields[1].AsString+
      ' '+group_clientadoquery.Fields.Fields[2].AsString);
      group_clientadoquery.Next;
    end;
    groupadoquery.Next;
  end;

  //关闭 groupadoquery,group_clientadoquery 对象
  group_clientadoquery.Close;

  //销毁 groupadoquery,group_clientadoquery 对象
  group_clientadoquery.Free;
end;

procedure TclientForm.closeSpeedButtonClick(Sender: TObject);
begin
  close;
end;

procedure TclientForm.adduserSpeedButtonClick(Sender: TObject);
begin
  edituserForm.Caption:='新建联系人';
  edituserForm.ReadyforShow;
  edituserForm.ShowModal;
end;

procedure TclientForm.edituserSpeedButtonClick(Sender: TObject);
begin
  // 有客户信息被选中
  if userlistview.SelCount=1 then
  begin
    edituserForm.Caption:='编辑联系人';
    edituserForm.ReadyforShow;
    edituserForm.nameEdit.Text:=userlistview.Selected.Caption;
    edituserForm.sexComboBox.Text:=userlistview.Selected.SubItems.Strings[0];
    edituserForm.mobile_telephoneEdit.Text:=userlistview.Selected.SubItems.Strings[1];
    edituserForm.birth_yearComboBox.Text:=userlistview.Selected.SubItems.Strings[9];
    edituserForm.e_mailEdit.Text:=userlistview.Selected.SubItems.Strings[8];
    edituserForm.companyComboBox.Text:=userlistview.Selected.SubItems.Strings[2];
    edituserForm.departmentComboBox.Text:=userlistview.Selected.SubItems.Strings[3];
    edituserForm.jobComboBox.Text:=userlistview.Selected.SubItems.Strings[4];
    edituserForm.occupationComboBox.Text:=userlistview.Selected.SubItems.Strings[5];
    edituserForm.incomeComboBox.Text:=userlistview.Selected.SubItems.Strings[6];
    edituserForm.addressComboBox.Text:=userlistview.Selected.SubItems.Strings[7];
    edituserForm.remarkMemo.Text:=userlistview.Selected.SubItems.Strings[10];
    edituserForm.ShowModal;
  end;
end;

procedure TclientForm.deleteuserSpeedButtonClick(Sender: TObject);
begin
  // 有客户信息被选中
  if userlistview.SelCount=1 then
  begin
    // 删除数据库中的数据
    try
      useradoquery.RecNo:=clientForm.userListView.Selected.Index+1;
      useradoquery.Delete;
    except
      application.MessageBox('发生错误!','提示',MB_OK);
      exit;
    end;

    // 删除列表中选中数据
    mainForm.userListView.Items.Delete(userListView.Selected.Index);
    userListView.DeleteSelected;
  end;
end;

procedure TclientForm.addgroupSpeedButtonClick(Sender: TObject);
begin
  newgroupForm.ShowModal;
end;

procedure TclientForm.editgroupSpeedButtonClick(Sender: TObject);
var
  TreeNode:TTreeNode;
begin
  //取得当前选中的节点
  TreeNode:=groupTreeView.Selected;
  if (TreeNode<>nil) and (TreeNode.Parent=nil) then
  begin
    groupForm.ReadyforShow;
    groupForm.groupname:=TreeNode.Text;//记录当前编辑的联系组名
    groupForm.Caption:='编辑联系组---'+TreeNode.Text;//设置标题
    groupForm.ShowSelectedusers;//显示已选客户
    groupForm.ShowUnselectedusers('','','','','','');//显示未选客户
    groupForm.ShowModal;
  end;
end;

procedure TclientForm.deletegroupSpeedButtonClick(Sender: TObject);
var
  groupadocommand:TADOCommand;
  i:integer;
begin
  // 有联系组被选中
  if grouptreeview.SelectionCount=1 then
  begin

    try
      groupadoquery.RecNo:=grouptreeview.Selected.Index+1;
      groupadoquery.Delete;
    except
      application.MessageBox('发生错误!','提示',MB_OK);
      exit;
    end;

    // 删除数据库中的数据
    groupadocommand:=TADOCommand.Create(self);
    groupadocommand.ConnectionString:=adodbconnectionstring;
    
    groupadocommand.CommandText:='delete from [group_client] where groupname='''+
    grouptreeview.Selected.Text+'''';

    try
      groupadocommand.Execute;
    except
      application.MessageBox('发生错误!','提示',MB_OK);
      groupadocommand.Free;
      exit;
    end;
    
    //销毁对象
    groupadocommand.Free;

    // 删除列表中选中数据
    i:=0;
    while not ((mainForm.groupTreeView.Items.Item[i].Parent=nil) and
     (mainForm.groupTreeView.Items.Item[i].Text=grouptreeview.Selected.Text)) do
      i:=i+1;
    mainForm.groupTreeView.Items.Item[i].Delete;
    
    grouptreeView.Items.Delete(grouptreeview.Selected);
  end;

end;

end.

⌨️ 快捷键说明

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