📄 frmuserinfo.pas
字号:
unit FrmUserInfo;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, ComCtrls, StdCtrls,inifiles,ImgList, Menus;
type
TFrmUserInfo1 = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
Panel3: TPanel;
Label1: TLabel;
ComboBox1: TComboBox;
ListView1: TListView;
ImageList1: TImageList;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
procedure ComboBox1Select(Sender: TObject);
procedure N1Click(Sender: TObject);
private
{ Private declarations }
function GetSumStr:string;
procedure AddToListView(AStr:string);
function GetOneline(var AStr:string):string;
function GetDetal:string;
function GetMailNum(AStr:string):Double;
function GetMailByte(AStr:string):Double;
public
{ Public declarations }
procedure IniShow;
end;
var
FrmUserInfo1: TFrmUserInfo1;
implementation
uses UnitDataModule, UnitConst, FrmStatistics;
{$R *.dfm}
//显示信息
procedure TFrmUserInfo1.IniShow;
begin
C_SetCombox(UnitDataModule1.GetDomain,ComboBox1);
AddToListView(UnitDataModule1.GetUsersTetailInfoInDomain(ComboBox1.text));
end;
procedure TFrmUserInfo1.ComboBox1Select(Sender: TObject);
begin
AddToListView(UnitDataModule1.GetUsersTetailInfoInDomain(ComboBox1.text));
end;
//加入到listview中
procedure TFrmUserInfo1.AddToListView(AStr:string);
var
i:integer;
MyList:TStringList;
MyItem:TListItem;
MyStr:string;
begin
MyList:=TStringList.Create;
try
MyList.Text:=AStr;
ListView1.Clear;
for i:=0 to MyList.Count-1 do
begin
MyStr:=MyList.Strings[i];
MyItem:=ListView1.Items.Add;
MyItem.ImageIndex:=0;
MyItem.SubItems.Add(GetOneline(MyStr));
MyItem.SubItems.Add(GetOneline(MyStr));
MyItem.SubItems.Add(GetOneline(MyStr));
MyItem.SubItems.Add(GetOneline(MyStr));
MyItem.SubItems.Add(GetOneline(MyStr));
MyItem.SubItems.Add(GetOneline(MyStr));
MyItem.SubItems.Add(GetOneline(MyStr));
MyItem.SubItems.Add(GetOneline(MyStr));
MyItem.SubItems.Add(GetOneline(MyStr));
end;
finally
MyList.Free;
end;
end;
//在字符串中截取一个字符串,并删除原字符串中的这个字符串
function TFrmUserInfo1.GetOneline(var AStr:string):string;
begin
if pos(',',AStr)<>0 then
begin
Result:=copy(AStr,1,pos(',',AStr)-1);
Delete(AStr,1,pos(',',AStr));
end
else begin
result:=AStr;
end;
end;
procedure TFrmUserInfo1.N1Click(Sender: TObject);
var
MyStr:string;
begin
MyStr:=GetSumStr;
FrmStatistics1.ShowText:=MyStr;
FrmStatistics1.ShowModal;
end;
function TFrmUserInfo1.GetSumStr:string;
var
MyStrList:TstringList;
begin
MyStrList:=TstringList.Create;
try
MyStrList.Text:=GetDetal;
MyStrList.insert(0,'用户总数为:'+inttostr(listview1.Items.Count));
MyStrList.insert(1,'');
MyStrList.insert(0,'===================域名 "'+ComboBox1.Text+'"===================');
MyStrList.insert(1,'');
result:=MyStrList.Text;
finally
end;
end;
function TFrmUserInfo1.GetDetal:string;
var
i:integer;
ina,faa,tra,dea,wra,rda,uda:double;
inx,fax,trx,dex,wrx,rdx,udx:double;
MyStr:string;
MyList:TStringList;
begin
ina:=0;
faa:=0;
tra:=0;
dea:=0;
wra:=0;
rda:=0;
uda:=0;
inx:=0;
fax:=0;
trx:=0;
dex:=0;
wrx:=0;
rdx:=0;
udx:=0;
for i:=0 to listview1.Items.Count-1 do
begin
MyStr:=listview1.Items[i].SubItems[2];
ina:=ina+GetMailNum(MyStr);
inx:=inx+GetMailByte(MyStr);
MyStr:=listview1.Items[i].SubItems[3];
faa:=faa+GetMailNum(MyStr);
fax:=fax+GetMailByte(MyStr);
MyStr:=listview1.Items[i].SubItems[4];
tra:=tra+GetMailNum(MyStr);
trx:=trx+GetMailByte(MyStr);
MyStr:=listview1.Items[i].SubItems[5];
dea:=dea+GetMailNum(MyStr);
dex:=dex+GetMailByte(MyStr);
MyStr:=listview1.Items[i].SubItems[6];
wra:=wra+GetMailNum(MyStr);
wrx:=wrx+GetMailByte(MyStr);
MyStr:=listview1.Items[i].SubItems[7];
rda:=rda+GetMailNum(MyStr);
rdx:=rdx+GetMailByte(MyStr);
MyStr:=listview1.Items[i].SubItems[8];
uda:=uda+GetMailNum(MyStr);
udx:=udx+GetMailByte(MyStr);
end;
MyList:=TStringList.Create;
try
MyList.Add('收件箱: '+FloatToStr(ina)+'封 '+'('+FloatToStr(inx)+'kb)');
MyList.Add('');
MyList.Add('收藏箱: '+FloatToStr(faa)+'封 '+'('+FloatToStr(fax)+'kb)');
MyList.Add('');
MyList.Add('垃圾箱: '+FloatToStr(tra)+'封 '+'('+FloatToStr(trx)+'kb)');
MyList.Add('');
MyList.Add('已删除邮件: '+FloatToStr(dea)+'封 '+'('+FloatToStr(dex)+'kb)');
MyList.Add('');
MyList.Add('待转发邮件: '+FloatToStr(wra)+'封 '+'('+FloatToStr(wrx)+'kb)');
MyList.Add('');
MyList.Add('已转发邮件: '+FloatToStr(rda)+'封 '+'('+FloatToStr(rdx)+'kb)');
MyList.Add('');
MyList.Add('转发失败邮件: '+FloatToStr(uda)+'封 '+'('+FloatToStr(udx)+'kb)');
result:=MyList.Text;
finally
MyList.Free;
end;
end;
function TFrmUserInfo1.GetMailNum(AStr:string):double;
begin
AStr:=trim(AStr);
result:=strtofloat(copy(AStr,1,pos('封',AStr)-1));
end;
function TFrmUserInfo1.GetMailByte(AStr:string):Double;
var
i,j:integer;
begin
AStr:=lowercase(trim(AStr));
i:=pos('(',AStr);
j:=pos('kb',AStr);
result:=strtofloat(copy(AStr,i+1,j-i-1));
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -