Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: ActiveX/СОМ/CORBA > События календаря OutlookXP


Автор: Kesh 26.9.2005, 15:25
Есть такая проблемка... Необходимо выбрать из Outlook события на 7 дней вперед, НО при выборке AppointmentItem выбирается только одно событие и повторяющихся... Например, если стоит событие Дня рождения на 30 октября 1983 года и оно должно повторяться ежегодно, но при выборке из Outlook'a выбирается только одно событие на 30.10.1983 а надо, чтобы при составлении запроса на Find('[Sort] >= ''27/10/2005''') - событие это выбиралось...

Как?

Пояснения и исходный код, если недостаточно понятно разъяснил, - вечером...

Автор: Kesh 26.9.2005, 19:35
Спасибо, нашел...
Надо вот так...
Код

var
  OlCals: OutlookXP._Items;
  OlNameSpace: OutlookXP._NameSpace;
  OlCalItem: OutlookXP._AppointmentItem;

function GetCalenderEvents: string;
var
  i: integer;
  ResS, S, S1: string;
begin
  ResS := '';
  OlNamespace := Outlook.GetNamespace('MAPI');
  OlCals := OlNamespace.GetDefaultFolder(olFolderCalendar).Items;
  OlCals.Sort('Start',0);
  OlCals.IncludeRecurrences := true;

  OlCalItem := OlCals.Find('[start] >= ''25/09/2005'' and [start] <= ''25/09/2007''') as OutLookXP._AppointmentItem;

  while Assigned(OlCalItem) do
    begin
      ResS := ResS + OlCalItem.Subject+' - '+DateToStr(OlCalItem.Start)+#13+#10;
      OlCalItem := OlCals.FindNext as OutlookXP._AppointmentItem;
    end;
  Result := ResS;
end;


Все дело было в строчке
Код

  OlCals.IncludeRecurrences := true;

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)