HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Az Outlook határidőnaplójának kezelése programból


Office 15. rész

Példaprogram letöltése

37223 bájt

Az Outlook programozásáról szóló cikkekben eddig csak a levelezéssel kapcsolatos dolgokkal foglalkoztunk, pedig az Outlook nem csupán egy egyszerű levelezőprogram, hanem többek között tartalmaz egy nagyon jól használható határidőnaplót is. Ebben a cikkben azt nézzük meg, hogy ebbe a határidőnaplóba hogyan vehetünk fel új, illetve hogyan törölhetünk felesleges bejegyzéseket.
A feladat amit a példában megvalósítunk az lesz, hogy egy ListView komponensben megjelenítjük a naptárbejegyzéseket. Ha a listából kiválasztunk egy bejegyzést, akkor annak részletes leírása (ha van ilyen) megjelenik egy TRichEdit komponensben. A naptárba vehetünk fel új bejegyzést, és törölhetjük is a kiválasztott elemet.

A naptárbejegyzések lekérdezéséhez létrehoztunk egy GetAppointments nevű eljárást. Megszokhattuk már, hogy ha egy Outlook mappában lévő elemekre van szükségünk, akkor mindenképpen szükségünk lesz egy NameSpace objektumra. A NameSpace objektum GetDefaultFolder függvényével lekérdezzük a Naptár mappa objektumát amit az FFolder változóban tárolunk.
  FNamespace:=FOutlook.GetNamespace('MAPI');
  FFolder:=FNamespace.GetDefaultFolder(olFolderCalendar);
Töröljük a ListView elemeit.
  ListView1.Items.Clear;
Egy ciklussal végigmegyünk a mappa elemein. Egy bejegyzést az Item függvénnyel kaphatunk meg, amelynek paramétere a bejegyzés sorszáma, és egy AppointmentItem típusú objektumot ad vissza. Ennek az osztálynak a Subject property-je adja vissza a bejegyezés tárgyát. Ez az a szöveg, ami a naptárban megjelenik. A Start és End property-k adják meg a bejegyzés érvényességi tartományát dátum és idő formátumban.
  for i:=1 to FFolder.Items.Count do begin
    FAptItem:=FFolder.Items(i);
    li:=ListView1.Items.Add;    li.Caption:=FAptItem.Subject;
    li.SubItems.Add(FAptItem.Start);    li.SubItems.Add(FAptItem.End);
  end;
end;
Amikor a felhasználó kiválaszt egy bejegyzést a listából, akkor megjelenítjük annak részletes leírását egy RichEdit komponensben. Ezt a funkciót legcélszerűbb a ListView OnSelectItem eseményénél megvalósítanunk.
Először ellenőrizzük, hogy van-e kiválasztott elem:
  if Assigned(ListView1.Selected) then begin
NameSpace objektum GetDefaultFolder függvényével megkapjuk a Naptár mappa objektumát.
    FNamespace:=FOutlook.GetNamespace('MAPI');
    FFolder:=FNamespace.GetDefaultFolder(olFolderCalendar);
Az Items függvénynek van egy paramétere, amely a naptár bejegyzés sorszáma. A függvény visszatérési értéke egy AppointmentItem típusú objektum, amelynek Body property-je tartalmazza a bejegyzés részletes leírását. Ez nem minden esetben van kitöltve, ezért lehetséges, hogy a RichEdit üresen marad az elem kiválasztása után is!
    FAptItem:=FFolder.Items(ListView1.Selected.Index+1);
    RichEdit1.Text:=FAptItem.Body;
Lekérdezni már tudjuk a bejegyzéseket, most azt nézzük meg, hogy hogyan tudunk új bejegyzést regisztrálni. Az Edit1 komponensben megadott névvel vesszük fel az új bejegyzést.
A CreateItem függvénnyel készítünk egy új AppointMent objektumot, amit az FAptItem változóban tárolunk. A függvény paraméterének olAppointmentItem-nek kell lennie!
  FAptItem:=FOutlook.CreateItem(olAppointmentItem);
Az új objektum Subject property-jének értékül adjuk az Edit1.Text property-jét. Ez jelenik meg a naptárban. A Body property-be beírjuk a felvétel időpontját és dátumát. Miután megadtuk a szükséges adatokat a Save metódussal elmentjük azokat.
  FAptItem.Subject:=Edit1.text;
  FAptItem.Body:='Felvétel időpontja: '+TimeToStr(Time);
  FAptItem.Save;
Ha már tudunk bejegyzést hozzáadni a naptárhoz, akkor azt is nézzük meg, hogy hogyan tudjuk törölni a felesleges bejegyzéseket. A már ismert módon lekérdezzük a törölni kívánt elem objektumát, majd a Delete metódussal töröljük azt.
    FNamespace:=FOutlook.GetNamespace('MAPI');
    FFolder:=FNamespace.GetDefaultFolder(olFolderCalendar);
    FAptItem:=FFolder.Items(ListView1.Selected.Index+1);
    FAptItem.Delete;

Cikksorozat

#IDKategóriaCikk címeSorozat
1063DelphiInterbase 6 alkalmazása Delphi-ben1. rész
1072DelphiInterbase 6 alkalmazása Delphi-ben2. rész
1084DelphiInterbase 6 alkalmazása Delphi-ben3. rész
1092DelphiTIBTable komponens4. rész
1102DelphiTIBTransaction komponens5. rész
1111DelphiTIBQuery komponens6. rész
1120DelphiTIBStoredProc komponens7. rész
1128DelphiTIBDataSet komponens8. rész
1141DelphiTIBSQL komponens9. rész
1150DelphiTIBSQLMonitor komponens10. rész
1159DelphiTIBUpdateSQL komponens11. rész
1167DelphiIBEvents komponens12. rész
1177DelphiIBDatabaseInfo komponens használata13. rész
1183DelphiTIBConfigService komponens14. rész
1192DelphiTIBSecurityService komponens15. rész
1204DelphiTIBServerProperties komponens16. rész
1213DelphiTIBBackupService komponens17. rész
1222DelphiTIBRestoreService komponens18. rész
1231DelphiTIBValidationService komponens19. rész
1240DelphiTIBStatisticalService komponens20. rész
1249DelphiTIBLogService komponens21. rész
1258DelphiTIBUninstall komponens22. rész
1267DelphiInterBase Express komponenscsomag23. rész


Könyv
Ez a cikk megtalálható ebben a könyvben: Delphi Software Offline 2001 évkönyv 430. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |