⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 settingexamplesettingsdata.cpp

📁 基于 symbian OS的屏幕设置经典程序,很不错,欢迎下载学习
💻 CPP
字号:
/*
 * ============================================================================
 *  Name     : CSettingsData from SettingExampleSettingData 
 *  Part of  : SettingExample
 *  Created  : 29/05/2006 by Forum Nokia
 *  Version  : 2.0
 *  Copyright: Forum Nokia
 * ============================================================================
 */

#include "SettingExampleSettingsData.h"
#include <S32STRM.H> // Streams

// granularity for growing CheckBox list item array
// within CSettingsData object only.
const int KCheckBoxDataListGranularity = 3;


CSettingsData *CSettingsData::NewL()
	{
	CSettingsData *self = CSettingsData::NewLC();
	CleanupStack::Pop(self);
	return self;
	}

CSettingsData *CSettingsData::NewLC()
	{
	CSettingsData *self = new (ELeave) CSettingsData();
	CleanupStack::PushL(self);

	self->ConstructL();

	return self;
	}

CSettingsData::~CSettingsData()
	{
	// clear all elements out of the array
	iCheckboxArray.Reset();
	}

CSettingsData::CSettingsData() :
	iVolume(3),
	iCheckboxArray(KCheckBoxDataListGranularity)
	{
	// initialise local data
	iTime.HomeTime();
	iDate.HomeTime();
	}


void CSettingsData::ConstructL() 
    {
	iCheckboxArray.AppendL(0);
	iCheckboxArray.AppendL(1);
	iCheckboxArray.AppendL(0);
    }

void CSettingsData::LoadL(RReadStream& aStream)
    {
    aStream >> iText;
    aStream >> iSecretText;
    aStream >> iNumericText;
    iEnumeration = aStream.ReadInt32L();
    iVolume = aStream.ReadInt32L();
    iSlider = aStream.ReadInt32L();
    iBinary = aStream.ReadInt16L();
    iIpAddress.SetAddress(aStream.ReadUint32L());
    TInt64 time;
    aStream >> time;
    iDate = TTime(time);
    aStream >> time;
    iTime = TTime(time);
    
    TInt checkboxArrayCount = aStream.ReadInt32L();
    for (TInt i = 0; i < checkboxArrayCount; i++)
        {
        iCheckboxArray[i] = aStream.ReadInt32L();
        }
    }
    
void CSettingsData::SaveL(RWriteStream& aStream) const
    {
    aStream << iText;
    aStream << iSecretText;
    aStream << iNumericText;
    aStream.WriteInt32L(iEnumeration);
    aStream.WriteInt32L(iVolume);
    aStream.WriteInt32L(iSlider);
    aStream.WriteInt16L(iBinary);
    aStream.WriteUint32L(iIpAddress.Address());
    aStream << iDate.Int64();
    aStream << iTime.Int64();
    
    TInt checkboxArrayCount = iCheckboxArray.Count();
    aStream.WriteInt32L(checkboxArrayCount);
    for (TInt i = 0; i < checkboxArrayCount; i++)
        {
        aStream.WriteInt32L(iCheckboxArray.At(i));
        }
    }
//EOF

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -