Duomenų tipai

Download Report

Transcript Duomenų tipai

Duomenų tipai
Žygimantas Skrolis IT3
DWORD, WORD, BYTE
Duomenų tipo
apibrėžtis :
Kaip
apsirašoma
programoje :
32 bitų ilgio be
ženklo
16 bitų ilgio be
ženklo
8 bitų ilgio
typedef
unsigned long
DWORD;
typedef
unsigned short
WORD;
typedef
unsigned char
BYTE;
LONG, INT, SHORT, CHAR
Duomenų
tipo
apibrėžtis :
Kaip
apsirašoma
programoje :
Kita info :
32 bitų ilgio
su ženklu
32 bitų ilgio
su ženklu
16 bitų ilgio
su sveikais
skaičiais
8 bitų ilgio pagal
WINDOWS
(ANSI)
charakteristiką
typedef long
LONG;
typedef int
INT;
typedef short
SHORT;
typedef char
CHAR;
-
Dar yra CCHAR
ilgis toks pats kaip
ir CHAR, o
programoje
apsirašo typedef
char CCHAR;
-
Dar yra ir
kitų INT tipų.
Pvz . : INT8,
INT16 ...
BOOL, BOOLEAN
Reikšmės
TRUE arba FALSE
Kaip apsirašoma
programoje :
typedef int BOOL;
TRUE arba FALSE
typedef byte BOOLEAN;
LPSTR
• LPSTR – rodyklė į simbolių eilutę. Žymima “lpsz”.
“sz” yra svarbi žymė, nes kai kurios eilutės nėra
užbaigiamos “0”.
Programoje apsirašome :
typedef CHAR *LPSTR;
TCHAR, TSTR, LPTSTR
• TCHAR – daugybinis simbolinis duomenų tipas. Jis gali saugoti
arba 1-o baito ASCII simbolį, arba 2-jų baitų Unicode simbolį.
Programoje apsirašome:
#ifdef UNICODE
typedef WCHAR TCHAR;
#else
typedef char TCHAR;
#endif
• TSTR – yra TCHAR simbolių eilutė
• LPTSTR – yra rodyklė į TSTR tipą.
Programoje apsirašome:
#ifdef UNICODE
typedef LPWSTR LPTSTR;
#else
typedef LPSTR LPTSTR;
#endif
VOID, LPCVOID, LPVOID,
PVOID
Visi objektai.
Reikšmė :
Kaip
apsirašoma
programoje:
#define
VOID void
Rodyklė į bet
Rodyklė į
kokio
nežinomo
objekto
tipo objektą.
konstanta .
Rodyklė į
nežinomo
tipo objektą.
typedef
CONST void
*LPCVOID;
typedef void
*PVOID;
typedef void
*LPVOID;
Rodyklės
Dauguma duomenų tipų turi rodykles.
Prie tipo būna *, tai reiškia, kad yra rodyklė.
Pvz.:
PBOOL typedef BOOL *PBOOL;
PBOOLEAN typedef BOOLEAN *PBOOLEAN;
PDWORD typedef DWORD *PDWORD;
PINT typedef int *PINT;
Handles
Savo branduolyje Windows’ai saugo lentelę visų skirtingų
objektų už kuriuos yra atsakingi. Langai, mygtukai,
ikonos ir t.t., kiekvienas toks įrašas saugomas lentelėje yra
susiejamas su identifikatoriumi, kuris vadinamas
HANDLE. Šis identifikatorius yra apibrėžiamas kaip 32
bitų įrašas be ženklo antraštėje <windows.h> ir
dažniausiai žymimas “h”.
HWND
Šie tipai iš esmės taip pat yra “rankenėlės”.
• HWND – langų identifikatoriai skirti sekti objektams
rodomiems ekrane. Komunikavimui su konkrečiu langu
reikia turėti to lango identifikatoriaus kopiją.
Dažniausiai žymimas “hwnd”.
Programoje aprašomas:
typedef HANDLE HWND;
HINSTANCE
• HINSTANCE – programos egzemplioriaus identifikatorius.
Kiekviena programa gauna savo identifikatorių tam, kad
branduolys galėtų bendrauti su ja. Pavyzdžiui, norint sukurti
naują langą, reikia perduoti programos HINSTANCE
kintamąjį branduoliui, kad jis žinotų, kam priklauso naujas
langas. Šis identifikatorius žymimas “h” ir, kadangi
dažniausiai yra vienintelis, apibrėžiamas kaip:
Programoje aprašomas:
typedef HANDLE HINSTANCE;
HMENU
• Jei programa turi slankųjį meniu, jis turės savo
identifikatorių HMENU. Tam, kad rodyti meniu ar
keisti jo turinį, reikia turėti priėjimą prie šio
identifikatoriaus. Dažniausiai žymimas “h”.
Programoje aprašomas:
typedef HANDLE HMENU;
Informacija
• http://msdn.microsoft.com/enus/library/windows/desktop/aa383751(v=vs.85).asp
• http://www.mif.vu.lt/~tomukas/WinAPI/Paskaita5.ppt