Esplosione tab

git-svn-id: svn://10.65.10.50/trunk@4747 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
augusto 1997-06-23 14:53:39 +00:00
parent 0bd507dd78
commit 0cc91be2e7

View File

@ -50,18 +50,18 @@ const bool TMag_livelli::enabled(int levnum)
const int TMag_livelli::code_lenght(int levnum)
{
if (levnum<=MANY_MAG_LEV && levnum>0)
return(_code_lenght[levnum-1]);
else
return(0) ;
if (levnum<=MANY_MAG_LEV && levnum>0)
return(_code_lenght[levnum-1]);
else
return(0) ;
}
const int TMag_livelli::packed_lenght(int levnum)
{
int start=0;
for (int i=1; i<=levnum && levnum<=MANY_MAG_LEV; i++)
start+= _code_lenght[i-1];
return start;
for (int i=1; i<=levnum && levnum<=MANY_MAG_LEV; i++)
start+= _code_lenght[i-1];
return start;
}
@ -83,32 +83,32 @@ const TString & TMag_livelli::picture(int levnum)
void TMag_livelli::pack_grpcode(TString & pc, const TString &codlev, const int levnum)
{
pc.overwrite(codlev.left(_code_lenght[levnum-1]),packed_lenght(levnum-1));
pc.overwrite(codlev.left(_code_lenght[levnum-1]),packed_lenght(levnum-1));
}
TString TMag_livelli::unpack_grpcode(const TString & pc, const int levnum)
{
int start=0;
for (int i=1; i<levnum; i++)
start+= _code_lenght[i-1];
if (start>=pc.len())
return("");
else {
if (levnum != _last_level && !_enabled[levnum-1])
return("");
return(pc.mid(start,levnum == _last_level ? -1 : _code_lenght[levnum-1]));
}
int start=0;
for (int i=1; i<levnum; i++)
start+= _code_lenght[i-1];
if (start>=pc.len())
return("");
else {
if (levnum != _last_level && !_enabled[levnum-1])
return("");
return(pc.mid(start,levnum == _last_level ? -1 : _code_lenght[levnum-1]));
}
}
TString TMag_livelli::build_tabcode(const TString & pc, const int levnum)
{
TString valore;
valore << levnum;
valore << unpack_grpcode(pc,levnum);
if (valore.len()>1)
return valore;
else
return "";
TString valore;
valore << levnum;
valore << unpack_grpcode(pc,levnum);
if (valore.len()>1)
return valore;
else
return "";
}
// *******************************