none
PocketOutlook RRS feed

  • Общие обсуждения

  • Здрасвтвуйте.
    Помогите с проблемой такого рода(перелазил пол интернета толком ничего не нашол,а си шарпом токо знакомлюсь)-
    я пробую создать плагин под титаниум под винмобиле 6.5.
    Идея такова - надо получить список задач и встреч и передать их в титаниум и при изминении в задачах или встречах - неважно каких опять обновить плагин.
    вот мои наработки
    using System;
    using Microsoft.Win32;
    using Microsoft.WindowsMobile.PocketOutlook;

    namespace Kalendar
    {
      class Program
      {
      static void Main(string[] args)
      {
      OutlookSession AppSession = new OutlookSession();
      AppointmentCollection Vctrechi = AppSession.Appointments.Items;
      TaskCollection Zadachi = AppSession.Tasks.Items;
      Appointment Vctrecha;
      Task Zadacha;
      int KlVctrech = 0, KlZadach = 0,i=0;
      string[] vs = new string[4];
      string[] ts = new string[4];
      
      //чистим масів
      for (i = 0; i <= 3; i++) { vs[i] = ""; ts[i] = ""; }
      //заганяем в масів зустрічі
      KlVctrech = 0;
      for (i = 0; i < Vctrechi.Count; i++)
      {
      Vctrecha = Vctrechi[i];
      if (Vctrecha.Start >= DateTime.Today || Vctrecha.RecurrencePattern.PatternStartDate >= DateTime.Today)
      {
      vs[KlVctrech] = Vctrecha.Subject + ": (" + Vctrecha.Start.ToString("dd.MM.yy HH:mm") + ") : " + Vctrecha.Location;
      KlVctrech++;
      if (KlVctrech == 4) break;

      }
      }
      //заганяем в масів задачі
      for (i = 0; i < Zadachi.Count; i++)
      {
      Zadacha = Zadachi[i];
      if (Zadacha.StartDate >= DateTime.Today)
      {
      ts[KlZadach] = Zadacha.Subject + ": (" + Zadacha.StartDate.ToString("dd.MM.yy") + ")";
      KlZadach++;
      if (KlZadach == 4) break;
      }

      }
    ///////////////////// Пишем в реестр
    // дозволяем обновлятися
      RegistryKey upd_reg = Registry.LocalMachine.OpenSubKey("Software\\Microsoft\\CHome\\Kalendar", true);
      upd_reg.SetValue("Updated", 1);
    //////////////////// CondensedPage
      RegistryKey reg = Registry.LocalMachine.OpenSubKey("Software\\Microsoft\\CHome\\Kalendar\\CondensedPage", true);
      reg.SetValue("TEXT1", "");
      string vctrechi = "", zadachi = "";

      if (vs[0].Length == 0) vctrechi = "Зустручі відсутні! ";
      else vctrechi = vs[0];
      if (ts[0].Length == 0) zadachi = "Задачі відсутні! ";
      else zadachi = ts[0];
      reg.SetValue("TEXT1", vctrechi + zadachi);
      reg.Close();
    ///////////////// End CondensedPage
    ///////////////// P1
      RegistryKey reg2 = Registry.LocalMachine.OpenSubKey("Software\\Microsoft\\CHome\\Kalendar\\Page1", true);
      reg2.SetValue("TEXT1", ""); reg2.SetValue("TEXT2", "");
      reg2.SetValue("TEXT3", ""); reg2.SetValue("TEXT4", "");
      reg2.SetValue("TEXT1", vs[0]); reg2.SetValue("TEXT2", vs[1]);
      reg2.SetValue("TEXT3", vs[2]); reg2.SetValue("TEXT4", vs[3]);
      reg2.Close();
    /////////////// End P1
    /////////////// P2
      RegistryKey reg3 = Registry.LocalMachine.OpenSubKey("Software\\Microsoft\\CHome\\Kalendar\\Page3", true);
      reg3.SetValue("TEXT1", ""); reg3.SetValue("TEXT2", "");
      reg3.SetValue("TEXT3", ""); reg3.SetValue("TEXT4", "");
      reg3.SetValue("TEXT1", ts[0]); reg3.SetValue("TEXT2", ts[1]);
      reg3.SetValue("TEXT3", ts[2]); reg3.SetValue("TEXT4", ts[3]);
      reg3.Close();
    ///////////// End P2
      upd_reg.SetValue("Updated", 0);
      upd_reg.Close();
      //end upd
      Vctrechi.Dispose();
      Zadachi.Dispose();
      AppSession.Dispose();


      }
      }
    }

    с задачами никаких проблем, и со встречами, у которых дата начала сегодня, а вот с рекурентными встречами никак не разберусь - как
    определить дату следующей встречи??
    И как отследить изминения в аутлуке?чтобы обновить плагин.
    Заранее благодарен за помощь

     

     

    • Изменен тип I.Vorontsov 10 июня 2010 г. 5:38
    • Перемещено Tagore Bandlamudi 2 октября 2010 г. 21:34 MSDN Forums consolidation (От:Разработка Windows-приложений)
    8 октября 2009 г. 11:08

Все ответы

  • Уважаемый пользователь!

     

    В вашей теме отсутствует активность в течение последних месяцев. При отсутствии каких-либо действий в течение 2 последующих дней, тема будет переведена в разряд обсуждений. Вы можете возобновить дискуссию, просто оставив сообщение в данной теме.


    Для связи [Mail]