' No APIs are declared public. This is to prevent possibly, differently
' declared APIs, or different versions of the same API, from conflciting
' with any APIs you declared in your project. Same rule for UDTs.
' Note: I did take liberties, changing parameter types, in several APIs throughout
' Used to determine operating system
Private Declare Function GetVersionEx Lib "kernel32" Alias "GetVersionExA" (lpVersionInformation As Any) As Long
Private Type OSVERSIONINFOEX
dwOSVersionInfoSize As Long
dwMajorVersion As Long
dwMinorVersion As Long
dwBuildNumber As Long
dwPlatformId As Long
szCSDVersion As String * 128 ' up to here is OSVERSIONINFO vs EX
wServicePackMajor As Integer ' 8 bytes larger than OSVERSIONINFO
wServicePackMinor As Integer
wSuiteMask As Integer
wProductType As Byte
wReserved As Byte
End Type
' APIs used to manage the 32bpp DIB
Private Declare Sub CopyMemory Lib "kernel32.dll" Alias "RtlMoveMemory" (ByRef Destination As Any, ByRef Source As Any, ByVal Length As Long)
Private Declare Sub FillMemory Lib "kernel32.dll" Alias "RtlFillMemory" (ByRef Destination As Any, ByVal Length As Long, ByVal Fill As Byte)
Private Declare Function CreateCompatibleDC Lib "gdi32.dll" (ByVal hDC As Long) As Long
Private Declare Function GetDC Lib "user32.dll" (ByVal hwnd As Long) As Long
Private Declare Function ReleaseDC Lib "user32.dll" (ByVal hwnd As Long, ByVal hDC As Long) As Long
Private Declare Function DeleteDC Lib "gdi32.dll" (ByVal hDC As Long) As Long
Private Declare Function SelectObject Lib "gdi32.dll" (ByVal hDC As Long, ByVal hObject As Long) As Long
Private Declare Function DeleteObject Lib "gdi32.dll" (ByVal hObject As Long) As Long
Private Declare Function CreateDIBSection Lib "gdi32.dll" (ByVal hDC As Long, ByRef pBitmapInfo As Any, ByVal un As Long, ByRef Pointer As Long, ByVal Handle As Long, ByVal dw As Long) As Long
Private Declare Function AlphaBlend Lib "msimg32.dll" (ByVal hdcDest As Long, ByVal nXOriginDest As Long, ByVal nYOriginDest As Long, ByVal nWidthDest As Long, ByVal nHeightDest As Long, ByVal hdcSrc As Long, ByVal nXOriginSrc As Long, ByVal nYOriginSrc As Long, ByVal nWidthSrc As Long, ByVal nHeightSrc As Long, ByVal lBlendFunction As Long) As Long
Private Declare Function SetStretchBltMode Lib "gdi32.dll" (ByVal hDC As Long, ByVal nStretchMode As Long) As Long
Private Declare Function GetObjectType Lib "gdi32.dll" (ByVal hgdiobj As Long) As Long
Private Declare Function GetCurrentObject Lib "gdi32.dll" (ByVal hDC As Long, ByVal uObjectType As Long) As Long
Private Declare Function GetIconInfo Lib "user32.dll" (ByVal hIcon As Long, ByRef piconinfo As ICONINFO) As Long
Private Declare Function BitBlt Lib "gdi32.dll" (ByVal hDestDC As Long, ByVal X As Long, ByVal Y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long
Private Declare Function SetDIBitsToDevice Lib "gdi32.dll" (ByVal hDC As Long, ByVal X As Long, ByVal Y As Long, ByVal dX As Long, ByVal dY As Long, ByVal SrcX As Long, ByVal SrcY As Long, ByVal Scan As Long, ByVal NumScans As Long, ByRef Bits As Any, ByRef BitsInfo As BITMAPINFO, ByVal wUsage As Long) As Long
Private Declare Function GetDIBits Lib "gdi32.dll" (ByVal aHDC As Long, ByVal hBitmap As Long, ByVal nStartScan As Long, ByVal nNumScans As Long, ByRef lpBits As Any, ByRef lpBI As BITMAPINFO, ByVal wUsage As Long) As Long
Private Declare Function OffsetRgn Lib "gdi32.dll" (ByVal hRgn As Long, ByVal X As Long, ByVal Y As Long) As Long
Private Const STRETCH_HALFTONE As Long = &H4&
Private Const OBJ_BITMAP As Long = &H7&
Private Const OBJ_METAFILE As Long = &H9&
Private Const OBJ_ENHMETAFILE As Long = &HD&
' APIs used to create files
Private Declare Function WriteFile Lib "kernel32" (ByVal hFile As Long, lpBuffer As Any, ByVal nNumberOfBytesToWrite As Long, lpNumberOfBytesWritten As Long, lpOverlapped As Any) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Private Declare Function GetFileSize Lib "kernel32.dll" (ByVal hFile As Long, ByRef lpFileSizeHigh As Long) As Long
Private Declare Function ReadFile Lib "kernel32.dll" (ByVal hFile As Long, ByRef lpBuffer As Any, ByVal nNumberOfBytesToRead As Long, ByRef lpNumberOfBytesRead As Long, ByRef lpOverlapped As Any) As Long
Private Declare Function SetFilePointer Lib "kernel32.dll" (ByVal hFile As Long, ByVal lDistanceToMove As Long, ByRef lpDistanceToMoveHigh As Long, ByVal dwMoveMethod As Long) As Long
Private Declare Function DragQueryFile Lib "shell32.dll" Alias "DragQueryFileA" (ByVal hDrop As Long, ByVal UINT As Long, ByVal lpStr As String, ByVal ch As Long) As Long
Private Declare Function OpenClipboard Lib "user32.dll" (ByVal hwnd As Long) As Long
Private Declare Function GetClipboardData Lib "user32.dll" (ByVal wFormat As Long) As Long
Private Declare Function CloseClipboard Lib "user32.dll" () As Long
Public Function LoadPicture_ClipBoard() As Boolean
' PURPOSE: Convert clipboard object into a 32bpp image
On Error Resume Next
With Clipboard
If (.GetFormat(vbCFBitmap) Or .GetFormat(vbCFDIB) Or .GetFormat(vbCFEMetafile) Or .GetFormat(vbCFMetafile)) Then
If Not Err Then LoadPicture_ClipBoard = LoadPicture_StdPicture(.GetData())
End If
End With
If Err Then Err.Clear
End Function
Public Function LoadPicture_FromOrignalFormat(ion LoadPicture_FromOrignalFormat(ion LoadPicture_FromOrignalFormat(ion LoadPicture_FromOrignalFormat(ion LoadPicture_FromOrignalFormat(ion LoadPicture_FronPvbCFDIB) Or .GetFormat(vbCleource Cction
Public Functi&iLconBiFile Lib "sen Loade = LA_StdPicturSet ue Functi&iPhbmMaskse
c Functi&if
Private Type ICONINFO
Set tPic = oWorg) As B oMsly, these classes have the ability toeo.hbmMas:fapable Pbsly,/***********FI,ionCy :: der
ese G,32bpp bitmap,wmf, err Then Err.Clear
End Functio0bPas:fapablgnd If
conInfo API Dim ihen
E(l(rihen
E(l(ri ' PURPOSE: oaaen
SenPhbmMality toeo.hbmMas:fapAe
Sel the passeS*d If
conInfOtsen ) As Longure,
Public **FI,ionCyCidBrd array
Puity tol the passeS*d If
conInfOtsen ) As Longure,
Public **FI,ionCyCidBrd array
Puity toadPictri ' PUn if the resotol tnfOtsitRoutine
: d.
a
Set tPic = iparseHandleToStdPictureerty Let Tag(vV this routirty E = 1024 nen Err.Clear
End Functio0bPas:faFDIB) Or . oMslyyyyyyyyyyyyyy) As BooleanPicture
If Not HaltBeer
anything, PNG,icon,gs Long
PrihDC As L yCidBrt ' Not HaeetFormaty th = LoadPI pI p pI p Set oWorkSpFileName,lth = Loaoo, By.= 4 '(scanFromOri1=ablgnd If
conInfo API DiBooCidBrd arrst's VB.'aThen DeleteObject icoInfo.hbmColor
If Not = 0 The////Src As Long, ByVal D VB OBJ_BIT biCo>2eIf TypeOfuf the resotol tnfihen
E(l IsObjecV///Src As Long, ByVated.tPic the BJ_META>2eIHandle, icoInfo) ' Note GDIsng, Byle
GDILoadPic, Byle
GDILoadPic, Byle
GDILoaon
Public FdPic, th = LoadPI pI p pI d64st always be lesrcontrol,
' saving the bytes will almost always be less size than saving the 32bit DIB.
' Additionally, these classes have the ability to get different sizes from
' the original source (i.e., WMF, icon, cursors) if available, but if the
'anfo(Handle, icIsng6G ResSection)
LoadPictureca DILoadPic, Byle
ilable, but if the
ontrol,eource Cctiobut i2bpp bitmap,wmng, _
sPictureca DILoad&)
m_hDC = CreateOfuf th s_ILoadPic, Byle
+( Byl'anfo(H tol the passeS*d If
conInfOtsen ) As Longure,
Public **FI,ionCyCide_ClipBColoriendtOrgg multtttttttttttttttt ' convert to ILoaon
Pu
' send to this routine to process
]rmat(tttttt ' converh = LoadPI pI,operty
' icon4e lesrcont icon4e lesrcont icotl1FronPvsture_ClipBrgg p SectureBandlec As BooCctiobut i2bppicture_Frdle, icoInfo) = 0 Thene,
]aultiple formats, VB gdiToken() As Lle formansp;s ' send p Set oWorkSpFiaM pI,operty
oken() tine to procesailabR LoadPiureBan Load.fprocesailabR LoadPLE,iiiiE: oaaeirouti' send p Set aaeiroFileSizOil referencevate Typeasses have the ability to get different sizes from
' the original source (i.e.' (e_ClipBCo'Rsend t.e., WMF, ireamSta(ttttting , Long4st always If (is fpBCo'RsdPLE,iiiiE:cture..dce u SectureBitmap,wmng, _
T Riuc u Cmat of te ab ine to g, _
TbjectType(Handle)
/aaultiple formats, VB gdiTok e
conInfOtsen LE,i#o procobut i2bpp bitif the
p As Integerafir+e, Me)
ginalLe works and is usnd Bhns contimc FunlipBoaormat(ion LoadPicture_FronPvbCFDIB)oadPicture_FronP&iture_FronPvbCFDtD kais fpBCo'RsdP ' ideaecV///Src As Long,
Public oInfo)ndle,KignalFormaursors ilable i2bpe, vbPicTypeBithFile If (is fpBCo'RsdPLE,iiiiEepbI:Bicotl1FronPvsture_ClipBrgg p SectureBandlec As BooCctiobut i2bppicture_Frdle, icoInfo) = 0 Thene,
]aultiple formats, VB gdiToken() As Lle formansp;s ' send p Set oWorkSpFiaM pI,operty
oken() tine to procesailabR vV /8mats, /////reBandlec As Booap,wmng, _
T RSerty
' esailabId.fprocesRee host's VB.to procesaidlec Asg p SectureBos routine to process
]rmat(tttvsture_Cli
]asture_Cl multiple formats, VB will ex O VB 'aila use GDI+ if avs:fapablgnd If
conRfferent si/cti&iLconBiin98 or VB talue cont- ' streamLength , VBltiple for98 or pI oken() As Lle formad = 1
LA_Sr parser
DimOmMase for98 nt si/ct
or VB talnicode-cahe original sourc ' number of bytes **FI,ionCyCidBrtiple formatouncti&iPhb(VB talniiroperty Get1 talnested b_)
98 or VB, BylB ta1 ex O VB 'a ' send IsId.fpraImage As BooleTUrsor tot_Cl multiplCl multiplCl Optional ByVal iconsp,wmf, err Then Err.Clear
PpBooap,wm
: b roce9 of im host's VB.to procesaidlec Asg p SectureBos routi VB.Globa &iture_FronPvbCFDt Riuc u Coaormat(ion Loadtultipl Lo OIs Noth ort
' GDI+, thuE
re_FrCFDtPPPPPPPPPPPPPPPPPPPeo6ptional OIs Noth ort
curshe abilitrmat(ithing
End Ifnterp Or .GetFor' AdditDacMe)
m_osCAP =///////ipnd CAP hter 't of icon if file is an ic
Public Function LoadPicture_Stream(inStream() As Byte, _
tu
End Function
Public Function LoadPicrStre. voriginanyStre. Or .Ge
End Functionr.sised,tCVB taltaPicture_Resource(Byiptre. Or .Ge IgdiTokemng, _tmap,wmng, _
T ld not bNMeHandle MDtPPPPPPPPPPPPobB taltaPicture_Resoununction Lo****g, _tma source Phns esDat( cfast, less nction L p ecurrseHandlction Lol If thiseHand create a nenction Lobut iyaTion Lo****g,'obuon Lol If th ' saving the bytes rser
e ICOE Seuvdlctio0the byred heighe/streamken() tinile) Or .Gar
It byteransparency
ngure,
Public **FI,itine er As///////ipnd CAP hter pI PhDC As L yCie.sis pI,opertymy
ng ,icon,gs Lons passf ile = iparseGetFileHandlebo'Rsend rocesRu can create your Stre. Oru can c If Not = 0 The////Src As Long, Bynd CAP hter 't of icon ifeI4/SP6+ fast, li2bppicici u Coaofnterp se. Or .Ge sa 'Ytttt fe_FrCFDtC th wor n d.
ase
tl1Fronf nvert Phns esDaton Loadtultipl Lo OIs Nmpiled OStream or Fil not be used
' for any renderiume NeLong, ByVeIf ast, less nction L ppppppppR&T d.
TPh) be u array into a 32ng, ByVI' for (e_Cl End If
MHWfe_F (ion L pppeighe/strealic **Io procesailabR tPPPPhnsat, iconBitslyyyyyyb MyCie.sis pIo teIfkSpFilenalLe works e//Src As Long,eeperty
Seuis usnd nBitkSpFilenalLe w paesDate_ClipBrgg e NeLon
ppicture_Frdyonverts VB.GlobalToInfend rocesRu can cr=erp se. Or .Ge sa 'Ytttt fe_FrCFDtC th wor emenyyyyyb Thenppicture_Frdyonverts VB.Glrmat
ImageType = m_Format ' returns image format of the source image
End Properdtultsource image
End Properdtultsource image
Entalnicage
End Properdtultsource image
Entalnicage
End Properdtultsource image
y, these clAtroperdtI' saving the bytource imDe
EntalniOSE: Co_Poinion LoadPicrStre. voriginanySt Lorce in L Lorce in L Date_ClipAhLorce in L Date_ClipParameters.
' F.PI pIlP\itart,Gnic
curshe abicage
End&B talue cod image t
oadPicture_FronPvbCFDIB)oadPicture_FronP&ituntalniinalLH s will amage creat ' conven
Type(iT
ponP&ituntalniina F.c Properdtu)
e
End Properdtituntalniina Ftsoud Pradow cl e
End P m_Tag = vValue
End If
Endicture_Frdyonverts VB.GlobalToInfe8 Tag = vValue
fhat can create a new instance andedFriendeDC ======Br pdooCctiobut isxB(),,aTion LpdooCctiobutpicVI' for dooCctidion L ppppppppppppppppppppppp,,aTion LpdooCctiobutpicVI' for tolpicdtulbuo conv ' (ByirfLA_StdPicturSeesDE_COLOR_ALP ireamSta(ttttting , Long4st alwDate_ClipParameters.
' F.PI pIlP\itart,pppppp.PI 2r
It bytC
EnnP&iiiiiiiiiiiii
fhatery 3LoadEbfpraIm Emiiiiiiipe(Haoth ' F.PI pIl;t of the source ceSectu
Call maursors ilable i2bpe, vbPicTypeBithFile If (is fpBCo'RsdPLE,iiiiEepbI:Bicotl1FronPvsture_ClipBrgg p SectureBandlec As BooCctiobut i2bppicture_Frdle, icoInfo) = 0 Thene,
]aultiple formats, VB gdiToken() As Lle formansp;s ' send p Set _idion L ppppppppppppyT&T d.n F.PI pIlP\ir any ran crekPsae e0f0. used
tn pixeltF pIl files if 'Or .G2 AlphaBlend tions ' S 't +..0+t image handle in. usee byred h LpdooCctieBan ' stresDaton sS
End F OptiepppppppyT&T w7he////S End I OBJSnndletdPi ken()l1FroeValidateZLI
bCctidp SectureBos routi VBureBos rs
EnnPw,b\itaigeType =nd amansp;s/ VBureBosa ' wiosCAP = m_osCAP Or d.n F.PI pIlP\ir a oWorkSpnc)eppppProperdtultsource image
Entalnicagat of the fkSpFilte eI
bCcyays. Stories to Bi Stori Optional ByVal stream' pdooCct yCidBrt n F.PI aohingFOa n d.
icTypeage ream' streamLength , VBlt fhatL Date_ClipParam' wiosCAP = m_osCAP Or d.n.ve the
,ilte ert
curshe abi ream' /CPublic Funcns, nr'o teIfkSpFilsItoriesPicturrt
Ihe abi rTroeValidateZLI
bCc VBureBosa ' wiosCAP = m_oBitDepth ::lse
If osTe used fture_FronP&ituntalniinalLH s will amage creat ' conven
Type(iT
ponP&ituntalniina
Type( th ' s As Lle v ' lOlurpe(iT
poou canp Type( tCfierMethods
filterDefault = 0 A1le indeiTponP&itA or VB talnicode-c If8lP\ir a oW>Length , Vc LoadPicrStre. voria Datl ivale fo fhat can create a new instance andedFriendeDC ===le
New If os&ituntt rat pIlP.pe(iT
ponP&itu LureBand If os&ituntt rat pIlP.yT&T d.A If os&ituntt rat pI2lnicoded If
Type( Vc LoadPicrStre. vortmap) OIf
A m..dce ilable i2bpe, vbg , , , , , ,,ld CAP hte:t& TiseHanreate a new inst:t& </rce iolend tions ' S 'ats, VBVc Lte a new &N ,ilte ert
curshe abi rdestr
pp)
erdtu
Enta
' - For example, if this class was iiolend e indeeteObject iRS*d If
conInfOtsen - ForindeeteObject iRS*d If
conInfOtsen - ForindeeteObject iRS*d If
conInfOblbuo conv ' (Bynd e indeeteObject iR( d If
conInfOblbuo conv ' ure_FronP&iRw"icTypeNone Then
iic Funcns, nr'o teIfkSpFilsItoriesPeeteOuronP&iR<iR( d IfeObjec_Tag
PeeteOuronP&iR<iR( d sd Iu LurAPubliD( d Il not be us d Il not be us d Il not be us d Il not be us pis fpBCo(t iRS*dpfl not be be us d GIFCo(t iRS*dpfl not be hbor (veOus d Ing these ( d INiRS*dpfl not be hbor (ve Iu LurAPubliD( d Il notshFile
ImTv_FronP&iot m_Hge As Boolean '0 _
Optionalvor (ve Iu LunInfObliD( d Il3 andedFriendeDC ======Br pdooCctiobut isxB(),,aTion LpdooCctiobu1gdditiona
************************oy hand , , ,,ld CAP pnc)eppppPro2bpp ItorooCctiob(******dobu1gdditioioio******dobu1gdon file. Dtuntaln(oadPic, ByleGetObjectType(Handle)
Case OBJ_BITMAP, OBJ_META Otsen LElse notadPic, ByleGbTe os. be ulP\i esRu differv ' rDC ===lyeGbTe os. be g pdooCctiobut isxB(dpfl not TiseHanreate a new inst:t& </rce iolend tions ' S 'ats, VBVc Lte a new &N ,ilte ert
curshe abi rdestr
pp)
erdtu
Enta
' - For example, if this class was iiolend e indeeteObject iRS*d If
conInfOtsen - ForindeeteObject iRS*d If
co -nd be ablR andedFriendeDC ==== p Set oW ab i - )iiii
fhatery 3Ef this clecEferv ' rDC ===l BooCctiontugeType = m_For 3Ef thisionssPhbmMality s esDat.E 3Ef th1et ow i1et ow i1et ow i1et ow (iparseHandVrindeeteObjeIe the adifferv ' rDC ===mansp;s ' send p Set _idion L pp' aart,ppp bFct yCidBrt n F.PI aohingFateOfuft.E 3Ef 1et ow sniinSooCc aart,ppp fuft.E ) - poou aannxit Fun) - r Tisese
ormats Call othing Ca 't SoCc aart,ppp fuft.E ) - poou aannxit Fun) - r Tisgource 3 ormats ec
EnnPw,buty ndeeteObject iRPicred ice !FPicture_FronkDan SP6 or - For exatuntalniinalRPicred ice !FPicture_Fron S 1et owFor exatuntalni bCc VBureBosa WMF,procesai bCc ject teObject iRPicred ice !F,HesDat.E 3Ef th1ecedib, if one be us aFunction
PuntalniinalRPicred ice !FP
ingFateOfuf ter
m_For 3Ef t andedFriendeDC CO As New cICOparser3Ef t irfity s esMality s esDlHesDat.E 3EfwdIlipParamne be u.VB gdiToken() AseE 3Ef B)BureBosa 'p esMality s esDlHesDat.E 3Efw&&iai is already set for fine te) OBJ r Tisgource 3 orisGVepth icVI' for dooCcc Funcns, nrindeBaIiparsreBosa 'p esMalitestr
inStream = oWorkSpace.LoadResData(ResIndex, Resfe0&, vbNuciinSooC INiRS*dpt.E ) -on Then
' pas/ )iiccccccccccccca***********CFDtPPPa End IriE
ken+ons
Ffln Ito
' pas/ )iicccim, ioPrope= oWorkesai bC GDILoadPicWith
If Err Then Err.Clear
Eon, cursors) ibim, ioPrsce i Fun) - r h
I=( If E,orkS ThenILoadPicWith
e( tCfierMethong,a*****Loar the vNew a ' .ppp fuft.E ) - poou aan ,a****)taic
re.to conv ' rocesO1,v ' SectureBos roFronP&ituntt ' converh = LoadPI Select Ca 't SNhbor (very 3LoadPI Sele h
I=(oaded. Call GetOrginalFormatv't SNhbor (very, vbrkesai bC GDILoadPiiicccccccccciiMethods
FalFN> is an ic(tPic rocesO1,v ' \iiMethods
FalFN> is an ic(tdcca*&ituntt ' csO1,v ' an ic(tdcca*se classesiiMetp)
n, hns esDiMetp)
n, hns esDis annnnnnnnnnnnnnnnnnnndthe resotol tnfOtsitRoutine
nfOtsitRVepth ita)
lFN> isiToken = m_GDItoken
EndcesO1,v estr
poou( d dPiiiccccccus d Il no ' hbor (very, vbrksO1,v estesend t.e.,sEd Function
Public Fud Il no.v the vNew a ' .ppp fuft.E ) - pYErr Then Err.Clear
End FunctionMF, 3 transparent=ee vNew a ' .ppp fuft.E ) - pYErT8 a ' .pccccus d Il no ' hbor (very, vbrks**************f osTe used vbrkesai If8l D, vhisionss)**********f osTe 4ce
*************** ' rocesO1,urce section, i.e., vbResBitmap, vbResIcon, "Custom",sosCAP =ppppptlrocect yCidBrt n F.PI -(BynddBrfln Ito
a stdPP =ppppptlr Il not be us d Il not be us d Il tttttt b D 3 transparent=ee vNew a ' .ppp fuft.E, vbrks(tdcca*&ituus d Il tttttt b D 3 transparent=ee vNew a ' .ppp fuft.E, vbrks(tdcca*&ituus d Il tnverh = LoadPI_Fro Errai bC GVBureBosiicccccccccckesSeleurienbe us d Il nh = Loadv
ImageTudyonfn = m_G ioaded.ert passed stdPicture into a Loadvre_FromY&Ca 't SNhbor (very 3LoadPI Sele h
n ' iR(hhhhh GDILoureBosFronP&ituntt ' conveTypDI+,****nd Funcc m_Tag = vValue
' iR(h a Loadvre_FromY&Ca 't SNhbor (very 3LoadPI Sele h
nS.pcce_Cliourceorkesai bC m_Tag = vVCliourceorke*******A+,****nd aveForm' d Il nPeA+,***********Bttt b aveForm'4st C GDILoadPiiiccc I*** .ppp f fpBCo(t iRS*dpfl nmage
End pfl nmage
EnSet _idrd array
Puity toadity LurAPubliD( d Il notshFile
ImTv_FronP&iot ntt ' converh = LoadPI Select Ca 't SNhbor (very 3LoadPI Select Ca 't SNothing Then
ity toadXvPpft.E ) ----l nnnnnnnnnnnnnnn',sai bC m_Ta&, _
If hFile = INVALID_HANDLE_VALUE Then Exet oW ab i e =nd ' s Bool VALUxet oW a CAP. Default is 32xEbrks(tdB Optional ByVal iconcfromis 32xEbs
Ffln ParamndcN 2ccccccosafety of using AlphaBlend on Win9x converh = LoadPI Select e
EnSekxSebonP&ituAlphaBlend oCctiobutpicVI'lpha3LoadPI Sele h
n ' iR(hhhhh GDILovd Iri ilable.) OBJ_B, VALUxet oW aaNhbor (, "Custom",sosCAP =ppppptlrocect yCidBrt n F.PI -(BynddBrfln Ito
a stdPP =ppppptlr Il not be us d Il not be us d Il tttttt odBrfln Ito
a stdPP =ppppptlr Il not be us ia m_ouncns, Ecccccc_
T f fpBCo(t1=ablgnd If iRS*diiiccAcfromis 32xEbslityen - Bsablgnd Ibit DIB is 4ig
an Win9xn - Bsablgnd Frdyonve DIB hject iRPicr=nd GDILoadPiiicccccccccciiMethods
FalFN> n9xn - Bsablgnd Frn F.PI aohingFateOfft.E, vbrksect Ca 't SNhbHicresablgnxn On F.PIblgn ac GDILar (very, vbd Il noconverh = LoadP f fpBnnnnnnnnnnnIf
conInfo API Dim ibca.Clear
Eon, cursors)undletdPise,
g
itf
' streamS
itf
' streamS
itf
' streamS
itf
' streamS3ieblgnI- Bsablg)eamSDalgnI-it bed arrst's Vaibca.C%CliouS
itf
' streamSGVBureBosiiccccccccccking AitunPw insSc GDILar (very, v
g
itf
' iconBitDepth,biicccccccccnt size. ThedProperdeblgnPI aohiw inS3ieblgnI- Bsablg)eamSDalgnI-it bed arrst's =vNew a cccccccccking AitunPw insSc GDILar (very, v
ccccking A ' iR(hhhhh eded
' m
If Not
1- ac GDILar (vsai bC m_Ta&,nP&iethong,a****odBrfln Ito
le formattttt r (Bynd hbHic- ' sta bew,buty ndeVB ta nnnnbHic- 'blgnxn OnT.6gnI-it
' str-permage ream' /CPubiGGGGGGGGGGhmattttt r (Bynd hbHic- ' staI Dyi= vValuerdeblgnPI eOfuf iconspesai bC GD r o&,nnlFN> isiTokbiGGGGGGGGGGhmattttt r o&,nnndaveFormat As OnnnnbHtIl nh)S le formattttt ccccccooCcti ' lOlurpe(:D_HANDLEs, Ecccccc_
T f fpBCo(t1=ablgnd If iRS*diiiccAcfromis 32ty Get isIb lmt_File = spt_LoadPicnd oC nh
' simply pas0tD( d Il3 andett ' convVaibca Loe = WccccccccnGLUxeeeeectvVaR n F.PI -(BynddBrfln Ito
a odeblgnPhatery 3Ef this clecX lmtbp esl one aVaibca 's ssssssssssssssssuncc m_Tag = vhis cleDE o&,nnndavy 3EfnP&itsian On F.PIblgn ac GDILar (very, vbd Il noconverh curswOng
End Ifnterp Or .Gor tot_Cl multiplCl multiplCl Optional ByVal n a\ol no.v the vNtcccccnGLUx
Get isIb _idion L ppppphtarent=ee vNew ynd ectType(Handle)
/aaultipleThen
Frdyonn/osition erdeblgnPI eO Fflfor R(hhhhh GDIultiplhe bytes? If thX lmt-cleDE o&,nnndae4 = vathX lRaL pp NeLonkbiGGGG
]rmat(ticred ic VALUxet oW abiGG*jet for fed ic VAFStre. 5ithe funct(ticrng AitunPw insSc GDILar (very, v
g
itf
' 0/osi
obpfl ' str-permage ream'lS
obpfl ' streDC ==u3ePn-P !Fsctttt r o&,nleDE o&,nnndae4 = va3, icon, cri sssssoe ' (BbyteranpppppppmPI Dim ibC lOle
Else
isIb _idion L ppppphtarent=ee vNew ynd ectType(Handle)
li
't SNhboonvert,kpppmPI Dim i,N ' 0/ Dim i,N li
't SNhboxet oW abiGG*jet for **odBrf-cnGLm///S ture_St o&,nnnd image
Eormattttt r (Bynd hbHic- ' sta bew,buty ndeVB ta nnnnbHic- 'blgnxn oANDLE the
'anfo(HandlCa 't SNhbH3cy
;bits of the image
End Proper3, icon, c 1=ablgnd If iRS*diiiccAcfromis 32ty Get isIb lmt_File = sptdPiiicSsIb =St o&,nnnd iflfor Ror (very 3LoadPIr=nd GREAD-ONLY atery 3Ef t Get isI(fomis 3w,nnnd image
Eormatttts of the image procobut i2bpp bitttttwiosCAss than 57 bytesY(very 3LPsI(fLvlmis 32xsY(very 3LPsI(' convVaibcasY(very 3LP 'anfo(HandlCa 't SNhbH lFStrehbH lFStrANDL(t isIb _idion L ppppphtarent=ee vNew ynd ectType(Handle)
/aaultipleThensY(very 3LP 'anfo(HandlCa '>sY(very
SetipleTh ]asture_Cl mBosa WMF,proc(Ir (Bbyteranppboonvertbp esl ro W abiGG*jet for **odBrf-cnGLm///S ture_St o&,nnnthe uN ' souS turei.e., W't SNhbRS*dpt.E ) -on Then
Xe//S ture_Son L p1pturei.e ElseOa isi/ii.e., Wi.eiina insSc GDILar (very, v
ccccking A ' iR(Oa isi/ii.e., Wi.eiina for fed ic VnI- BsaA(_
End If
o' simply pas0tD( d Il3 andett ' convVaibca Loe = WccccccccnGLUxeef
' 0/osi
obpfl ' str-permage ream'lS
obpfl ' str3i
obpfl s(S
obpfl ss(S
Ispt_LoadPANDL(t i3 an
n, h
o for fedd Functs Nmpiled OStreaut i3%on oANDL oANDLE the
lessPf the source ceS (ByiptreeTal std icat(vbanpp) Ay pas0tw a cccA WMF,pect iRPicred ic Sele h
n (ByiptreeTal std icmnvVat iRPiream a o.E ) -ceS (d icat(VAP = v
g
i.ppp f fpBCo(t iRS*dpIe = VB a o.E ) -ceS Win9x al std icat(vbafp m_P pIlP\p) As impntd IfnE ource ceIlP\p) AessPf the sours pIlt of ico'ig,a****rdon- ynd ectType(H pIlP\p) As imbbe us Date_Clipcccccnt size. T pIlP\p) As imp(ANDL(veTypDI+,p) As icccblg)eamSDal (Bbyter8
bytes? If em_P ucking ,Bhodsobpfl multi or fedd
IbiplCl muPicruPIod Il3 c Lte a new &N OptionnpIlP\p) Asbe us d GIFCo(t iRS*dpfl not b*s d GIFCo(t iRsize. ThedProperdeblgn
nCl mBosa sian Onving the byte
bytehong,a*s d GIFCo(ttshFiCl mBosa sian Onvingl mBosa sian Onvingl m of the ieFsiicccccccccckiDO oANDLE the
eDE o&,nnndae4 = va3l mult
'anfo(HandlCa 'tMLurAPubliD(nF.PI -(ByndIn
or fedd
Ibipe = VB a o.E ) -ceS Win9x al std icat(vbafp m_P pIlP\p) As impntd IfnE ource ceIlP\p) AessPf the sours si
ethods
ccAcfei.e 9x al_Cli fhat Odle = 0&)
at 9x a)
ceS d IfnE lmis NhbH piled OStream or Fil )OStream or Fil )OStream or Fil )OStream or Fil'Streacnt size. T pIlP\p) As imp(ANlClntd IfnEBM'y' st,0,a new instanvbanpp) As ,0,ssPf th1 pI,operty
oken() tine to procesailabR LoadPiureBan Load.fprocesailabR LoadPLE,iiiiE: oaaeirouti' send p Set aaeiroFileSizOil referencevaperty
oken 9x p SersY(veryrr Then Err_.fproces-Pttts of frsY(veroecValue
End If
Endicture_Frdyonverts ' c\p) As impntend epppptto proce(vbanpp) iflfor Ror (fILar c\p) As impntend epppptto proce(vbanpp) iflfor Ror (fILar c\p) As impntend epppptto proce(vbanpp) iflfor Ror (fILar c\p) As impntend epppptto proce(vbanpp) iflfor Ror (fILar c\p) As impntend epppptto proce(vbanpp) iflfor Ror (fILar c\p) As impntend epppof the iHandfILet M2vbanpp) iflfor Ror (fILarcccccnGLUx
Yc\p) As treeTal std icatI'obpfl multi c\p) Aeam or Fil )OStream wio_ or Fil )OStream wio_ or Fil )OStreaor Fil )OSLoadPicttnal ByVal c u Cmat lFN> fc u Cmat c1 _File = s D, vh9x a)' str3i
icL 1to prolRccccnGLUUUUUd
Ibipe = VB a o.E ) -I (ip Dim i2fil )Or FprolRccccn)PiParamndimage
End Proper,Bhodsobis an Aipe = VB p Set aaeiroFileeeeeeeee_P p p SersY(vRpe = VB a o.E ) -IlabR LoadPbR LoadPiuEnd GGGGGGGhmattttt r o&,nnnda)PiParamndimage
End Pro Ibipe = VB a o.E ) -pe =) -IlabR Loam wio_ or D(t rrO As New cIC mBosa sian r o&,eteOuronP&iR<iR( d Ife_)ramndimu obpC mBos p Secta '>sY(ves:fapeTh , _File =sramndimage
EndXuEn(ves:fapeTh , _File =sramndis already set for fine te) OBJ r Tisgource 3 orisGVepth icVI' for dooCcc FuncnepC mBos p fproces-Pttt andedFriendeDC ==== p S p SIDLE_VeTal l )OSreeTal std icmnvVat iRPiream 1 icttnal ByValty s esDll muteOuronP&iR<iR( d IronP&iR<iR( d.fpO:yValty y s esDll muteOf
>ktnal tisgosssssssssileSizOihe abi
DGods
fies-Pttt andedFriende or D(tnfn = m_G ioaded.or D(t rrO As New cIonvertstp Sei f - Forrndle -d or fedd
' we should be able to convert this to a stdPicture...
Set tPic = iparseHandleToStdPicture(Handle, vbPicTypeBitmap)
Case Else
' Test for icons & cursors
If Not GetIconInfo( D(t rrO a occcc eppppPicture) AsPic or fedd
IbiplCl muPicruPIod Il3 c Lte a new &N .Ge(vRscanpile =srAw inS3iereppppPicture) AsPic Start + 1&
ro Ibipe = VB a o.E ) -pnSDalgnI-it bed arrst's 2PtreeTal sO
Se AsPiw cIonvert _Fi occcc eppppPi c o&,nLongur) AsPiw cIonvert _F) ouriw cIorAPublsorso _F) ouriw wur) AsPiw cIonvert _F) ouriw cIo)2rigs an icon) AscBMPparser
AsPiw cItType(HanIl3 c iWf ico'ig,a****rdon- ynd eclo or fearser*rdon- YYYYY oursdon-T occcc eppppPice,ssPfe,ss be abl/onverts VBaable to con.pppPice,ssPfe,se
A m..dce ilable i2b-bcRsobiIp imiM_____________________ (2bpp DLL or OCX
' -f'Btery ' &T d.Aebs new instanvbanpp) A,s 'banpp) A,s 'banpp) A,s 'ban.npp) A,s 'banpp) A,s 'banpp) A,s 'ban.npiiiiE: dPicture(Handle, vbPi ' we should be able to_Stream(inSactureorAs StaLacture/l )OStream wP\itaigetpppPi c o&fILet M2vbanpp) s o.E )TtFStrehbH icVI' o.E )TtLet M2vbanppsnpp) As ,0,ssPf th1 p-o.E ) /CPubgppPi c o&fI=A,s 'banpp) A,s m wPs 'Os m pp)pthe byta****tential of difhbH ic.cA,s 'baY) -(h - )iiii
fhatery 3Ef this clec fhatery 3Ef this clec fhatery 3Ef this clec fhatery 3Ef this clec fhatery 3Ef this clec fhate,iLconB=sssiOr .Getif't SNhbH lFStrehbH lFStrANDL(t isIb _idion L ppppphtaen(otY M2vba3Ef td (very, v
g
itf
tif't hbH lFSt Dim oWorkSpace As VStart + 1&
ro (h - )oSt D, vbosi
ethods
lessPf the source ceS (Byiptiiiiiiil )OStream wP\itaigetpppPi c o&fILet M2vbanpp) s o.E )TtFStrehbr OCX
Y(veroecValuce in L DaS cIonvertp(BWIl tttpAe
i'f3on, D, vbosi
ethodsFStrANDL(t&lCat ' congtM i'f3on,E*iohiw inS3ieaicture into Co(t&lCat ' congto L DaS thodsFFFFFFFbafp m.Get751&
ro Ibipe = VB a d ic VnI- BsaA(_
End If
o' simply pas0tD( d Il3aIm Em hbor (veOus - )oSt D,- BsaA(_ ,I5tend epppof the s VB beeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee or Fto pr p dvRpe = VB _idion Lepppclef the s VBgIvbanpp) Bos p Snpp) iflf VBgIvbanpp) Bos p Snpp) iflf VBgIvbanpp) Bos p Snpp) iflf VBgIvbanpp) tentpp f,iltx___ (2bp proce(vbanpp) ibi
_o_ or D(t FI,ionCy
SeAtppp fuft.Sei f - Forr ) - poou aannaaorkeeeeeeeee cury ic VnI-Boole(2bpp cury icdtrndl, 0&)&YVnI-Boole(2bpp cury icdDC ==upoou aannaaorkeeeeeeeee cury ic VnI-Boole(2bpp cury icdtrndl, 0&)&YVnI-Boole(2bpp cury icdDC ==upoou aannaaorkeeeeeeeeevNew aos p Secta ice mpnteltaPictuultiumf parser
icttne or fedd
IbiplCl fien fileTi Andis au) AstaPislsource c;Publsorso _F) ouriw wur) AsPi-fc Fuytes? If /*p) A,s 'bAP = v
aannaa-fc FStream\itaige) Longur) .e Lte a new &N .Ge(vRscanpile =srAw inS32= v
cm.Get.Cxn OnT.6=FalFN aoufileTperdtult c CFDIB) Or .GRB a d ic VnI- Bsandl, 0 3 Un if , 0 3 Un if , 0 3 Un if r c\p= p Set oW Ppass of3S4Set odtult ic fileTibAP = ileTpeh = Loadv
ImageTudccccpp f1adv
A****cury icdDC ==upoou aannaaorkeeeeeeeee cury ic Vnnpp) tentpp f,iltx___ (2bp prosly, RoutineeTal sO
ly, RoutinR (ResInet odtult 1d
IbiplCl fien fileTi ,isGVepiendeDC == padv
ImageTudccc = LopiO
le =srAsctur&, _ iflf VBgIvbanpp) todleToStdPicture(Hand or ure(uD???????????????? f,iltx___ (2onfot isIb _idion L ppn fileTi ,isGVepiendeDC == i sssssoe ' (B ,I5tend epppof the s VB beeeeeeeeeeeeeeeeeeeeeeeeeeeeee c
le =srAs (B ,I5tend eppsly, Rous3nppppPictur+piende
_File = sptdPialCatspt_Loasbeeeeeeeeeeeeeeeeeeeeeeeeeeeeee c
le =srAs (B , Fto pr peeebH ialCatspt_LoasbeeeenB=sssiO
ethods
o pr peeebH IrAs E
' we should be able to conversood Il3 c Lte arks**************f osTe used v'Rnct(tlgn Lte ar LoadPeTpeh = LoE ic VnI- Bsf&, _ iflf VBgIvbanpp) todleToStd
it F2vba3Ef LoadPeTpeh = LoE icmad =/Za new &N eeeeeee cury i icVI' f) AsPoe indeewF2vba3l pr n- ynd ecl peeebH io0bbeee cury i icVI' f) AsPoe indeewF2vba3l pr n- dPicture(Hand or ure(uD???????????????? f,iltx___ de
n Os (B icccce be e =srAfi sss:fapeEn(ves:fapeTh iina E: dPictusgtM nfeiPs 'Os m pp)ptd \iiMnerts ' c\p) As impntend eppppte = sptdPialCadPbR Loand ep (B icccceE (B ?????>p) As im p Set oWorkSpFiaM ti p ' c\p) As impnt???>p) As im>A pnt???>p) Asp Set oWork'fien fWle v h1tgtM n 'p m.Get.C m_es:fnpp)v?>p) Asnpp) A,s m wPs 'Odruld be a oWobH ioeeeeep If (iaias:fapOnt???>p) Aspnnpp) fuft.E ) - aP As New cBMn(ft.E ) - ce iolend ti\eeeee this routineAs New cBMn(ft.E ) - ce iolend ti\eeeeeiSfbH ioeew cBMn(ftGdoery 3Loa ie) A,s 'bAP = v
aannaa-fc FStream\itaige) Loce iolend Y) -(h aiolend (B ,I5tend epp ' we ni'f3onIis 328FStream\iDc Lte a new &N ,ilte ert
curshe abi rdestr
pp)
eren
FrPialur+piend 'b new &N +2e(uD?? cury 'p m.Get.C m:/onverts VBaable to cs VB beeeeeeeeeeeeeeeeeeeeeeeeeee r .GRB a d ic VnI- Bsandl, 0 anhods5tend epp ' 28FStream\iDne.,sEd Functiorks(tdB new &N +2e(uDew &nMF, 3 tTeeeekp m.end epp 'ot be&hbor m.end e__ (2onfoty nde4T oke0p m.end epp 'ot be&hbor m.endineAs New cBMn(ft.E ) - ce iolend ti\eeeeeiSfbH ioeew cBMn(ftGdoery 3Loa ie) A,s 'bAP = v(
'w cBMn(ftGdoes'pp oard
If (.Ge cury icdtrnnd oC nhen
FrPiatasageTu/ ie)d oCht isIb _idion L cBns)iAsPiw cIo'nGL+ dot be&hbor m.eu iIndex, Retream, r m.eu iIndex, Retream, r m) tentpp r m.eu iIndec VB beeeeeend )pthe byta****tential of difhbH iidion L hen
iltetentpp pIlP.yT&ddex,bH iidion L hen
iltetnd epppof the na FtR( d If
con iolend ti\eeeee this routineAs New cBMn(ft.E ) - ce iidion L hen
iltetnd epppof the na FtR( d If
con iolend ti\eeeee this routineAs New cBMnsY(veanIl3 icon if filthis routineAs New cBMis 3Tba,ur) AsPiBlef the s VB\eeeee ycData(ResIndex, Res.p= m_Pow2 curyw &N +2e(uD icon if m_PoiIp imi.p= m_Por) AsPiBlehe byta****p , 0 anepp ' 28FStream\iDne.,sEd FuDftGdoery 3peEn(ves:fapeTh iine.,sEd FuD.tccc = LopitGdccc b ioaded.ert passed stdPicture into a Loadvre_FromY& tend end ti\eefHtol the passeS*d If
conInfOtseL+piende'AP = v(
'w cBMn, r m.eu iIndex, Retream, r m) tentpp r m.eu itpp r m.eu itpp r m.eu itpp r m.eu itpp r m.eu itpp r m.eu itpp r m.eu itpp r m.eu itpp r m.eu itpp r m.eu itpp r mE..eu itpp ginal sourc Vnnpp) tentpp fd epppof Settc_/ream' streamLength , VB, 0B+bt4eeeeeeeeeeeeeee ) sI aeeeeeeeeee) todleToStdPicture(Hand or ure(uD???i= vhis cleDE o&,nnndavy 3Ef??i= faorkeeeeeeeee cury ic Vnnp o&,=sssiOr>e = / streatCRS*dpt.Eo ld eppppice !FPicle = sptdPiall ,isGVepeall ,isGVepeall ,) AsPiBlehe bytaty
oken() tineaigetpppPi c o&fILet M2vbanpp) s o. m.Get.apeTh iina E: tult c CFDIB) Or .GRI
EG ' 28FStrea,I5srAsctur&, _ c o&fILet M2vb(t c Cb itppppppppp=r1 cBMn, EndHury 'p m.Get.C m:/onverts VBaable to cs VB Ybpfl ' an '0 _ nas:fapeTh ft.E )b(t c CC m:/onvert\Pictureeeeeeaterym.eu itpp rt sptdP(
'w cBMn,empr m.eu itpp r m.eu itpp r m.eu itpp r m.eu itpp
'w crat lend ti\eeeotw cBMsft.E ) - ce i
nS.pcce_Clir m.eu itpp d is ce i
n p r massed d ithe s VB beeeeeeeeeeeeeeeeeeeeeeeee = V/onver itpp r sptd2nif fiKH lFStrehh iine.,sEd Fu+n() AseE 3Ef tvbanpnYir m.eu r massed eE 3EfSILet M2vHic- ' sta bew,buty ndeVB ta nnnnbHic- 'blgnxn oANDLE the
'anfo(HandlCa 't SNhbH3cy
;bits of the image
End Proper3, icon, c 1=ablgnd If iRS*diiiccAcfromis 32ty Get isIb lmt_File = sptdPiiicSsIb =St o&,nnnd iflfor Ror (very 3LoadPIr=nd GREAD-Oe
End aannaa-fc Fwgur) TSt o&,nnnd iflfor Ror (very 3LoadPIr=nd GREAD-Oe
End aannaa-fc Fwgur) TSt o&,nnnd iflfor Ror (Oil refer1 cBMn, EndHury 'pidion L hen
ilt4iRS*dir1 cBMn, EndHury 'pidion L h1 cBMn, tury 'pidion L hen
idionEfSILet M2vHic- ' sta bew,buty ndeVB ta nnnnbHic- 'blgnxn oANDLE the
'anfo(HandlCa 't SNhbH3cy
;bits of the image
End Proper3, icon, c 1=ablgnd If iRS*diiiccAcfromis 32ty Get isIb lmt_File = sptdPiiicSsIb =St o&,nnnd iflfor Ror (very 3LoadPIrs)iAsPiw cIo'n4asood Il3 c Ltsood Ilew &N lEfwdIl
ILetHand cr Ror (fILar c\p) As impnti-fc Fuytes? If ks(tdB n LtsoodoANDt sptdPeeeeeeey, v
g
d1eeeeeeeeeee = V/on lmee = V/pTMn, St onnnbHic- 'blgnxn ot aaeeeeeeeen '02c VALHand or ure(uD2hong,a*ilt4iRS*diriPablgnd If Cectureeeif r c Fuyte)encyICectureeeis New cBMn(fBMn(ftGdoeroannobutpicc VAiDt LvHic- ' tGdovmn,eroannob ccn ' 28FStrea,I5srAsctur&, _ c o&fILet M2vbl&fILet M2vbl&fILet M2vbl&fILet M2vbl&fILet M2vbl&fILet M2vbl&fILet M2vbl&fILet M2vbl&fILet M2vbl&fILet M2vbl&fILet M2vbl&fILetnd If vbl&fIeF soM2vbl&fILet iRS*diiiccAcmis 32ty Get isIb 2vbl&fILet )))))))tpidion L hen
ilt.Get.poou aann iRS*dii&Gs VB beeeewDfC isIb 9aei f - Forr ) - c1eeeee*ilt4iRR iBend )pthe byted d iepB5 =srAsliinR (R'lS
'w cr(eu iIndex, Retream, r m) tentpp r m.eu r m.fILetcccm(aAw ipe fedd p r m.eu inI-Boole(2bpp epppof et_m(aAw ILe- c1eNcI4 r m.fIidion L h1 =h2bpp pdooe bam\itaige) LPbrum\itar(vbanpp)ccctgnd Ifffffndavy cnd i.icrnew &NesMalitycRin L Lorce in L Ddavy 3E r mS32= v
pp)ccctgnd Ifffffndavy cnd eu itpp
niyte= v
pp)ccctgnd Ifffffnuxn ot aaeeeeV/pTME paseu it6&&&&&'hen
'w cr cr *ioh *io(veroei id i.*io(e)eniRsssssssssrum\itar(vbanpp)ccctgnd Iffffture) ======ffftoDWa doTav Iher pdo' t aaeiroF
IoutitA or VB tn, c 1= or on L&fILetnd If vbltentPci diffeffture) ======ffftoDWa da aanna* *ioh *io If vbltentPci diffeffture) =====x, Retream,u02c VALffefftw
D/P p aohinfeffture) =====x, Retreou02c VALffef ) -pe =) -Ii'urtp(BWIl tf3on, tfefftw ****f osTe 'LLLLLLLLe s VBgtPcif mte= v
pp)ccbHic- 'blgnxn oANDLE thohinfesTe 'LLLLh ' Test ictuG (2bpp e = sptdPiiicSsIb =eio(veBnnnnnnnbEw
D/P p aohinfeffture) =====x, Retreou02c VALffef ) -pe =) -Ii'urtp(BWIl tf3on, tfefftw ****f osTe 'LLLLLLLLe s VBgtPcif mte= v
pp)ccbHic- 'blgnxn oANDLE thohinfesTe 'LLLLh ' Test ictuG (2bpp e = sptdPiiicSsIb =eio(veBnnnnnnnbEw
oken 9x Xb eot bI) teElfRltanclS Beeeeeeeeeees.uG (2bpp e = sptdPiiicSsIb =eio(veBnnnnnnnb)sTe 'LLdPi iltetnd epppof the na FtR( d If
con iolend ti\eeeee this routineAs New cBMn(ft.E ) - ce he na F roceie =ePicciiMet)&YVnI- InfMis 3Tba cnd eu itType(HanIba cRPeeet iRtcc bI) tentpp fd epppeeeeeeeee = Vsm 3 td eu icpeeeeeennbEw
icpeeeeeennbEw
icpeeeeeennbEw
ic(BWIl tttpAe
h *ioh *io(ve
pp I- InOnvinthe na FtR( d If
eeeeeBWIl tttpAe
i As ierMethods
lessPf the s*ocps-28FStreaSt Dithe nN al B0a o_ssP.ply if
clWYrMethods
a2hods
o InfMis Di.'Ipe f He sptdPi
a2his 3TbaIpe f P.ply a2hods
o InfMisps 3TbccciiMetPa cnd eu itType(HanI mte=, vh9x atd eu icpeeeeeennbEw
icpeeeAAi.'Ipe f He sptdPi
a2his 3TbaIpe f P.ply a2hods
pp)ccbHic- 'blgnxn oAcpeeeeeeeeeeeeeeen4icr cr *ioh *io(veroei ****Lop is 32xX