diff -r f345bda72bc4 -r 43e37759235e Symbian3/Examples/guid-6013a680-57f9-415b-8851-c4fa63356636/_non_modifier_8cpp-source.html --- a/Symbian3/Examples/guid-6013a680-57f9-415b-8851-c4fa63356636/_non_modifier_8cpp-source.html Tue Mar 30 11:56:28 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,322 +0,0 @@ - - -TB10.1 Example Applications: examples/Base/BufsAndStrings/Desc/NonModifier/NonModifier.cpp Source File - - - - -

examples/Base/BufsAndStrings/Desc/NonModifier/NonModifier.cpp

00001 // Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
-00002 // All rights reserved.
-00003 // This component and the accompanying materials are made available
-00004 // under the terms of "Eclipse Public License v1.0"
-00005 // which accompanies this distribution, and is available
-00006 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
-00007 //
-00008 // Initial Contributors:
-00009 // Nokia Corporation - initial contribution.
-00010 //
-00011 // Contributors:
-00012 //
-00013 // Description:
-00014 // Examples to demonstrate some of the non-modifying member
-00015 // functions of descriptors.
-00016 //
-00017 
-00018 #include "CommonFramework.h"
-00019 
-00020 //
-00021 // Common literal text
-00022 //
-00023 _LIT(KTxtPressToContinue," (press any key to continue)\n");
-00024 _LIT(KTxtnotfound,"NOT FOUND");
-00025 _LIT(KTxtfound,"found");
-00026 _LIT(KTxtlessthan,"  is less than     ");
-00027 _LIT(KTxtgreaterthan,"  is greater than  ");
-00028 _LIT(KTxtequalto,"  is equal to      ");
-00029 
-00030 //
-00031 // Common Format strings
-00032 //
-00033 _LIT(KCommonFormat2,"Length()=%d; Size()=%d\n");
-00034 _LIT(KCommonFormat8,"\"%S\"  Char %c is at pos %d (%S)\n");
-00035 _LIT(KCommonFormat9,"%- 8S   pos %2d  (%S)\n");
-00036 //
-00037 // Compare strings
-00038 //
-00039 _LIT(KTxtCompstr1,"Hello World!@@");
-00040 _LIT(KTxtCompstr2,"Hello");
-00041 _LIT(KTxtCompstr3,"Hello Worl");
-00042 _LIT(KTxtCompstr4,"Hello World!");
-00043 _LIT(KTxtCompstr5,"hello world!");
-00044 _LIT(KTxtCompstr6,"Hello World ");
-00045 _LIT(KTxtCompstr7,"Hello World@");
-00046 
-00047 //
-00048 // Match strings
-00049 //
-00050 _LIT(KTxtMatchstr1,"*World*");
-00051 _LIT(KTxtMatchstr2,"*W?rld*");
-00052 _LIT(KTxtMatchstr3,"Wor*");
-00053 _LIT(KTxtMatchstr4,"Hello");
-00054 _LIT(KTxtMatchstr5,"*W*");
-00055 _LIT(KTxtMatchstr6,"hello*");
-00056 _LIT(KTxtMatchstr7,"*");
-00057 
-00058 
-00059 // Do the example
-00060 LOCAL_C void doExampleL()
-00061     {
-00062     TInt            index;
-00063         TInt            pos;
-00064         TPtrC           genptr;
-00065                                                                                                                         
-00066                                 // Use a TBufC to demonstrate some of these
-00067                                 // and use the standard "Hello World!" text
-00068         _LIT(KTxtHelloWorld,"Hello World!");
-00069         const TBufC<16> bufc(KTxtHelloWorld);
-00070         
-00071                         //                              
-00072                         // Right() & Mid()  * * * * * * * * * * * *  
-00073                 //      
-00074         _LIT(KTxtRightMid,"\n--->Right() & Mid()\n");
-00075         console->Printf(KTxtRightMid);
-00076 
-00077                                 // Look at the content of bufc
-00078         _LIT(KFormat1,"      TBufC: \"%S\"; Ptr()=%x; ");
-00079         console->Printf(KFormat1,&bufc,bufc.Ptr());
-00080 
-00081         console->Printf(KCommonFormat2,bufc.Length(),bufc.Size());
-00082 
-00083                                 // Construct a TPtrC to represent the right
-00084                                 // hand 5 data items. The function Left()
-00085                                 // is similar.
-00086         TPtrC ptrc1 = bufc.Right(5);
-00087 
-00088                                 // ptrc's data is "orld!"
-00089                                 // Length of ptrc is 5
-00090                                 // ptrc's data area address = bufc's data area
-00091                                 // address + 7
-00092         _LIT(KFormat3,"Right TPtrC: \"%S\"; Ptr()=%x; ");
-00093         console->Printf(KFormat3,&ptrc1,ptrc1.Ptr());
-00094         console->Printf(KCommonFormat2,ptrc1.Length(),ptrc1.Size());
-00095 
-00096                                 // Construct a TPtrC to represent the 6 data
-00097                                 // items offset 3 from the start of bufc's
-00098                                 // data area.   
-00099         TPtrC ptrc2 = bufc.Mid(3,6);     
-00100         
-00101                                 // ptrc's data is "lo Wor"
-00102                                 // Length of ptrc is 6
-00103                                 // ptrc's data area address = buf's data area
-00104                                 // address + 3
-00105         _LIT(KFormat4,"  Mid TPtrC: \"%S\"; Ptr()=%x; ");
-00106         console->Printf(KFormat4,&ptrc2,ptrc2.Ptr());
-00107         console->Printf(KCommonFormat2,ptrc2.Length(),ptrc2.Size());
-00108                                 // In practice, there is often no need to 
-00109                                 // assign the returned TPtrC to another TPtrC.
-00110                                 // For example, the following code puts a 
-00111                                 // value of 3 in pos; this is the offset
-00112                                 // of char 'W' within the chars "lo Wor"  
-00113                                 // (see later for more detail on Locate())
-00114                                 
-00115         pos = (bufc.Mid(3,6)).Locate('W');
-00116         _LIT(KFormat5,"(bufc.Mid(3,6)).Locate('W') returns %d\n");
-00117         console->Printf(KFormat5,pos);
-00118 
-00119                                 // Want the 13 right hand data items.
-00120                                 // This is > current length of bufc
-00121                                 // causing panic !!
-00122                                 // 
-00123                                 // Remove the "//" marks on the next line
-00124                                 // to see this happen
-00125         //TPtrC ptrc3 = bufc.Right(13);
-00126     
-00127                         //                              
-00128                         // Compare() & CompareF()   * * * * * * * * *
-00129                         //
-00130         _LIT(KTxtCompare,"\n--->Compare() & CompareF()");
-00131         console->Printf(KTxtCompare);
-00132         console->Printf(KTxtPressToContinue);  //" (press any key to continue)\n"
-00133         console->Getch();
-00134 
-00135                                 // Can compare any kind of data.
-00136                                 // For binary data just use Compare().
-00137                                 // For text use Compare(), CompareF() or 
-00138                                 // CompareC(). Using the Compare() function,
-00139                                 // case is important so that, below, the 4th 
-00140                                 // comparison is equal but the 5th is unequal.
-00141     
-00142         const TBufC<16> compstr[7] =  {*&KTxtCompstr1, // "Hello World!@@"
-00143                                                                    *&KTxtCompstr2, // "Hello"
-00144                                                            *&KTxtCompstr3, // "Hello Worl"
-00145                                                                    *&KTxtCompstr4, // "Hello World!"
-00146                                                                    *&KTxtCompstr5, // "hello world!"
-00147                                                                    *&KTxtCompstr6, // "Hello World "
-00148                                                                    *&KTxtCompstr7  // "Hello World@"
-00149                                                                   };
-00150 
-00151         for (index = 0; index < 7; index++)
-00152                 {
-00153                 
-00154                 if ( (bufc.Compare(compstr[index])) < 0 )
-00155                         genptr.Set(KTxtlessthan);
-00156                 else if ( (bufc.Compare(compstr[index])) > 0)
-00157                                 genptr.Set(KTxtgreaterthan);
-00158                          else genptr.Set(KTxtequalto);
-00159             _LIT(KFormat6,"\"%S\"%S\"%S\"\n");          
-00160                 console->Printf(KFormat6,&bufc,&genptr,&compstr[index]);
-00161                 }
-00162 
-00163                                 // CompareF() ignores case so that now,
-00164                                 // both the 4th and the 5th comparsions
-00165                                 // are equal.
-00166                                 // NOTE that the behaviour of CompareF() is locale dependent.
-00167         for (index = 3; index < 5; index++)
-00168                 {
-00169                 if ( (bufc.CompareF(compstr[index])) < 0 )
-00170                         genptr.Set(KTxtlessthan);
-00171                 else if ( (bufc.CompareF(compstr[index])) > 0)
-00172                                 genptr.Set(KTxtgreaterthan);
-00173                          else genptr.Set(KTxtequalto);
-00174                 _LIT(KTxtusingCF," (using CompareF())");
-00175                 _LIT(KFormat7,"\"%S\"%S\"%S\"%S\n");
-00176                 console->Printf(KFormat7,&bufc,&genptr,&compstr[index],&KTxtusingCF);
-00177                 }
-00178 
-00179                 //                              
-00180                         // Locate(), LocateF(), LocateReverse()     * * *
-00181                         //
-00182                         // NOTE that the behaviour of LocateF() is locale dependent.
-00183         _LIT(KTxtLocate,"\n--->Locate(), LocateF() & LocateReverse()");
-00184         console->Printf(KTxtLocate);
-00185         console->Printf(KTxtPressToContinue);  //" (press any key to continue)\n"
-00186         console->Getch();
-00187                                 
-00188                                 // Locate the positions (i.e. the offsets) of
-00189                                 // these characters in "Hello World!"                     
-00190         TChar ch[4] = {'H', '!', 'o', 'w'};
-00191                                                         
-00192                                 // using Locate().
-00193                                 // Note that 'w' is not found because the
-00194                                 // function is case sensitive
-00195         _LIT(KTxtUsingLocate,"using Locate() \n");
-00196         console->Printf(KTxtUsingLocate);
-00197         for (index = 0  ; index < 4; index++)
-00198                 {
-00199                 pos = bufc.Locate(ch[index]);
-00200 
-00201                 if (pos < 0)
-00202                         genptr.Set(KTxtnotfound);
-00203                 else 
-00204                         genptr.Set(KTxtfound);
-00205 
-00206                 console->Printf(KCommonFormat8,&bufc,TUint(ch[index]),pos,&genptr);
-00207                 }
-00208 
-00209                                 // using LocateF()
-00210                                 // Note that 'w' is found because the
-00211                                 // function is NOT case sensitive.
-00212                                 //
-00213                                 // NOTE that the behaviour of LocateF() is locale dependent.
-00214         _LIT(KTxtUsingLocateF,"using LocateF() \n");
-00215         console->Printf(KTxtUsingLocateF);
-00216         for (index = 0  ; index < 4; index++)
-00217                 {
-00218                 pos = bufc.LocateF(ch[index]);
-00219 
-00220                 if (pos < 0)
-00221                         genptr.Set(KTxtnotfound);
-00222                 else 
-00223                         genptr.Set(KTxtfound);
-00224 
-00225                 console->Printf(KCommonFormat8,&bufc,TUint(ch[index]),pos,&genptr); 
-00226                 }
-00227         
-00228                         // using LocateReverse()
-00229                         // Note that the 2nd char 'o' is found this time
-00230         _LIT(KTxtUsingLocateReverse,"using LocateReverse() \n");
-00231         console->Printf(KTxtUsingLocateReverse);
-00232         for (index = 0  ; index < 4; index++)
-00233                 {
-00234                 pos = bufc.LocateReverse(ch[index]);
-00235 
-00236                 if (pos < 0)
-00237                         genptr.Set(KTxtnotfound);
-00238                 else 
-00239                         genptr.Set(KTxtfound);
-00240 
-00241                 console->Printf(KCommonFormat8,&bufc,TUint(ch[index]),pos,&genptr);
-00242                 }
-00243                 
-00244                         //                              
-00245                         // Match() & MatchF()   * * * * * * *
-00246                         //
-00247                         //
-00248                         // NOTE that the behaviour of MatchF() is locale dependent.
-00249         _LIT(KTxtMatch,"\n--->Match()");
-00250         console->Printf(KTxtMatch);
-00251         console->Printf(KTxtPressToContinue);  //" (press any key to continue)\n"
-00252         console->Getch();
-00253 
-00254         
-00255     TBufC<8> matchstr[7] =  {*&KTxtMatchstr1, // "*World*"
-00256                                                          *&KTxtMatchstr2, // "*W?rld*"
-00257                                                          *&KTxtMatchstr3, // "Wor*"
-00258                                                          *&KTxtMatchstr4, // "Hello"
-00259                                                          *&KTxtMatchstr5, // "*W*"
-00260                                                          *&KTxtMatchstr6, // "hello*"
-00261                                                          *&KTxtMatchstr7  // "*" 
-00262                                                         };
-00263 
-00264 
-00265         _LIT(KFormat10,"\"%S\"\n");
-00266         console->Printf(KFormat10,&bufc);
-00267                          
-00268                                 // using Match()
-00269         for (index = 0  ; index < 7; index++)
-00270                 {
-00271                 pos = bufc.Match(matchstr[index]);
-00272 
-00273                 if (pos < 0)
-00274                         genptr.Set(KTxtnotfound);
-00275                 else 
-00276                         genptr.Set(KTxtfound);
-00277                 
-00278                 console->Printf(KCommonFormat9,&matchstr[index],pos,&genptr); 
-00279                 }
-00280 
-00281                                 // using MatchF()
-00282                                 //   
-00283                                 // Note the different result when matching 
-00284                                 // the 6th string, where case is ignored.
-00285                                 //
-00286                                 // NOTE that the behaviour of MatchF() is locale dependent.
-00287         _LIT(KTxtMatchF,"\n--->MatchF()");
-00288         console->Printf(KTxtMatchF);
-00289         console->Printf(KTxtPressToContinue);  //" (press any key to continue)\n"
-00290         console->Getch();
-00291         
-00292         for (index = 0  ; index < 7; index++)
-00293                 {
-00294                 pos = bufc.MatchF(matchstr[index]);
-00295 
-00296                 if (pos < 0)
-00297                         genptr.Set(KTxtnotfound);
-00298                 else 
-00299                         genptr.Set(KTxtfound);
-00300 
-00301                 console->Printf(KCommonFormat9,&matchstr[index],pos,&genptr); 
-00302                 }
-00303         }
-00304 
-00305 
-00306 
-00307 
-00308 
-00309         
-00310         
-

Generated on Thu Jan 21 10:32:55 2010 for TB10.1 Example Applications by  - -doxygen 1.5.3
- -