C++ Builder XE10 开发安卓app如何加载和创建地址簿Address Book

    TAddressBookSource *fCurrentSource;

 

// Add a newly created contact to Address Book
void __fastcall TForm1::ActionAddContactExecute(TObject *Sender) {
    TAddressBookContact *Contact;
    TContactEmails *eMails;
    Contact = AddressBook1->CreateContact(fCurrentSource);

    __try {
        try {

            Contact->FirstName = edtFirstName->Text;
            Contact->LastName = edtLastName->Text;
            // Add a photo if selected
            if (!Image1->Bitmap->Size.IsZero()) {
                TBitmapSurface *photo = new TBitmapSurface();
                __try {
                    photo->Assign(Image1->Bitmap);
                    Contact->Photo = photo;
                    Image1->Bitmap->SetSize(0, 0);
                }
                __finally {
                    photo->Free();
                }
            }
            // Add the work mail
            eMails = new TContactEmails();
            __try {
                eMails->AddEmail(TContactEmail::TLabelKind::Work,
                    edtWorkMail->Text);
                Contact->EMails = eMails;
            }
            __finally {
                eMails->Free();
            }
            AddressBook1->SaveContact(Contact);
        }
        catch (const EAddressBookException& E) {
            ShowMessage("Cannot create the contact. " + E.Message);
        }
        // Add the contact to the selected group, if any
        try {
            if ((ComboBox1->ItemIndex > -1) && (ComboBox1->ItemIndex <
                fGroups->Count)) {
                AddressBook1->AddContactIntoGroup
                    (fGroups->Items[ComboBox1->ItemIndex], Contact);
            }
        }
        catch (const EAddressBookException& E) {
            ShowMessage("Cannot add the created contact to the group . " +
                E.Message);
        }

        ListViewContacts->BeginUpdate();
        AddListViewItem(Contact);
        TabControl1->ActiveTab = TabItemContacts;
    }
    __finally {

        Contact->Free();
        ListViewContacts->EndUpdate();
        ClearAddContactForm();

    }
}

// Fill the Combo box with existed group names
void __fastcall TForm1::FillGroupList(TAddressBookSource *Source) {
    int i;
    fGroups = new TAddressBookGroups();
    AddressBook1->AllGroups(Source, fGroups);
    __try {
        ComboBox1->BeginUpdate();
        ComboBox2->BeginUpdate();
        ComboBox1->Clear();
        ComboBox2->Clear();
        for (i = 0; i < fGroups->Count; i++) {
            ComboBox1->Items->Add(fGroups->Items[i]->Name);
            ComboBox2->Items->Add(fGroups->Items[i]->Name);
        }
    }
    __finally {
        ComboBox1->Visible = (fGroups->Count != 0);
        ComboBox2->Visible = ComboBox1->Visible;
        btnRemoveGroup->Visible = ComboBox1->Visible;
        ComboBox2->EndUpdate();
        ComboBox1->EndUpdate();
    }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lzksword

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值