Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2006.01.08;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.008 c
14-1134667828
Gero
2005-12-15 20:30
2006.01.08
Яндекс не отстает


3-1131965881
alex-ran
2005-11-14 13:58
2006.01.08
FastReport: CrossView и значение CellMemoCross1


4-1131179027
Yus
2005-11-05 11:23
2006.01.08
FileTimeToDosDateTime


2-1134847111
guitarist
2005-12-17 22:18
2006.01.08
Маааленький вопрос по сокетам


14-1134385970
lookin
2005-12-12 14:12
2006.01.08
Печать фотографий





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский