Delphi - объектно-ориентированный язык программирования, разработанный компанией Borland в 1995 году. Он основан на языке программирования Pascal, но имеет более расширенные возможности и добавлены новые функции.
Delphi является интегрированной средой разработки (IDE), которая позволяет разрабатывать программное обеспечение для различных платформ, включая Windows, macOS, Android и iOS. Delphi достигает многоплатформенности с помощью...
usesComObj, Variants, SysUtils; type
TContact = record
LastName: string
; FirstName : string
; Company : string
; // ### Further properties. See MSDN end
; //------------------------------------------------------------------------------ {:Add outlook contact @param ContactFolderPath The contact path. E.g.: '' for default contact folder, 'SubFolderSub2Test' for subfolders @param Contact The contact informations. @author 19.09.2003 Michael Klemm} //------------------------------------------------------------------------------ procedure
OutlookAddContact(ContactFolderPath : string
; Contact : TContact); const
olFolderContacts = $0000000A; var
Outlook : OleVariant; NameSpace : OleVariant; ContactsRoot : OleVariant; ContactsFolder : OleVariant; OutlookContact : OleVariant; SubFolderName : string
; Position : integer; Found : boolean; Counter : integer; TestContactFolder : OleVariant; begin
// Connect to outlook Outlook := CreateOleObject('Outlook.Application'); // Get name space NameSpace := Outlook.GetNameSpace('MAPI'); // Get root contacts folder ContactsRoot := NameSpace.GetDefaultFolder(olFolderContacts); // Iterate to subfolder ContactsFolder := ContactsRoot; while
ContactFolderPath <> '' do
begin
// Extract next subfolder Position := Pos('', ContactFolderPath); if
Position > 0 then
begin
SubFolderName := Copy(ContactFolderPath, 1, Position - 1); ContactFolderPath := Copy(ContactFolderPath, Position + 1, Length(ContactFolderPath)); end
else
begin
SubFolderName := ContactFolderPath; ContactFolderPath := ''; end
; if
SubFolderName = '' then
Break; // Search subfolder Found := False; for
Counter := 1 to
ContactsFolder.Folders.Count do
begin
TestContactFolder := ContactsRoot.Folders.Item(Counter); if
LowerCase(TestContactFolder.Name) = LowerCase(SubFolderName) then
begin
ContactsFolder := TestContactFolder; Found := True; Break; end
; end
; // If not found create if
not
Found then
ContactsFolder := ContactsFolder.Folders.Add(SubFolderName); end
; // Create contact item OutlookContact := ContactsFolder.Items.Add; // Fill contact information OutlookContact.FirstName := Contact.FirstName; OutlookContact.LastName := Contact.LastName; OutlookContact.CompanyName := Contact.Company; // ### Further properties // Save contact OutlookContact.Save; // Disconnect from outlook Outlook := Unassigned; end
;