Domino 9 und frühere Versionen > ND6: Entwicklung

[C++ API] LNCalendar

(1/2) > >>

eknori:
Habe heute mal ein bisschen mit der c++ API  herumgespielt. Interessant fand ich die Klasse LNCalendar. Damit ist es recht einfach, Kalendereinträge in den eigenen oder einen fremden Kalender einzutragen.

#include <lncppapi.h>
#include <iostream.h>

void main ( int argc, char *argv[])
{
   char errorbuf[512];
   char *  server="Comm1/Witte/de";
   char *  user="Jens Beimer/witte/de";
   char*   mailfile="mail\\jbeimer.nsf";
   char*   subject="My appointment";
   char *   Start="10/02/2005 15:01";
   char *   End="10/02/2005 19:00";
   LNNotesSession            s;
   LNDatabase               db;
   LNCalendar                  Calendar;
   LNCalendarEntry            Entry;

   LNSetThrowAllErrors(true);

   try
   {
      s.Init();
      
      LNDatetimeRange      TheDate;
      LNDatetime               AptBegin ( Start );
      LNDatetime              AptEnd (  End ) ;
   
      TheDate.SetBegin(AptBegin);
      TheDate.SetEnd(AptEnd);

      s.GetCalendar(&Calendar, server, mailfile, user);
      Calendar.CreateEntry(TheDate, subject, LNCALENTRYTYPE_APPOINTMENT, &Entry);
      Entry.Save();
               
   }
   catch (LNSTATUS error)
   {
      LNGetErrorMessage(error, errorbuf);
      cout << "Error: "  << errorbuf << endl;
   }
   s.Term();
   
}

Das Interessanteste daran ist, daß man den erzeugten Eintrag dahingehend untersuchen kann, welche Felder denn mit welchem Wert gefüllt sein müssen. Das könnte dann als Grundlage dienen, eine entsprechende Klasse auch mit LS aufzubauen, um dann bequem Kalendereinträge zu erzeugen. z.B. für einen Gruppenkalender  ;D

Schade finde ich es eigentlich, daß als Chair der Ersteller eingetragen wird. Mag im Frontend noch Sinn machen, im Backend weniger.

Leider kann man das auch nicht mehr ( einfach ) ändern. Zwar verfügt die LNCalendarEntry class über die Methode GetOwner; leider aber nicht über eine SetOwner method. Alle anderen Methoden sind Get/set, nur diese eben nicht. Schade.

Leider lassen sich ja die c++ wrapper functions nicht "direkt" wie die API Funktionen ansprechen. Werde morgen mal den wrapper aufdröseln; möglicherweise läßt sich ja mit den gewonnenen Erkenntnissen dann eine Klasse in LS aufbauen. Oder gibt es da schon was fertiges, kostenloses ?  ;D

Semeaphoros:
Schau mal in der Sandbox, ich glaube, da liegt irgendwo eine ähnliche Klasse rum.

eknori:
habe ich schon alle mal durchgesehen.
ist nicht wirklich das, was mir vorschwebt

hätte dann auch gerne in LS so was

Semeaphoros:
Ok, gut möglich, ich hab sie nie genauer angeschaut.

eknori:
na, ich bastel dann mal weiter; hab ja noch "frei" und meine Frau ist arbeiten *hihi*

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln