Главная страница
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.022 c
1-1133936384
KvORubin
2005-12-07 09:19
2006.01.08
Как в МЕМО1 в первой строке


14-1134061254
Александр Иванов
2005-12-08 20:00
2006.01.08
Ваш любимый российский город


14-1134661370
Bogdan1024
2005-12-15 18:42
2006.01.08
Дуглас Коупленд "Рабы Майкрософта"


4-1131126124
The One
2005-11-04 20:42
2006.01.08
"Потеря хендла" в RegSetValue после RegCreateKey


14-1134631855
vecna
2005-12-15 10:30
2006.01.08
Путин хочет запретить иностранные банки в России