// Tworzymy literay.
_LIT( KTekst1, "Tekst1" );
_LIT( KTekst2, " + Tekst2" );
// Definiujemy sta okrelajc maksymaln dugo
// deskryptora buforowego.
const TInt KMaksDlugosc = 32;

// Tworzymy deskryptor i kopiujemy do niego zawarto
// literau KTekst1.
TBuf< KMaksDlugosc > buf1( KTekst1 );

// Tworzymy drugi deskryptor buforowy (w nieco inny sposb).
TBuf< KMaksDlugosc > buf2;
buf2.Copy( buf1 );            // buf2 = "Tekst1"
buf2.Append( KTekst2 );        // buf2 = "Tekst1 + Tekst2"

// Zmieniamy wielkoci liter w deskryptorze buf2.
// - na mae
buf2.LowerCase();            // buf2 = "tekst1 + tekst2"
// - na due
buf2.UpperCase();            // buf2 = "TEKST1 + TEKST2"

// Usuwamy zawarto deskryptora buf2 (ustawiamy biec
// dugo deskryptora na 0). Mona to zrobi na trzy sposoby:
// 1) metoda Zero() - specjalnie dedykowana do tego celu
buf2.Zero();
// 2) metoda SetLength()
buf2.SetLength( 0 );        // buf2 = ""                // buf2 = ""
// 3) metoda Copy()
buf2.Copy( KNullDesC );        // buf2 = ""
// Naley pamita, e dugo maksymalna pozostaje niezmieniona.

// Kopiujemy do pustego deskryptora buf2 znak "1":
// 1) metoda Num()
buf2.Num( 1 );                // buf2 = "1"
// 2) metoda Copy() lub Append()
buf2.Copy( _L("1") );        // buf2 = "1"

// Dodajemy do deskryptora kolejne liczby 2...9.
for( TInt i=2; i <= 9; i++ )
    buf2.AppendNum( i );
// buf2 = "123456789"
// Metody Num() oraz AppendNum() umoliwiaj konwertowanie
// do acucha znakw liczb rwnie w innych formatach ni
// dziesitny. W tym celu mona wykorzysta rwnie metod Format().

// Kopiujemy buf1 do buf2
buf2 = buf1;
// lub 
// buf2.Copy( buf1 );
// buf 2 = buf1 = "Tekst1"

// Ostatnie zadania
// 1) Usun znak "1" z buf1.
buf1.Delete( buf1.Find( _L("1") ), 1 /*liczba znakw do usunicia*/ );
// buf1 = "Tekst"
// 2) Zamieni znak "1" w buf2 na "!".
buf2.Replace( buf2.Find( _L("1") ), 1, _L("!") );
// buf2 = "Tekst!"
