亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? contactviews.cpp

?? Symbain手機應用程序源代碼
?? CPP
字號:
// ContactViews.cpp
//
// Copyright (c) 2005 Symbian Software Ltd.  All rights reserved.
//
//
//
///////////////////////////////////////////////////////////////////////
//
// Find and filtered views 
// -----------------------
//
// This example demonstrates CContactFindView and CContactFilteredView
//
//__________________________________________________________________
//
// This code creates a contact database, "exampleViews.cdb", adds an item 
// to it containing four fields, then uses a find view and filtered view 
// to search/filter the database. The contents of all matching items are 
// printed to the console.
////////////////////////////////////////////////////////////////////////


#include <e32base.h>
#include <e32cons.h>
#include <cntdb.h>
#include <cntitem.h>
#include <cntfield.h>
#include <cntfldst.h>
// User include
#include "ContactViews.h"

// stores the total number of views created in the example
const TInt KTotalViews = 3;
 
LOCAL_D CConsoleBase* console;
// name of contact database to be created
_LIT(KContactsFilename,"c:exampleViews.cdb");
// pointer to the database
LOCAL_C CContactDatabase* db;

CExampleViews* CExampleViews::NewL(CContactDatabase& aDb)
	{
	CExampleViews* self=new(ELeave) CExampleViews(aDb);
	CleanupStack::PushL(self);
	self->ConstructL();
	CleanupStack::Pop();
	return self;
	}

CExampleViews::~CExampleViews()
	{
	if (iFilterView!=NULL) 
		{
		iFilterView->Close(*this);	
		}
	if (iFindView!=NULL) 
		{
		iFindView->Close(*this);	
		}
	if (iLocalView!=NULL)
		{
		iLocalView->Close(*this);	
		}
	iSortOrder.Close();
	}
	

CExampleViews::CExampleViews(CContactDatabase& aDb)
:	CActive(EPriorityStandard),	iDb(aDb) {}

void CExampleViews::ConstructL()
	{
	// iSortOrder defines the fields that are used in the view
	iSortOrder.AppendL(KUidContactFieldGivenName);
	iSortOrder.AppendL(KUidContactFieldFamilyName);
	iSortOrder.AppendL(KUidContactFieldPhoneNumber);
	iSortOrder.AppendL(KUidContactFieldEMail);
	CActiveScheduler::Add(this);
	}

// Handles the active object抯 request completion event.
void CExampleViews::RunL()
	{
	iLocalView=CContactLocalView::NewL(*this,iDb,iSortOrder,EContactsOnly);
	// creates the search string for the find view
	CPtrCArray* desArray =new (ELeave) CPtrCArray(1);
	_LIT(KSearchString,"Smith");
    TPtrC searchString(KSearchString);
	desArray->AppendL(searchString);
	// Creates a find view based on the local view
	iFindView = CContactFindView::NewL(iDb, *iLocalView,*this, desArray);
	desArray->Reset();
    delete desArray;
    // Creates a filtered view based on the local view
    // Filters out items without a telephone number
	iFilterView = CContactFilteredView::NewL(*this, iDb, *iLocalView, CContactDatabase::EPhonable);
	}

// invoked by the active object mechanism
void CExampleViews::HandleContactViewEvent(const CContactViewBase& aView,const TContactViewEvent& aEvent)
 	{
	if (aEvent.iEventType==TContactViewEvent::EReady)
		{
		iNumViewsCreated++;
		if (&aView == iFindView)
		// find view is ready to be used
			{
			_LIT(KConsoleMessage,"Contents of find view:\n");
			console->Printf(KConsoleMessage);			
			for (TInt count = 0; count < iFindView->CountL(); count++)
				{
				// prints out contents of all fields for all items in the find view
				_LIT(KFieldSeparator,",");
				HBufC* text = iFindView->AllFieldsLC(count,KFieldSeparator);
				_LIT(KConsoleMessage2,"%S\n");
				console->Printf(KConsoleMessage2,text);
				CleanupStack::PopAndDestroy(); // text
				}
			}
		else if (&aView == iFilterView)
		// filter view is ready	
			{
			_LIT(KConsoleMessage,"Contents of filter view:\n");
			console->Printf(KConsoleMessage);
			for (TInt count = 0; count < iFilterView->CountL(); count++)
				{
				// prints out contents of all fields for all items in the filter view
				_LIT(KFieldSeparator,",");
				HBufC* text = iFilterView->AllFieldsLC(count,KFieldSeparator);
				_LIT(KConsoleMessage2,"%S\n");
				console->Printf(KConsoleMessage2,text);
				CleanupStack::PopAndDestroy(); // text
				}
			}
		// if all three views have been created, stop the active scheduler
		if (iNumViewsCreated == KTotalViews)
			{
			CActiveScheduler::Stop();
			}
		}
	}
	
	
void CExampleViews::DoCancel()
	{
	//empty implementation.
	}

void CExampleViews::Start()
	{
	TRequestStatus *pS=&iStatus;
	User::RequestComplete(pS,KErrNone);
	SetActive();
	}


LOCAL_C void CreateExampleViewL()
// Create the example views
	{
	CExampleViews *exampleViews = CExampleViews::NewL(*db);
	CleanupStack::PushL(exampleViews);
	exampleViews->Start();
	CActiveScheduler::Start();
	CleanupStack::PopAndDestroy(exampleViews);
	// close and cleanup database
	delete db;
	db=NULL;
	}

// Adds a contact item to the contact database. 
LOCAL_C void AddEntryL()
	{
	_LIT(KForename,"John"); 
	_LIT(KSurname,"Smith"); 
	_LIT(KPhoneNumber,"+441617779700"); 
	_LIT(KEmailAddress,"john.smith@symbian.com"); 
	
	// Create a  contact card to contain the data
	CContactCard* newCard = CContactCard::NewLC();
    
	// Create the firstName field and add the data to it
	CContactItemField* firstName = CContactItemField::NewLC(KStorageTypeText, KUidContactFieldGivenName);
	firstName->TextStorage()->SetTextL(KForename);
	newCard->AddFieldL(*firstName);
  	CleanupStack::Pop(firstName);
  	
	// Create the lastName field and add the data to it
   	CContactItemField* lastName= CContactItemField::NewLC(KStorageTypeText, KUidContactFieldFamilyName);
  	lastName ->TextStorage()->SetTextL(KSurname);
  	newCard->AddFieldL(*lastName);
  	CleanupStack::Pop(lastName);
  	
	// Create the emailAddress field and add the data to it
	CContactItemField* emailAddr = CContactItemField::NewLC(KStorageTypeText, KUidContactFieldEMail);
	emailAddr->SetMapping(KUidContactFieldVCardMapEMAILINTERNET);
  	emailAddr ->TextStorage()->SetTextL(KEmailAddress);
  	newCard->AddFieldL(*emailAddr);
  	CleanupStack::Pop(emailAddr);
    	
	// Create the phoneNo field and add the data to it
  	CContactItemField* phoneNumber = CContactItemField::NewLC(KStorageTypeText, KUidContactFieldPhoneNumber);
	phoneNumber->SetMapping(KUidContactFieldVCardMapTEL);
	phoneNumber ->TextStorage()->SetTextL(KPhoneNumber);
	newCard->AddFieldL(*phoneNumber);
  	CleanupStack::Pop(phoneNumber);
	
	// Add newCard to the database
    const TContactItemId contactId = db->AddNewContactL(*newCard);
  	CleanupStack::PopAndDestroy(newCard);
	}


// Creates the contact database and opens it
LOCAL_C void CreateDatabaseL()
	{
	TRAPD(err,db=CContactDatabase::ReplaceL(KContactsFilename));
         
	// Checks if the database was created successfully
	// if not, exits with an error message.
	
	if(err!=KErrNone)
		{
		_LIT(KConsoleMessage,"Not able to create the database"); 
		// Failed to create the database
		console->Printf(KConsoleMessage);
		User::Leave(err);
		}
	else
		{
		_LIT(KConsoleMessage,"Successfully created the database\n"); 
		console->Printf(KConsoleMessage);
		// Add a contact entry to the database
		AddEntryL();
		
		}
	}


LOCAL_C void DoExampleL()
	{
	_LIT(KTxtConsoleTitle,"Contact views example");
	// Create a console
	console = Console::NewL(KTxtConsoleTitle,TSize(KConsFullScreen,KConsFullScreen));
	CleanupStack::PushL(console);
	
	// Create the database 
   	CreateDatabaseL();
   	
   	// Create the views
	CreateExampleViewL();
   	    
	// wait for user to press a key before destroying console
 	_LIT(KMsgPressAnyKey,"Press any key to continue\n\n");
	console->Printf(KMsgPressAnyKey);
 	console->Getch();
	CleanupStack::PopAndDestroy(console);
 	}

// Standard entry point function
GLDEF_C TInt E32Main()
	{
	__UHEAP_MARK;
	// Active scheduler required as this is a console app
	CActiveScheduler* scheduler=new CActiveScheduler;

	// If active scheduler has been created, install it.
	if (scheduler)
		{
		CActiveScheduler::Install(scheduler); 
		// Cleanup stack needed
		CTrapCleanup* cleanup=CTrapCleanup::New();
		if (cleanup)
			{
            // Call the function DoExampleL()
		    TRAP_IGNORE(DoExampleL());
			delete cleanup;
			}
		delete scheduler;
		}

	__UHEAP_MARKEND;
	return KErrNone;
	}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品中文字幕在线观看| 一区二区欧美视频| 欧美在线视频你懂得| 久久机这里只有精品| 樱花草国产18久久久久| 久久午夜免费电影| 欧美日韩国产a| 99久久久精品| 精品一区二区三区久久| 亚洲自拍偷拍麻豆| 国产精品久久久久久亚洲伦| 欧美α欧美αv大片| 欧美三级日韩在线| 成人av资源在线| 国产一区二区福利| 免费观看30秒视频久久| 亚洲天堂a在线| 日本一二三四高清不卡| 久久久久久久久久看片| 欧美xxxxx牲另类人与| 色老汉av一区二区三区| jiyouzz国产精品久久| 韩国成人精品a∨在线观看| 日韩av一区二区三区| 亚洲无线码一区二区三区| 亚洲免费观看在线视频| 国产精品成人免费在线| 中日韩av电影| 国产偷国产偷精品高清尤物| 欧美精品一区二区三区蜜臀| 日韩免费视频线观看| 69成人精品免费视频| 欧美日韩午夜精品| 在线免费观看视频一区| 一本色道久久综合亚洲91| 不卡视频一二三四| 成人动漫av在线| 成人性视频免费网站| 国产成人av自拍| 国产成人免费在线观看不卡| 国产伦精品一区二区三区在线观看| 久久99精品久久久久久久久久久久| 日本成人中文字幕在线视频| 日韩精彩视频在线观看| 日韩av不卡一区二区| 蜜臀久久99精品久久久久久9 | 欧美嫩在线观看| 欧美体内she精视频| 91久久精品一区二区| 欧美羞羞免费网站| 欧美精品日韩精品| 欧美一级搡bbbb搡bbbb| 日韩一区二区三区四区五区六区| 欧美一级艳片视频免费观看| 日韩精品中文字幕在线不卡尤物| 欧美成人一区二区三区片免费 | 色综合久久天天综合网| 欧洲精品在线观看| 欧美军同video69gay| 欧美一区欧美二区| 337p日本欧洲亚洲大胆精品| 久久亚洲综合色一区二区三区 | 国产日韩欧美一区二区三区乱码| 国产女同性恋一区二区| 一区二区在线免费| 日韩av二区在线播放| 国产成人在线电影| 在线观看日韩一区| 日韩西西人体444www| 欧美国产日韩a欧美在线观看 | 中文字幕综合网| 亚洲国产成人av好男人在线观看| 精品综合久久久久久8888| www.亚洲色图| 欧美久久高跟鞋激| 久久精品人人做| 亚洲成人自拍偷拍| 国产乱码精品一区二区三区av | 日韩和的一区二区| 国产在线播放一区三区四| 成人不卡免费av| 欧美一区二区三区视频免费 | 欧美日韩久久久久久| 久久久久国产免费免费 | 国产91在线观看丝袜| 在线观看免费成人| 久久久久国产精品麻豆ai换脸| 亚洲蜜臀av乱码久久精品| 日本麻豆一区二区三区视频| 波多野结衣亚洲| 日韩欧美一区二区久久婷婷| 国产精品久久久久久久久果冻传媒 | 日韩一区在线看| 天天爽夜夜爽夜夜爽精品视频| 国内精品写真在线观看| 在线观看av不卡| 日本一区二区动态图| 美女在线观看视频一区二区| 99精品国产一区二区三区不卡| 91精品国产综合久久婷婷香蕉| 国产精品麻豆网站| 久久不见久久见免费视频1 | www国产精品av| 日韩国产一区二| 91成人在线精品| 中文字幕免费在线观看视频一区| 亚洲国产精品一区二区www在线| 懂色av中文一区二区三区| 欧美一区二区三区视频免费| 亚洲一区二区三区四区五区黄| 成人妖精视频yjsp地址| 日韩美女天天操| 午夜欧美电影在线观看| 日本韩国欧美一区| 国产精品不卡视频| 国产精品一区专区| 日韩美女主播在线视频一区二区三区| 一级女性全黄久久生活片免费| 成人在线视频一区| 久久午夜色播影院免费高清| 久久精品99国产精品日本| 欧美一区二区三区免费观看视频| 亚洲高清在线精品| 在线日韩国产精品| 一区二区日韩电影| 91福利国产成人精品照片| 成人欧美一区二区三区黑人麻豆| 国产盗摄女厕一区二区三区| 精品成人一区二区| 激情小说欧美图片| 久久天天做天天爱综合色| 精品在线亚洲视频| 精品99久久久久久| 国产精品亚洲人在线观看| 久久蜜桃av一区精品变态类天堂 | 欧美伦理电影网| 奇米精品一区二区三区在线观看| 欧美精品aⅴ在线视频| 天堂资源在线中文精品| 在线成人av网站| 青青草视频一区| 欧美成人精精品一区二区频| 国内成人精品2018免费看| 久久久91精品国产一区二区精品| 国产在线精品一区二区不卡了| 26uuu亚洲婷婷狠狠天堂| 国内精品嫩模私拍在线| 中文字幕乱码亚洲精品一区| av中文一区二区三区| 亚洲免费色视频| 欧美色欧美亚洲另类二区| 免费久久99精品国产| 精品国产不卡一区二区三区| 国产一区二区三区高清播放| 国产日韩欧美a| 91麻豆.com| 日本va欧美va精品发布| 久久精品一二三| 99精品视频在线免费观看| 亚洲影院在线观看| 欧美一级片免费看| 国产一区二区精品久久99| 中文字幕亚洲一区二区av在线 | 欧美一区二区三区色| 国产精品小仙女| 亚洲精品免费在线播放| 在线成人午夜影院| 国产麻豆精品久久一二三| 亚洲婷婷综合色高清在线| 欧美日本一区二区| 国产麻豆日韩欧美久久| 亚洲精品成人精品456| 欧美一区二区三区在线| 国产福利一区在线| 亚洲永久精品大片| 久久你懂得1024| 在线观看区一区二| 国产很黄免费观看久久| 亚洲综合丁香婷婷六月香| 亚洲精品在线三区| 在线视频综合导航| 国产在线观看免费一区| 亚洲一区免费观看| 久久九九久久九九| 欧美色图免费看| 国产91富婆露脸刺激对白| 亚洲国产精品人人做人人爽| 久久亚洲一区二区三区明星换脸| 在线视频国内自拍亚洲视频| 国产高清精品在线| 日韩精品久久久久久| 亚洲视频在线一区观看| 欧美精品一区二区三区蜜桃视频| 一本一道久久a久久精品综合蜜臀| 久久99久久精品| 亚洲国产成人91porn| 日韩一区日韩二区| 国产亚洲1区2区3区| 欧美精品 国产精品| 色婷婷久久一区二区三区麻豆|