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

📄 settings.cpp

📁 RGA: Biowaste Game Example This C++ application demonstrates how to create a 2D mobile game for S60
💻 CPP
字号:

#include "Settings.h"
#include <f32file.h>


CSettings::CSettings()
	{
	if (iFilename)
		{
		delete iFilename;
		iFilename = NULL;
		}
	}
	
CSettings::~CSettings()
	{

	}


CSettings* CSettings::NewL(const TDesC& aFilename)
	{
	CSettings* settings = new (ELeave)CSettings;
	CleanupStack::PushL(settings);
	settings->ConstructL(aFilename);
	CleanupStack::Pop();
	return settings;
	}


void CSettings::ConstructL(const TDesC& aFilename)
	{
	iFilename = HBufC::NewL(aFilename.Length());
	*iFilename = aFilename;
	
	iVolume = 50;
	iGraphicsDetail = 3;
	}


TInt CSettings::Load()
	{
	TInt error;
	RFs fs;
	RFile file;
	
	// connect to file server
	error = fs.Connect();
	if (error != KErrNone)
		{
		return error;
		}
	
	// open file for reading
	error = file.Open(fs, *iFilename, EFileRead);
	if (error != KErrNone)
		{
		fs.Close();
		return error;
		}
	
	// load settings from the file
	const TInt size = sizeof(iVolume) + sizeof(iGraphicsDetail);
	TPtr8 ptr((TUint8*)&iVolume, size, size);
	file.Read(ptr);

	file.Close();
	fs.Close();
	return KErrNone;
	}


TInt CSettings::Save() const
	{
	TInt error;
	RFs fs;
	RFile file;
	
	// connect to file server
	error = fs.Connect();
	if (error != KErrNone)
		{
		return error;
		}
	
	// open file for writing
	error = file.Open(fs, *iFilename, EFileWrite);
	if (error == KErrNotFound)
		{
		// file is not found, create it
		error = file.Create(fs, *iFilename, EFileWrite);
		}
	if (error != KErrNone)
		{
		// failed to open or create file
		fs.Close();
		return error;
		}
	
	const TInt size = sizeof(iVolume) + sizeof(iGraphicsDetail);
	TPtr8 ptr((TUint8*)&iVolume, size, size);
	file.Write(ptr);

	file.Close();
	fs.Close();
	return KErrNone;
	}


⌨️ 快捷键说明

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