Copyright © 2025 IMIBO. Privacy Statement
Request # 23
How to get and show the contact phones?
This example shows how you can get most of contact phones as:
PR_ASSISTANT_TELEPHONE_NUMBER
PR_BEEPER_TELEPHONE_NUMBER
PR_BUSINESS_TELEPHONE_NUMBER
PR_BUSINESS_FAX_NUMBER
etc..
Code snip:
procedure TfrmMain.GetPhones(Node: TTreeNode); var MAPIFolder: IMAPIFolder; PhoneHeadList: TPhoneHeadList; iCount, ListSize: Integer; begin PhoneHeadList := nil; MAPIFolder := GetMAPIFolder(MAPISession, PFolderHead(Node.Data).ID); if not Assigned(MAPIFolder) then Exit; PhoneHeadList := GetPhoneList(MAPIFolder); try ListSize := Length(PhoneHeadList); if ListSize < 1 then Exit; for iCount := 0 to ListSize - 1 do begin ClientDataSet.Append; {$IF NOT DEFINED(DELPHI2009)} SetAsBytes(TBinaryField(ClientDataSet.FieldByName('EntryID')), PhoneHeadList[iCount].ID); {$ELSE} ClientDataSet.FieldByName('EntryID').AsBytes := PhoneHeadList[iCount].ID; {$IFEND} ClientDataSet.FieldByName('DisplayName').AsString := PhoneHeadList[iCount].DisplayName; ClientDataSet.FieldByName('Assistant').AsString := PhoneHeadList[iCount].ASSISTANT_TELEPHONE_NUMBER; ClientDataSet.FieldByName('Pager').AsString := PhoneHeadList[iCount].BEEPER_TELEPHONE_NUMBER; ClientDataSet.FieldByName('Business').AsString := PhoneHeadList[iCount].BUSINESS_TELEPHONE_NUMBER; ClientDataSet.FieldByName('Business2').AsString := PhoneHeadList[iCount].BUSINESS2_TELEPHONE_NUMBER; ClientDataSet.FieldByName('BusinessFax').AsString := PhoneHeadList[iCount].BUSINESS_FAX_NUMBER; ClientDataSet.FieldByName('Callback').AsString := PhoneHeadList[iCount].CALLBACK_TELEPHONE_NUMBER; ClientDataSet.FieldByName('Car').AsString := PhoneHeadList[iCount].CAR_TELEPHONE_NUMBER; ClientDataSet.FieldByName('Mobile').AsString := PhoneHeadList[iCount].CELLULAR_TELEPHONE_NUMBER; ClientDataSet.FieldByName('Company').AsString := PhoneHeadList[iCount].COMPANY_MAIN_PHONE_NUMBER; ClientDataSet.FieldByName('Home').AsString := PhoneHeadList[iCount].HOME_TELEPHONE_NUMBER; ClientDataSet.FieldByName('Home2').AsString := PhoneHeadList[iCount].HOME2_TELEPHONE_NUMBER; ClientDataSet.FieldByName('HomeFax').AsString := PhoneHeadList[iCount].HOME_FAX_NUMBER; ClientDataSet.FieldByName('ISDN').AsString := PhoneHeadList[iCount].ISDN_NUMBER; ClientDataSet.FieldByName('Other').AsString := PhoneHeadList[iCount].OTHER_TELEPHONE_NUMBER; ClientDataSet.FieldByName('PrimaryFax').AsString := PhoneHeadList[iCount].PRIMARY_FAX_NUMBER; ClientDataSet.FieldByName('Primary').AsString := PhoneHeadList[iCount].PRIMARY_TELEPHONE_NUMBER; ClientDataSet.FieldByName('Radio').AsString := PhoneHeadList[iCount].RADIO_TELEPHONE_NUMBER; ClientDataSet.FieldByName('Telex').AsString := PhoneHeadList[iCount].TELEX_NUMBER; ClientDataSet.FieldByName('TTYTDD').AsString := PhoneHeadList[iCount].TTYTDD_PHONE_NUMBER; // ClientDataSet.Post; end; finally PhoneHeadList := nil; end; end;
Download Request #23 as Compiled Application
Download Project (DELPHI 10.4) ZIP file
Source Code: In package