Read-only archive of the All About Symbian forum (2001–2013) · About this archive

SetAtt() ??!?!

0 replies · 1,195 views · Started 20 May 2003

Hi!
i'm developing a little procedure to set attributes of files and folder...

i wrote:

struct AttrInfo{
void* sFileName;
TBool IsReadOnly;
TBool IsHidden;
TBool IsArchive;
TBool IsSystem;
};

_LIT(KStatus0,"console\n"😉;
_LIT(KStatusYRO,"readonly yes=%c\n"😉;
_LIT(KStatusNRO,"readonly no=%c\n"😉;
_LIT(KStatusNHI,"hidden no=%c\n"😉;
_LIT(KStatusNAR,"archive no=%c\n"😉;
_LIT(KStatusNSY,"system no=%c\n"😉;
_LIT(KStatusYHI,"hidden yes=%c\n"😉;
_LIT(KStatusYAR,"archive yes=%c\n"😉;
_LIT(KStatusYSY,"system yes=%c\n"😉;
_LIT(KStatusTOTM,"totale mask=%c\n"😉;
_LIT(KStatusTOTC,"totale clear=%c\n"😉;
CConsoleBase* console=Console::NewL(KStatus0,TSize(KConsFullScreen,KConsFullScreen));
CleanupStack::PushL(console);

TUint iAttrMask=0;
TUint iAttrClear=0;

RFs fsSession;
fsSession.Connect();
TFileName path(p16Buf);
TTime time;
fsSession.Modified(path, time);
if (AttrI->IsReadOnly){
iAttrMask = (iAttrMask | KEntryAttReadOnly);
//fsSession.SetEntry(path, time, KEntryAttReadOnly, NULL);
console->Printf(KStatusYRO, iAttrMask);
}else{
iAttrClear = (iAttrClear | KEntryAttReadOnly);
//fsSession.SetEntry(path, time, NULL, KEntryAttReadOnly);
console->Printf(KStatusNRO, iAttrClear);
}
if (AttrI->IsHidden){
iAttrMask = (iAttrMask|KEntryAttHidden);
console->Printf(KStatusYHI, iAttrMask);
}else{
iAttrClear = (iAttrClear|KEntryAttHidden);
console->Printf(KStatusNHI, iAttrClear);
}
if (AttrI->IsArchive){
iAttrMask = (iAttrMask|KEntryAttArchive);
console->Printf(KStatusYAR, iAttrMask);
}else{
iAttrClear = (iAttrClear|KEntryAttArchive);
console->Printf(KStatusNAR, iAttrClear);
}
if (AttrI->IsSystem){
iAttrMask = (iAttrMask|KEntryAttSystem);
console->Printf(KStatusYSY, iAttrMask);
}else{
iAttrClear = (iAttrClear|KEntryAttSystem);
console->Printf(KStatusNSY, iAttrClear);
}

console->Printf(KStatusTOTM, iAttrMask);
console->Printf(KStatusTOTC, iAttrClear);
fsSession.SetEntry(path, time, iAttrMask, iAttrClear);
fsSession.Close();
User::Free(buf);
console->Getch();
CleanupStack::Pop(); // close console

but it didn't works propertly ...
didn't has effect to the files, it changes only the folders ??!!?

Can anybody help me??!

thanx in advance 😊