1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76
|
///////////////////////////////////////////////////////////////////////////
Procedure TFormExportOutlook.CreeRendezVous(TempSujet, TempMessage, TempDate, TempHeureDebut, TempHeureFin: String;Sender: TObject);
Var
EspaceDeNom: NameSpace;
UnContact : ContactItem;
Filter :Olevariant;
DossierRDV : MAPIFolder;
AnciensContact : MAPIFolder;
RDV : AppointmentItem;
RDV2: Variant;
I, j : Integer;
Outlookapplication1: TOutlookapplication;
TempRDV: String;
Begin
Outlookapplication1 := TOutlookapplication.Create(NIL);
Outlookapplication1.Connect;
EspaceDeNom := Outlookapplication1.GetNamespace('MAPI');
// Ici on utilise le profil par défaut
EspaceDeNom.Logon('', '', False, False);
DossierRDV := EspaceDeNom.GetDefaultFolder(olFolderCalendar);
If RDVRecherches = FALSE Then
Begin
For j := 1 To DossierRDV.Items.Count Do
Begin
RDVRecherches := TRUE;
RDV2 := DossierRDV.Items.Item(j);
TempRDV := String(RDV2.Start) + ' ' + String(RDV2.End)+ ' ' + String(RDV2.Subject);
HachRDVExist.Values[TempRDV] := 'oui';
End;
End;
If not VarIsNull(DossierRDV) And Not VarIsEmpty(DossierRDV) Then
Begin
//Ajoute un Rendez-vous
RDV := DossierRDV.Items.Add(olAppointmentItem) as AppointmentItem;
With RDV Do
Begin
Subject := TempSujet;
Body := TempMessage;
Location := '';
Start := StrToDateTime(TempDate + ' ' + TempHeureDebut);
End_ := StrToDateTime(TempDate + ' ' + TempHeureFin);
AllDayEvent := FALSE;
//Positionne l'alarme
If CbAlerte.Checked = TRUE Then
ReminderMinutesBeforeStart := StrToInt(CbValeurAlerte.Items.strings[CbChoixAlerte.ItemIndex])
Else
ReminderMinutesBeforeStart := 20;
ReminderSet := CbAlerte.Checked;
Importance := olImportanceNormal;
//Destinataires
//Recipients.Add('person1@domain.com');
//Recipients.Add('person2@domain.com');
// Ajoute un ou plusieur contacts
//Links.Add(UnContact);
// Links.Add(Contact n);
TempRDV := DateTimeToStr(RDV.Start) + ' ' + DateTimeToStr(RDV.End_)+ ' ' + RDV.Subject;
If HachRDVExist.Values[TempRDV] <> 'oui' Then
Save;
//Display(True); // Pour afficher le message
End;
End;
FreeAndNil(Outlookapplication1);
End;
/////////////////////////////////////////////////////////////////////////// |
Partager