本文整理汇总了C++中TFileText::Seek方法的典型用法代码示例。如果您正苦于以下问题:C++ TFileText::Seek方法的具体用法?C++ TFileText::Seek怎么用?C++ TFileText::Seek使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TFileText
的用法示例。
在下文中一共展示了TFileText::Seek方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ReadHttpTypesFileL
void CHttpTypes::ReadHttpTypesFileL(const TDesC& aFileName)
{
RFs fs;
#if EPOC_SDK >= 0x06000000
User::LeaveIfError(fs.Connect());
iHttpTypesArray = new (ELeave) CDesCArrayFlat(HTTP_TYPES_ARRAY_GRANURALITY);
HBufC *config = NULL;
// Need to TRAP leaves, because must close the fs (right).
// Thus, no point in using the CleanupStack for config either.
//
TRAPD(err, config = UnicodeLoad::LoadL(fs, aFileName));
if (err == KErrNone && config != NULL)
{
TLineBuffer buffer(config->Des());
while (!buffer.EOB())
{
TPtrC line = buffer.ReadLine();
if (line.Length() > 0)
{
TRAP(err, ParseTypeLineL(line));
if (err != KErrNone)
break;
}
}
}
delete config;
User::LeaveIfError(err);
#else
RFile cfg;
TFileText cfgtxt;
TBuf<256> buffer;
User::LeaveIfError(fs.Connect());
User::LeaveIfError(cfg.Open(fs,aFileName,EFileStreamText));
iHttpTypesArray = new (ELeave) CDesCArrayFlat(HTTP_TYPES_ARRAY_GRANURALITY);
cfgtxt.Set(cfg);
User::LeaveIfError(cfgtxt.Seek(ESeekStart));
cfgtxt.Read(buffer);
while (buffer.Length() > 0)
{
ParseTypeLineL(buffer);
cfgtxt.Read(buffer);
}
cfg.Close();
#endif
iHttpTypesArray->Sort();
fs.Close();
}
示例2: ShowL
// -----------------------------------------------------------------------------
//
// -----------------------------------------------------------------------------
//
void CPixelMetricsMapperViewContainer::ShowL( const TDesC& aString, TBool& aLast, const TBool& aFileOutput )
{
MDesCArray* itemList = iListbox->Model()->ItemTextArray();
CDesCArray* itemArray = ( CDesCArray* ) itemList;
itemArray->AppendL( aString );
iListbox->HandleItemAdditionL();
iListbox->SetCurrentItemIndex( iCount );
iCount++;
if ( aLast )
{
if (aFileOutput)
{
RFile file;
RFs& fs = CEikonEnv::Static()->FsSession();
TFileName fileName =_L("Layout_");
TRect screenRect;
AknLayoutUtils::LayoutMetricsRect(
AknLayoutUtils::EApplicationWindow,
screenRect );
// Add screen dimensions
TInt height = screenRect.Height();
TInt width = screenRect.Width();
fileName.AppendNum(height);
fileName.Append('_');
fileName.AppendNum(width);
fileName.Append(_L(".txt"));
TInt err=file.Open(fs,fileName,EFileStreamText|EFileWrite|EFileShareAny);
if (err==KErrNotFound) // file does not exist - create it
err=file.Create(fs,fileName,EFileStreamText|EFileWrite|EFileShareAny);
else
file.SetSize(0); //sweep the file
TFileText textFile;
textFile.Set(file);
err = textFile.Seek(ESeekStart);
if (err) User::InfoPrint(_L("File corrupted"));
// Finally loop through all the entries:
TInt idx = 0;
for(;idx!=itemList->MdcaCount();idx++)
{
err = textFile.Write(itemList->MdcaPoint(idx));
if (err) User::InfoPrint(_L("File corrupted"));
}
file.Close();
}
DrawNow();
}
}
示例3: ReadConfigFileL
void CWebServerEnv::ReadConfigFileL(const TDesC& aConfigFileName)
//Function which reads and parse the confing file
{
RFs fs;
#if EPOC_SDK >= 0x06000000
User::LeaveIfError(fs.Connect());
HBufC *config = NULL;
// Need to TRAP leaves, because must close the fs (right).
// Thus, no point in using the CleanupStack for config either.
//
TRAPD(err, config = UnicodeLoad::LoadL(fs, aConfigFileName));
if (err == KErrNone && config != NULL)
{
TLineBuffer buffer(config->Des());
while (!buffer.EOB())
{
TPtrC line = buffer.ReadLine();
if (line.Length() > 0)
{
TRAP(err, ParseConfigLineL(fs, line));
if (err != KErrNone)
break;
}
}
}
delete config;
fs.Close();
User::LeaveIfError(err);
#else
RFile cfg;
TFileText cfgtxt;
TBuf<256> buffer;
User::LeaveIfError(fs.Connect());
User::LeaveIfError(cfg.Open(fs,aConfigFileName,EFileStreamText));
cfgtxt.Set(cfg);
User::LeaveIfError(cfgtxt.Seek(ESeekStart));
cfgtxt.Read(buffer);
while (buffer.Length() > 0)
{
ParseConfigLineL(fs,buffer);
cfgtxt.Read(buffer);
}
cfg.Close();
fs.Close();
#endif
CheckAndSetDefaultL();
}
示例4: CreateLayoutNameL
TFileName CPixelMetricsMapperAppUi::CreateLayoutNameL(TFileText& aFileHandle) const
{
aFileHandle.Seek(ESeekStart);
// Layout data is deployed like this:
// first line - height
// second line - width
TFileName lines;
TFileName layoutName;
TInt height = -666;
TInt width = -666;
// Collect name information.
for (TInt i=0; i<6; i++)
{
User::LeaveIfError(aFileHandle.Read(lines));
// Remove pixel metrics name and ":"
lines = lines.Mid(lines.Find(KColon)+1);
// Remove tab
lines = lines.Mid(lines.Find(KTab)+1);
TLex myLexer(lines);
TInt error = KErrNone;
if (i==0) //height is first
{
error = myLexer.Val(height);
}
if (i==1) //width is second
{
error = myLexer.Val(width);
}
User::LeaveIfError(error);
}
// Interpret results and write name to buffer.
if ( (width == 240 && height == 320) ||
(width == 320 && height == 240))
{
layoutName.Append(_L("QVGA "));
}
else if ( (width == 360 && height == 640) ||
(width == 640 && height == 360))
{
layoutName.Append(_L("NHD "));
}
else if ( (width == 480 && height == 640) ||
(width == 640 && height == 480))
{
layoutName.Append(_L("VGA "));
}
else if ( (width == 800 && height == 352) ||
(width == 352 && height == 800))
{
layoutName.Append(_L("E90 "));
}
else if ( (width == 800 && height == 480) ||
(width == 480 && height == 800) ||
(width == 848 && height == 480) ||
(width == 480 && height == 848) ||
(width == 854 && height == 480) ||
(width == 480 && height == 854))
{
layoutName.Append(_L("WVGA "));
}
else if ( (width == 480 && height == 320) ||
(width == 320 && height == 480) ||
(width == 640 && height == 240) ||
(width == 240 && height == 640))
{
layoutName.Append(_L("HVGA "));
}
else
{
layoutName.Append(_L("Unknown "));
layoutName.AppendNum(height);
layoutName.Append(_L("x"));
layoutName.AppendNum(width);
}
if (width > height)
{
layoutName.Append(_L("Landscape"));
}
else
{
layoutName.Append(_L("Portrait"));
}
return layoutName;
}
示例5: CreateHeaderFileL
void CPixelMetricsMapperAppUi::CreateHeaderFileL() const
{
// Open/create resulting file.
RFile file;
HBufC* layoutFile = HBufC::NewLC( KMaxFileName );
*layoutFile = KLayoutSourceFileAndPath;
TFileName fileName = *layoutFile;
CleanupStack::PopAndDestroy(layoutFile);
RFs& fs = CEikonEnv::Static()->FsSession();
TInt error = file.Open(fs,fileName, EFileWrite|EFileShareAny|EFileStreamText );
if (error==KErrNotFound)
{
file.Create(fs,fileName, EFileWrite|EFileShareAny|EFileStreamText);
}
CleanupClosePushL( file );
file.SetSize( 0 );
// Make all writes as from textfile.
TFileText textFile;
textFile.Set( file );
textFile.Seek( ESeekStart );
// Take all layout files from private folder.
CDir* dirList;
User::LeaveIfError(fs.GetDir(
KPixelMetricsDataFiles,
KEntryAttMaskSupported,
ESortByName,
dirList));
TMySmallBuffer bufferLayoutHdr;
TMyBigBuffer bufferPMData;
TInt fileCount = dirList->Count();
for (TInt i=0;i<fileCount;i++)
{
// open sourcefile
RFile sourceFile;
TFileName layoutFile = (*dirList)[i].iName;
User::LeaveIfError( sourceFile.Open(
fs,layoutFile, EFileRead|EFileShareAny|EFileStreamText ));
CleanupClosePushL( sourceFile );
// Make all reads as from textfile.
TFileText textSourceFile;
textSourceFile.Set( sourceFile );
TFileName layoutName = CreateLayoutNameL( textSourceFile );
// rewind - just in case.
textSourceFile.Seek( ESeekStart );
TFileName oneline;
bufferLayoutHdr.Append(KOpenBrace);
bufferPMData.Append(KOpenBrace);
TInt loop = 0;
FOREVER
{
if( textSourceFile.Read(oneline) != KErrNone )
{
break;
}
// Add commas for all but first line
if (loop != 0)
{
if ( loop <= KHeaderValues-1)
{
bufferLayoutHdr.Append(KComma);
}
else
{
if (loop != KHeaderValues)
{
bufferPMData.Append(KComma);
}
}
if (loop==KHeaderValues)
{
bufferLayoutHdr.Append(_L(",QLatin1String(\""));
bufferLayoutHdr.Append(layoutName);
bufferLayoutHdr.Append(_L("\")"));
}
}
// Remove pixel metrics name and ":"
oneline = oneline.Mid(oneline.Find(KColon)+1);
// Remove tab
oneline = oneline.Mid(oneline.Find(KTab)+1);
// remove crap from the end of line
TLex lex(oneline);
TInt nextValue = -666;
User::LeaveIfError( lex.Val(nextValue) );
if ( loop <= KHeaderValues-1)
{
bufferLayoutHdr.AppendNum(nextValue);
}
else
{
if (nextValue == -909)
bufferPMData.Append(_L("ECommonStyleValue"));
else
bufferPMData.AppendNum(nextValue);
}
oneline.Zero();
//.........这里部分代码省略.........
示例6: ParseURIFileL
/**
@SYMTestCaseID UIF-ETUL-0009
@SYMREQ 7736
@SYMTestCaseDesc Test to Parse for URI's, Email Addresses, Phone Numbers and URL's in a file and to verify them
@SYMTestPriority High
@SYMTestStatus Implemented
@SYMTestActions Constructs CTulAddressStringTokenizer object with CTulAddressStringTokenizer::EFindItemSearchMailAddressBin \n
which parses the given string and creates an item array consisting of all the Email addresses\n
API Calls:\n
CTulAddressStringTokenizer::NewL(const TDesC& aText, TInt aSearchCases);\n
CTulAddressStringTokenizer::Item(SFoundItem& aItem); \n
CTulAddressStringTokenizer::NextItem(SFoundItem& aItem); \n
@SYMTestExpectedResults The test checks whether
1. Phone numbers, Email addresses, URL's and URI's parsed by CTulAddressStringTokenizer are the correct ones.
*/
void CT_AddressStringTokenizerStep::ParseURIFileL()
{
INFO_PRINTF1(_L("Test begins"));
__UHEAP_MARK;
//load test case text to string
RFs rfs;
User::LeaveIfError(rfs.Connect());
CleanupClosePushL(rfs);
_LIT(KParesTextFile, "z:\\system\\data\\addressstringtokenizertestappdata.txt");
_LIT(KParesTextFileRef, "z:\\system\\data\\addressstringtokenizertestappdataref.txt");
RFile file;
HBufC* fullBuf = HBufC::NewMaxLC(KFullBufSize);
TPtr fullBufPtr = fullBuf->Des();
fullBufPtr = KNullDesC;
TFileText reader;
TBuf<KReadBufSize> fileBuffer;
if ((file.Open(rfs, KParesTextFile, EFileStreamText|EFileRead|EFileShareAny)) == KErrNone)
{
CleanupClosePushL(file);
// use TFileText for reading file. There is probably better ways to do this tho.
reader.Set(file);
if (reader.Seek(ESeekStart))
{
INFO_PRINTF1(_L("File corrupted"));
User::Leave(KErrGeneral); // not cleaning up properly
}
while (!reader.Read(fileBuffer))
{
fullBufPtr.Append(fileBuffer);
fullBufPtr.Append('\n');
}
CleanupStack::Pop(&file);
file.Close();
}
else
{
INFO_PRINTF1(_L("z:\\system\\data\\addressstringtokenizertestappdata.txt not found"));
User::Leave(KErrNotFound);
}
if (file.Open(rfs, KParesTextFileRef, EFileStreamText|EFileRead|EFileShareAny) == KErrNone)
{
CleanupClosePushL(file);
// use TFileText for reading file. There is probably better way to do this tho.
reader.Set(file);
if (reader.Seek(ESeekStart))
{
INFO_PRINTF1(_L("File corrupted"));
User::Leave(KErrGeneral); // not cleaning up properly
}
}
else
{
INFO_PRINTF1(_L("z:\\system\\data\\addressstringtokenizertestappdataref.txt not found"));
User::Leave(KErrNotFound);
}
INFO_PRINTF1(_L("Start searching..."));
// Create an instance of Address String Tokenizer and search for URL's.
CTulAddressStringTokenizer* addressString = CTulAddressStringTokenizer::NewL(fullBufPtr, CTulAddressStringTokenizer::EFindItemSearchURLBin);
TestAddressStringTokenizers(addressString, reader, fullBufPtr);
delete addressString;
// find phone numbers from same text
addressString = CTulAddressStringTokenizer::NewL(fullBufPtr, CTulAddressStringTokenizer::EFindItemSearchPhoneNumberBin);
TestAddressStringTokenizers(addressString, reader, fullBufPtr);
// test do new search with same instance
TInt count = addressString->DoNewSearchL(fullBufPtr, CTulAddressStringTokenizer::EFindItemSearchMailAddressBin);
TEST(count > 0);
TestAddressStringTokenizers(addressString, reader, fullBufPtr);
delete addressString;
//.........这里部分代码省略.........