Составители:
Рубрика:
111
полученного списка строк нужно удалить все неисправные
менеджеры (они называются "invalid"). Для работы мы
возьмем самый первый доступный менеджер, создав его по
идентификатору, в нашем случае это "memory". Для других
платформ идентификатор может оказаться другим, но так как
менеджер создается только один раз в начале программы и из
списка доступных менеджеров, то на работоспособность
примера это не повлияет. Затем добавляем в менеджер
тестовые контакты
manager->saveContact(&makeContact( "Alice", "Smith",
"+79111234567", QDate(1990, 1, 1)));
Функция makeContact() появилась из-за того, что создание
нового контакта в Qt Mobility достаточно громоздко.
Например, для добавления телефонного номера в контакт
надо выполнить три шага:
QContactPhoneNumber phonenumber;
phonenumber.setNumber(phone);
contact.saveDetail(&phonenumber);
Для осуществления выборки в Qt Mobility следует
использовать фильтры на основе QContactFilter. Конечно, никто
не может запретить программисту извлечь все контакты и
отфильтровать их самостоятельно, но эта процедура может
оказаться очень неэффективной. Для нашей цели наиболее
подходит фильтр QContactDetailRangeFilter, который выбирает
значения в заданном интервале. Перед использованием надо
указать поле, в нашем случае дату рождения:
filter.setDetailDefinitionName(
QContactBirthday::DefinitionName,
QContactBirthday::FieldBirthday);
а также интервал возрастов:
filter.setRange(QDate::currentDate().addYears(-till),
QDate::currentDate().addYears(-from));
Обратите внимание, что в контакте хранится не возраст,
который меняется со временем, а дата рождения, которая
постоянна, поэтому для настройки фильтра мы вычисляем
Страницы
- « первая
- ‹ предыдущая
- …
- 109
- 110
- 111
- 112
- 113
- …
- следующая ›
- последняя »
