................... ...::: phearless zine #4 :::... ...............>---[ Symbian C++ Reference - Part 1 ]---<................ ..........................>---[ by argv ]---<............................ argv.cpp[at]gmail[dot]com Sadrzaj: [0] Intro/Outro [1] Basics [2] Prefixes [3] Sufixes [4] Classes [5] Types //////////////////////////////////////////////////////////////////////////// --==<[ 0. Intro/Outro \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ C++ za Symbian nije toliko drukciji po funkcionalnosti, ali se dosta razlikuje po sintaksi i nacinu koristenja odredjenih funkcija. Posto je ovo relativno veliko podrucje, odlucio sam razbiti ga u nekoliko chaptera (vjerovatno 3). Za ovaj broj zinea ubacio sam samo osnove dok ce ostala 2 chaptera doci sa brojem 5. //////////////////////////////////////////////////////////////////////////// --==<[ 1. Basics \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ Prvo slovo neke klase uvijek mora pocinjati sa velikim slovom. npr: class TNekaKlasa Rijeci koje oznacavaju varijablu ili ime funkcije takodjer pocinju sa velikim slovom, dok parametri funkcije pocinju s malim. npr: void NekaFunkcija(); TInt mojaLokalnaVarijabla; CVarijabla* iNekiMember; //////////////////////////////////////////////////////////////////////////// --==<[ 2. Prefixes \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ neki od prefixa koji se koriste su: TInt iTimer; -> i = instance void NekaFunkcija(TBool aPrimjerBool, const TDesC& aName); -> a = argument enum TImena {EIvo, EIvica, EIvana}; -> E = enumeracija const TInt KMaxFilenameLength = 256; -> K = konstantno (const) #define KMaxFilenameLength 256 -> #define za const //////////////////////////////////////////////////////////////////////////// --==<[ 3. Sufixes \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ neki od sufixa koji se koriste su: void ConstructL(); -> L oznacava da se funkcija smije prekinuti nakon sto zavrsi. CAplikacija* NewLC(); -> C oznacava da funkcija vraca pointer na CleanupStack i zatim izlazi. TInt IzvrsiLD(TInt aResourceId); -> D oznacava da ce referirani objekt biti izbrisan nakon izvrsenja funkcije. //////////////////////////////////////////////////////////////////////////// --==<[ 4. Classes \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ Klase imaju 4 moguca prefixa, to su: C(Class) - ove klase potjecu iz CBase headera (e32base.h) i mogu koristiti Stack i StackCleanup metode. primjer: LOCAL_C void CNekaKlasa() R(Resource) - ove klase sluze za kontrolu svih vanjskih resursa koje vasa aplikacija koristi (slike, ikone...) primjer: RESOURCE NekiResource T(Type) - ove klase koriste 'built-in tipove' i nije im potreban pointer ili handle za pristup. primjer: LOCAL_C void TDriveInfo() M(Mixed) - ove klase mogu sadrzavati sve ostale klase i tako mozda smanjiti kolicinu posla, ali ovo je jos experimental i ne preporucujem. //////////////////////////////////////////////////////////////////////////// --==<[ 5. Types \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ Osnovni Tipovi su: TIntX i TUintX (X = 8,16,32 bit) (TIntX = SIGNED, TUintX = UNSIGNED) TReal32 i TReal64 (TReal32 = float, TReal64 = double) TTextX (X = 8,16 bit) za signed integere TAny* (TAny* == void*) (void MojaFunkcija(TAny* aPointerNaParametar); TBool (TBool == True(1) or False(0)) -- Greetz Blackhat