Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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]

никто не знает?


Наверх

Титульная страница Поиск, карта сайта Написать письмо