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

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

работа с Simple MAPI


aleko ©   (2006-10-28 01:21:00) 

Доброго времени суток..
Подскажите, используя интерфейс Simple MAPI, можно ли найти необходимое письмо не методом перебора всех входящих функцией MapiFindNext, а организовать что-то вроде поиска...

Пробовал сделать таким образом, но ничего не выходит:
предварительно информацию о письме (Отправитель, Тема, Дата) в цикле используя MapiFindNext и MapiReadMail заносил в StringGrid


var
 ...
 S: array [0..512] of Char;
 PP: PAnsiChar = @s[0];
 Mess: TMapiMessage;
 PMess: PMapiMessage = @Mess;
 PRecDesc: PMapiRecipDesc;

procedure TForm1.StringGrid1SelectCell(Sender: TObject; ACol,
 ARow: Integer; var CanSelect: Boolean);
var
i: integer;

begin
for i := 0 to StringGrid1.RowCount do
   if MapiFindNext(0,0,'',PP,0,0,PP) = SUCCESS_SUCCESS then
      begin
        MapiReadMail(0,0,PP,0,0,PMess);

// в четвертое поле StringGrid занесена дата

        if PMess.lpszDateReceived = StringGrid1.Cells[3,ARow] then            
           begin
           PRecDesc := PMess.lpOriginator;
           Label20.Caption := 'От кого: ' + PRecDesc.lpszName;
           Label21.Caption := 'Тема: ' + PMess.lpszSubject;
           Label22.Caption := 'Дата: ' + PMess.lpszDateReceived;
           Memo1.Text := PMess.lpszNoteText;
           Break;
           end;
      end;
end;



...не работает :((


aleko   (2006-10-29 02:32:00) [1]

Разобрался :)
Записать, а потом передавать в MapiReadMail идентификатор письма..
...работает :))


Наверх

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