本文整理汇总了C++中TDes16::Zero方法的典型用法代码示例。如果您正苦于以下问题:C++ TDes16::Zero方法的具体用法?C++ TDes16::Zero怎么用?C++ TDes16::Zero使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TDes16
的用法示例。
在下文中一共展示了TDes16::Zero方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: totalConverted
// -----------------------------------------------------------------------------
// JPLangUtil::ConvertFullHiragnaToFullKatakana
// Converts Full-width Hiragana and Special Character text found in
// aUnicodeSource to their Full-width counterparts and places the
// resulting text into aUnicodeTarget.
// -----------------------------------------------------------------------------
//
EXPORT_C TInt JPLangUtil::ConvertFullHiragnaToFullKatakana
( const TDesC16& aUnicodeSource, TDes16& aUnicodeTarget )
{
TInt totalConverted( 0 );
const TInt length( aUnicodeSource.Length() );
const TInt maxLength( aUnicodeTarget.MaxLength() );
if( length > maxLength )
{
return KErrTooBig;
}
const TUint comp = KFullWidthKatakanaSmallA - KFullWidthHiraganaSmallA;
aUnicodeTarget.Zero();
for( TInt i( 0 ); i < length; ++i )
{
const TText uniChar( aUnicodeSource[i] );
TText uniChar2(0);
if (i + 1 < length)
{
uniChar2 = aUnicodeSource[i+1];
}
// First check if this is this Full Width Katakana
if (KFullWidthHiraganaSmallA <= uniChar && uniChar <= KFullWidthHiraganaVU)
{
if (uniChar == KFullWidthHiraganaU
&& uniChar2 == KFullWidthHiraganaVoicedSound)
{
aUnicodeTarget.Append(KFullWidthKatakanaSmallVU);
totalConverted++;
i++;
}
else
{
TUint katakana = uniChar + comp;
if (IsKatakana(katakana))
{
aUnicodeTarget.Append(katakana);
totalConverted++;
}
}
}
else
{
aUnicodeTarget.Append(uniChar);
totalConverted++;
}
}
// Now handle special characters
// This logic may be moved into this function to avoid another loop over
// the text
totalConverted +=
UnicodeTextUtil::ConvertSpecialCharactersInPlace( EFullToHalfWidth,
aUnicodeTarget );
return totalConverted;
}
示例2: Value
void CBatmonContainer::Value(TUint8 aUnit,TUint16 aAddress,TDes16& aValue) const
{
TRAPD(err,HWNetmon::ValueL(aUnit,aAddress,aValue,HWNetmon::EExt|HWNetmon::ESigned));
if(err!=KErrNone)
{
aValue.Zero();
aValue.Append('?');
}
}
示例3: TRAP
void Big5::ConvertToUnicodeL(TDes16& aUnicode, const TDesC8& aForeign, TFatUtilityFunctions::TOverflowAction aOverflowAction)
{
TInt err = KErrNone;
aUnicode.Zero();
TRAP(err, UnicodeConv::ConvertToUnicodeL(aUnicode, aForeign));
// Ignore overflow errors if you're allowed to truncate the string
if (aOverflowAction == TFatUtilityFunctions::EOverflowActionTruncate && err == KErrOverflow)
{
err = KErrNone;
}
User::LeaveIfError(err);
}
示例4: Temperature
void CBatmonContainer::Temperature(TDes16& aValue,TUint16 aAddress) const
{
TRAPD(err,HWNetmon::ValueL(KPhoneEnergyUnit,aAddress,aValue,HWNetmon::EExt|HWNetmon::ERaw));
if(err==KErrNone&&aValue.Length()>2)
{
TInt value=aValue[1]*256+aValue[2]-273;
aValue.Num(value);
aValue.Append(0xb0);
aValue.Append('C');
}
else
{
aValue.Zero();
aValue.Append('?');
}
}
示例5: Battery
void CBatmonContainer::Battery(TDes16& aValue,TUint16 aAddress) const
{
TInt value=0;
TRAPD(err,HWNetmon::ValueL(KPhoneEnergyUnit,aAddress,aValue,HWNetmon::EExt|HWNetmon::ERaw));
if(err==KErrNone&&aValue.Length()>0) value=aValue[0];
aValue.Zero();
switch(value)
{
case 11:
aValue.Append(_L("BL-4C"));
break;
case 12:
aValue.Append(_L("BL-5C"));
break;
case 17:
aValue.Append(_L("BL-6C"));
break;
default:
aValue.Append('?');
break;
}
}