📄 client.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 + -