📄 settings.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 + -