Z
zjxxln
Unregistered / Unconfirmed
GUEST, unregistred user!
1、邮件存放问题
用数据库存放邮件好还是用自定义格式的文件存放好?为什么?
2、 while i<=n do //n=邮件总数,i:=1;
begin
Label2.Caption:=IntToStr(i)+'/'+IntToStr+' ';
POP.RetrieveHeader(i);
itm := ListView2.Items.Add;
itm.Caption:='未读';
itm.SubItems.Add(Msg.FromAddress);
itm.SubItems.Add(Msg.Subject);
itm.SubItems.Add(DateTimeToStr(Msg.Date));
itm.SubItems.Add(IntToStr(Msg.AttachList.Count));
itm.SubItems.Add(InttoStr(POP.SessionMessageSize[i-1]));
i:=i+1;
end;
上面这段代码是取得所有的邮件信息,然后在ListView上显示出来,若邮件很大,
这段代码执行时cpu利用率非常大(99%),但foxmail执行时cpu利用率很小。
3、假如第i个邮件很大,则前i-1个显示都正确,后面显示的都和第i个一样。用fox循环
也这样,但是我如果在程序中将这部分程序写n编,不用循环,则没有问题。如下:
begin
Label2.Caption:=IntToStr(1)+'/'+IntToStr+' ';
POP.RetrieveHeader(1);
itm := ListView2.Items.Add;
itm.Caption:='未读';
itm.SubItems.Add(Msg.FromAddress);
itm.SubItems.Add(Msg.Subject);
itm.SubItems.Add(DateTimeToStr(Msg.Date));
itm.SubItems.Add(IntToStr(Msg.AttachList.Count));
itm.SubItems.Add(InttoStr(POP.SessionMessageSize[0]));
end;
//------------
begin
Label2.Caption:=IntToStr(2)+'/'+IntToStr+' ';
POP.RetrieveHeader(2);
itm := ListView2.Items.Add;
itm.Caption:='未读';
itm.SubItems.Add(Msg.FromAddress);
itm.SubItems.Add(Msg.Subject);
itm.SubItems.Add(DateTimeToStr(Msg.Date));
itm.SubItems.Add(IntToStr(Msg.AttachList.Count));
itm.SubItems.Add(InttoStr(POP.SessionMessageSize[1]));
end;
。。。。。。
用数据库存放邮件好还是用自定义格式的文件存放好?为什么?
2、 while i<=n do //n=邮件总数,i:=1;
begin
Label2.Caption:=IntToStr(i)+'/'+IntToStr+' ';
POP.RetrieveHeader(i);
itm := ListView2.Items.Add;
itm.Caption:='未读';
itm.SubItems.Add(Msg.FromAddress);
itm.SubItems.Add(Msg.Subject);
itm.SubItems.Add(DateTimeToStr(Msg.Date));
itm.SubItems.Add(IntToStr(Msg.AttachList.Count));
itm.SubItems.Add(InttoStr(POP.SessionMessageSize[i-1]));
i:=i+1;
end;
上面这段代码是取得所有的邮件信息,然后在ListView上显示出来,若邮件很大,
这段代码执行时cpu利用率非常大(99%),但foxmail执行时cpu利用率很小。
3、假如第i个邮件很大,则前i-1个显示都正确,后面显示的都和第i个一样。用fox循环
也这样,但是我如果在程序中将这部分程序写n编,不用循环,则没有问题。如下:
begin
Label2.Caption:=IntToStr(1)+'/'+IntToStr+' ';
POP.RetrieveHeader(1);
itm := ListView2.Items.Add;
itm.Caption:='未读';
itm.SubItems.Add(Msg.FromAddress);
itm.SubItems.Add(Msg.Subject);
itm.SubItems.Add(DateTimeToStr(Msg.Date));
itm.SubItems.Add(IntToStr(Msg.AttachList.Count));
itm.SubItems.Add(InttoStr(POP.SessionMessageSize[0]));
end;
//------------
begin
Label2.Caption:=IntToStr(2)+'/'+IntToStr+' ';
POP.RetrieveHeader(2);
itm := ListView2.Items.Add;
itm.Caption:='未读';
itm.SubItems.Add(Msg.FromAddress);
itm.SubItems.Add(Msg.Subject);
itm.SubItems.Add(DateTimeToStr(Msg.Date));
itm.SubItems.Add(IntToStr(Msg.AttachList.Count));
itm.SubItems.Add(InttoStr(POP.SessionMessageSize[1]));
end;
。。。。。。