Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.01.08;
Скачать: CL | DM;

Вниз

Progressbar при получении почты   Найти похожие ветки 

 
98eksom   (2005-09-22 09:56) [0]

Подскажите как узнать количество принятых байт при извлечении присоединенного файла к письму, а также размер этого присоединенного файла . Используется компонент idPOP3.


 
98eksom   (2005-09-22 11:44) [1]

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


 
Stalker01 ©   (2005-09-24 03:55) [2]

Размер вложения: RetrieveMsgSize(номер письма)
Кол-во обработанных байт можно получить на событии:
GetWork(Sender: TObject; AWorkMode: TWorkMode;
 const AWorkCount: Integer);
Где AWorkCount-кол-во байт


 
98eksom   (2005-09-26 12:18) [3]

RetrieveMsgSize(1) возвращает неверное значение. Выдает размер письма 50кб, а на самом деле размер письма составляет 700кб (в письме имеется прикрепленный архив).
На почтовом ящике находится 1-но письмо, RetrieveMailBoxSize возвращает теже 50кб. Заходил на ящик и проверял вручную 700кб.


 
Stalker01 ©   (2005-09-26 13:49) [4]

Странно, у меня все работает. Тоже письмо с вложением. Покажи весь код.


 
98eksom   (2005-09-27 09:35) [5]

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 размер



Страницы: 1 вся ветка

Текущий архив: 2006.01.08;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.014 c
14-1134272253
Думкин(_врем)
2005-12-11 06:37
2006.01.08
А что нам, чукотским...


2-1135245369
Mahab
2005-12-22 12:56
2006.01.08
Копирование файлов


2-1135153839
nirvana
2005-12-21 11:30
2006.01.08
Защита базы данных


14-1133450740
Kerk
2005-12-01 18:25
2006.01.08
Приглашение в orkut


14-1134623387
vitaliy14
2005-12-15 08:09
2006.01.08
"Клонирование" Битмэпа