![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Progressbar при получении почты [D7]
98eksom © (2005-09-22 09:56:00)Подскажите как узнать количество принятых байт при извлечении присоединенного файла к письму, а также размер этого присоединенного файла . Используется компонент idPOP3.
98eksom (2005-09-27 09:35:00) [1]while main.NMPOP31.CheckMessages<>0 do
begin
main.IdMessage2.Clear;
kol_bait:=main.NMPOP31.RetrieveMsgSize(1);
main.Memo2.Lines.Add('- '+inttostr(kol_bait)); // выводит - 50631 ,а на самом деле 711011
main.NMPOP31.Retrieve(1,main.IdMessage2);
main.Memo2.Lines.Add('Адрес: '+main.IdMessage2.From.Address);
for j:=0 to main.IdMessage2.MessageParts.Count-1 do
if main.IdMessage2.MessageParts.Items[j].ClassType = TIdAttachment then
begin
Attach := main.IdMessage2.MessageParts.Items[j] as TIdAttachment;
main.Memo2.Lines.Add('Присоединен:'+Attach.FileName);
fname:=Attach.FileName;
IF FileExists(inbox+fname) then DeleteFile(inbox+fname);
Attach.SaveToFile(inbox+Attach.FileName);
end;
main.NMPOP31.Delete(1);
end;
main.NMPOP31.Disconnect;
procedure Tmain.NMPOP31Work(Sender: TObject; AWorkMode: TWorkMode;
const AWorkCount: Integer);
begin
Application.ProcessMessages;
Label2.Caption:=IntToStr(AWorkCount);
end;
Если строку kol_bait:=main.NMPOP31.RetrieveMsgSize(1);
заменить
main.NMPOP31.SendCmd('LIST 1',wsok);
main.memo2.Lines.Add(main.NMPOP31.LastCmdResult.Text[0]);
то результат будет верным // результат- 1 711011
1 номер сообщения 711011 размер
Stalker01 (2005-09-26 13:49:00) [2]Странно, у меня все работает. Тоже письмо с вложением. Покажи весь код.
98eksom (2005-09-26 12:18:00) [3]RetrieveMsgSize(1) возвращает неверное значение. Выдает размер письма 50кб, а на самом деле размер письма составляет 700кб (в письме имеется прикрепленный архив).
На почтовом ящике находится 1-но письмо, RetrieveMailBoxSize возвращает теже 50кб. Заходил на ящик и проверял вручную 700кб.
Stalker01 (2005-09-24 03:55:00) [4]Размер вложения: RetrieveMsgSize(номер письма)
Кол-во обработанных байт можно получить на событии:
GetWork(Sender: TObject; AWorkMode: TWorkMode;
const AWorkCount: Integer);
Где AWorkCount-кол-во байт
98eksom (2005-09-22 11:44:00) [5]никто не знает?