www.pudn.com > jq_transfile.ARJ > LOADSDK.PRG
*ÖÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ·
*º º
*º ÎļþÃû³Æ: LoadSDK º
*º ¹¦ ÄÜ: SDK for FoxProµÄ×°ÔØ³ÌÐò º
*º °æ Ȩ: ±±¾©Ï£Íû¸ß¼¼Êõ¼¯ÍÅ º
*º ×÷ Õß: Âí¿Æ º
*º °æ±¾ÀúÊ·: ÐÞ¸ÄÈÕÆÚ ÐÞ¸ÄÕß ËµÃ÷ º
*º ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ º
*º 1995.10.08 Âí¿Æ ÔÚSDK 1.0°æÖÐÌṩ º
*º 1996.06.08 Âí¿Æ ÔÚSDK 2.0°æÖÐÌṩ£¬ÔöÌí º
*º SDKÄÚ²¿»Øµ÷¿â º
*º ×¢ Òâ: Çë²»Òª¸Ä¶¯´Ë³ÌÐòÎļþµÄÃû³ÆºÍ³ÌÐòµÄÄÚÈÝ£¬·ñ º
*º Ôò¿ÉÄܵ¼ÖÂSDK³ö´í¡£ º
*º º
*ÓÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĽ
set talk off
set esca off
priv FoxVer
if disk()<4096000
? 'Ó²ÅÌÊ£Óà¿Õ¼ä²»×ã4Õ×(M)!'
wait 'Çë°´ÈÎÒâ¼ü...'
retu
endi
FoxVer = vers()
if ('2.5' $ FoxVer) or ('2.6' $ FoxVer)
if '(X)' $ FoxVer
set libr to FP25X.plb addi
else
set libr to FP25.plb addi
endi
else
? 'SDK²»Ö§³ÖÄúËùʹÓõÄFoxPro°æ±¾!'
wait 'Çë°´ÈÎÒâ¼ü...'
retu
endi
set libr to DBFKey addi
public _SDKPUB , _COPY , _AND , _OR , _XOR , _NORMAL , _SHADOW , _PARARENT;
, _OUTLINE , _BACK , _SLOPE , _SCROLL , _LEFTUP , _LEFTDOWN , _RIGHTUP ;
, _RIGHTDOWN , _LINE , _BAR , _PIE , _BAR3D , _PIE3D
_SDKPUB = ''
_COPY = 0
_AND = 1
_OR = 2
_XOR = 3
_NORMAL = 0
_SHADOW = 1
_PARARENT = 2
_OUTLINE = 4
_BACK = 8
_SLOPE = 16
_SCROLL = 32
_LEFTUP = 1
_LEFTDOWN = 2
_RIGHTUP = 3
_RIGHTDOWN = 4
_LINE = 1
_BAR = 2
_PIE = 3
_BAR3D = 18
_PIE3D = 19
_GENMENU = 'SDKMENU'
_GENSCRN = 'SDKSCRN'
set colo of sche 1 to N/W,W+/B,N/W,W+/B,W/B,W+/B,W+/W,W/N,N/W,N+/W
set colo of sche 2 to N/W,N/W,W/W,W+/B,N/W,W+/B,GR/W,W/B,N/W,W+/W
if not used('SDKRSC')
use SDKRSC in sele(1) share
endi
set order to RSCTAG in SDKRSC
retu
*=========== LoadSDK Ä£¿é½áÊø ================
*ÖÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ·
*º º
*º ×¢Òâ: ÒÔÏÂΪ SDK 2.0°æÖÐʹÓõÄSDKÄÚ²¿»Øµ÷º¯Êý¿â£¬Çë º
*º Çë²»Òª¸Ä¶¯´Ë³ÌÐòÎļþµÄÃû³ÆºÍ³ÌÐòµÄÄÚÈÝ£¬·ñÔò¿É º
*º Äܵ¼Ôò¿ÉÄܵ¼ÖÂSDK³ö´í¡£ º
*º º
*ÓÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĽ
*ÖÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ·
*º º
*º º¯ Êý: __Pull º
*º ¹¦ ÄÜ: SDK 2.0µÄÄÚ²¿º¯Êý º
*º ×¢ Òâ: Çë²»Òª¸Ä¶¯´Ë³ÌÐòµÄÃû³ÆºÍ³ÌÐòµÄÄÚÈÝ£¬·ñÔò¿É º
*º Äܵ¼ÖÂSDK³ö´í¡£ º
*º º
*ÓÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĽ
proc __Pull
para tName
clea type
= __SdkSvc2(tName)
acti Popu &tName
=DeacPopup(tName)
if last()=19
keyb '{LEFTARROW}'
keyb '{ENTER}'
endi
if last()=4
keyb '{RIGHTARROW}'
keyb '{ENTER}'
endi
if last()=27 and not mdown()
keyb '{ESC}'
endi
retu
*ÖÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ·
*º º
*º º¯ Êý: __ChnFld º
*º ¹¦ ÄÜ: SDK 2.0µÄÄÚ²¿º¯Êý º
*º ×¢ Òâ: Çë²»Òª¸Ä¶¯´Ë³ÌÐòµÄÃû³ÆºÍ³ÌÐòµÄÄÚÈÝ£¬·ñÔò¿É º
*º Äܵ¼ÖÂSDK³ö´í¡£ º
*º º
*ÓÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĽ
Proc __ChnFld
para tOrgFld
priv pArea , pFldName , pFull
pFldName = uppe(rtrim(strtran(tOrgFld,'->','.')))
if at('.',pFldName)=0
pFull = set('FULL')
set full off
pFldName = subs(dbf(),3,len(dbf())-6)+'.'+pFldName
set full &pFull
endi
pArea = sele(0)
if not used('SDKRSC')
use in sele(1) share SDKRSC
endi
sele SDKRSC
set order to RSCTAG in SDKRSC
seek pFldName
if !foun()
seek subs(pFldName,at('.',pFldName))
endi
publ _SDKPUB
_SDKPUB = iif(found(),allt(RSCTITLE),tOrgFld)
sele (pArea)
rele pArea , pFldName , pFull
retu
*ÖÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ·
*º º
*º º¯ Êý: __GETICO º
*º ¹¦ ÄÜ: SDK 2.0µÄÄÚ²¿º¯Êý º
*º ×¢ Òâ: Çë²»Òª¸Ä¶¯´Ë³ÌÐòµÄÃû³ÆºÍ³ÌÐòµÄÄÚÈÝ£¬·ñÔò¿É º
*º Äܵ¼ÖÂSDK³ö´í¡£ º
*º º
*ÓÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĽ
proc __GetICO
para tIcoName
priv pIcoName, pArea, pFHandle
pIcoName = uppe(allt(tIcoName))
pFHandle = fopen(pIcoName,0)
publ _SDKPUB
if pFHandle>0
_SDKPUB = fread(pFHandle,10240)
= fclose(pFHandle)
else
pArea = sele(0)
if not used('SDKRSC')
use in sele(1) share SDKRSC
endi
sele SDKRSC
set order to RSCTAG in SDKRSC
seek '_ICO.'+pIcoName
_SDKPUB = iif(found(),RSCMEMO,'')
sele (pArea)
endi
rele pIcoName, pArea, pFHandle
retu
*ÖÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ·
*º º
*º º¯ Êý: __Chart º
*º ¹¦ ÄÜ: SDK 2.0µÄÄÚ²¿º¯Êý º
*º ×¢ Òâ: Çë²»Òª¸Ä¶¯´Ë³ÌÐòµÄÃû³ÆºÍ³ÌÐòµÄÄÚÈÝ£¬·ñÔò¿É º
*º Äܵ¼ÖÂSDK³ö´í¡£ º
*º º
*ÓÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĽ
proc __Chart
para R1 , C1 , R2 , C2 , tFldLst
priv all like p*
priv X1 , Y1 , X2 , Y2 , X11 , Y11 , X12 , Y12 , X21 , Y21 , X22 , Y22
pChartSet = GetChartSet()
pType = asc(subs(pChartSet,1,1))
pSubType = asc(subs(pChartSet,2,1))
pNetLine = asc(subs(pChartSet,3,1))
pDistY = asc(subs(pChartSet,4,1))
pBack1 = asc(subs(pChartSet,5,1))
pBack2 = asc(subs(pChartSet,7,1))
pScaleLine = asc(subs(pChartSet,9,1))
pOutLine = asc(subs(pChartSet,11,1))
pTextFG = asc(subs(pChartSet,13,1))
if pOutLine=pBack2
pOutLine = 15-pBack2
endi
if pType=_PIE or pType=_PIE3D
pFldNum = 2
else
pFldNum = occu(',',tFldLst)+1
endi
*= afields(pFldAry)
for pI = 1 to pFldNum
if !type(GetFld(pI,tFldLst))$"CN"
? 'ÕÒ²»µ½×Ö¶Î'+GetFld(pI,tFldLst)
retu
endi
endf
count to pRecNum
if pRecNum=0
retu
endi
pFldX = GetFld(1,tFldLst)
pMaxY = 0
pMinY = 0
for pI = 2 to pFldNum
pFld = GetFld(pI,tFldLst)
calc max(&pFld) to pMax
calc min(&pFld) to pMin
if pMax>pMaxY
pMaxY = pMax
endi
if pMin16
pCharSize = 16
endi
pLen = 0
go top
scan
if pLen16
pCharSize = 16
endi
pLen = 0
for pI = 2 to pFldNum
pFld = GetFld(pI,tFldLst)
if pLen5,10,iif(pScaleY>2,5,pScaleY))
pScaleY = pScaleY*(10**pLogs)
pScaleNum = ceil((pMaxY-pMinY)/pScaleY)
pScaleStep = int((Y22-Y21)/pScaleNum)
pRatioY = pScaleStep/pScaleY
Y21 = (Y22-pScaleStep*pScaleNum)
Y11 = Y21
Y0 = Y22-int((-pMinY/pScaleY*pScaleStep))
endi
pGraph = GetGraphSet()
pHZ = GetHZSet()
= RefreshScr()
= SetFillStyle(1,pBack1)
= SetPutMode(0)
= DrawBar(X1,Y1,X2,Y2)
= SetFillStyle(1,pBack2)
= SetColor(pScaleLine)
if pType=_BAR3D
= DrawBar(X21,Y21,X22,Y22)
= Rect(X21,Y21,X22,Y22)
= SlopeBar(X11,Y11,X21,Y12,pBack2,pScaleLine,2)
= SlopeBar(X11,Y22,X12,Y12,pBack2,pScaleLine,1)
else
= DrawBar(X11,Y11,X12,Y12)
= Rect(X11,Y11,X12,Y12)
endi
= SetHZSize(16,16,0)
= SetHZColor(pTextFG)
= SetHZBkColor(pBack1)
= SetHZStyle(0)
if ( not pType=_PIE) and ( not pType=_PIE3D)
for pI = 1 to pScaleNum
pX = pScaleStep*pI
= DrawLine(X11-3,Y12-pX,X11,Y12-pX)
if not pNetLine=0
= DrawLine(X11,Y12-pX,X21,Y22-pX)
= DrawLine(X21,Y22-pX,X22,Y22-pX)
endi
pY = pScaleY*pI
if (pY>=10)
pStr = ltrim(str(pY))
else
pLogs = -log10(pY)+1
pStr = ltrim(str(pY,pLogs+1,pLogs))
endi
= ShowHZ(X11-len(pStr)*8-5,Y12-pX-3,pStr)
endf
endi
= SetHZSize(pCharSize,pCharSize,0)
pColor = 1
pFillStyle = 1
if pType=_PIE or pType=_PIE3D
go top
pFld = GetFld(2,tFldLst)
calc sum(&pFld) to pSumY for &pFld>=0
if pSumY=0
pSumY = 1
endi
pRatioY = 360/pSumY
pScaleY = 0
X21 = X11+(X12-X11)/2
Y21 = Y11+(Y12-Y11)/2
X22 = (X12-X11)/2-1
if pType=_PIE
Y22 = X22
if Y22>(Y12-Y11)/2
Y22 = (Y12-Y11)/2
X22 = Y22
endi
else
Y22 = X22/2
if Y22*2.5>(Y12-Y11)
Y22 = (Y12-Y11)/2.5
X22 = Y22*2
endi
Y21 = Y21-(Y22*0.25)
endi
= SetColor(pOutLine)
if pType=_PIE3D
= Ellipse(X21,Y21+Y22*0.5,180,360,X22,Y22)
= DrawLine(X21-X22,Y21,X21-X22,Y21+Y22/2)
= DrawLine(X21+X22,Y21,X21+X22,Y21+Y22/2)
endi
go top
pJ = 0
scan
= SetColor(pOutLine)
= SetFillStyle(pFillStyle,pColor)
= Pie(x21,y21,pScaleY*pRatioY+0.5,(pScaleY+&pFld)*pRatioY+0.5,x22,y22)
pScaleY=pScaleY+&pFld
pStepX = pScaleY*pRatioY+0.5
if pType=_PIE3D and pStepX>180
pBarX1 = X22*cos(dtor(pStepX))
pBarY1 = Y22*sin(dtor(pStepX))
= DrawLine(X21+pBarX1,Y21-pBarY1,X21+pBarX1,Y21-pBarY1+Y22/2)
endi
=InfoBar(x12+pCharSize*0.5,y11+pCharSize*pJ+pCharSize/6, x12+pCharSize*1.5;
,y11+pCharSize*pJ+pCharSize-pCharSize/6, &pFldX)
pJ = pJ+1
if pDistY=0 or pDistY=2
pColor = iif(pColor>16,1,pColor+1)
endi
if pDistY=1 or pDistY=2
pFillStyle = iif(pFillStyle>10,1,pFillStyle+1)
endi
ends
else
for pI = 0 to pFldNum-2
pFld = GetFld(pI+2,tFldLst)
= SetColor(pColor)
= SetFillStyle(pFillStyle,pColor)
pChnFld = ChnField(pFld)
= InfoBar(X12+pCharSize*0.5,Y21+pCharSize*pI+pCharSize/6,X12+pCharSize*1.5;
,Y21+pCharSize*pI+pCharSize-pCharSize/6,pChnFld)
go top
do case
case pType=_LINE
pBarX1 = X21
pBarX2 = pBarX1
pBary1=y22-int(&pFld*pRatioY)
case pType=_BAR
pBarX1 = X21+pStepX1/2+pStepX1*pI
pBarY1 = Y22
case pType=_BAR3D
do case
case pSubType=1
pBarX1 = X21+pStepX1/2+pStepX1*pI
pBarY1 = Y22
case pSubType=2
pBarX1 = X21+pStepX1/4-pStepX/2*pI
pBarY1 = Y22+pStepX1/4+pStepX/2*pI
endc
endc
= SetColor(pColor)
= SetFillStyle(pFillStyle,pColor)
scan
if pType=_LINE
pBary2=y22-int(&pFld*pRatioY)
= DrawLine(pBarX1,pBarY1,pBarX2,pBarY2)
if pSubType=2
= DrawBar(pBarX2-pStepX1,pBarY2-pStepX1,pBarX2+pStepX1,pBarY2+pStepX1)
endi
pBarX1 = pBarX2
pBarX2 = pBarX1+pStepX
pBarY1 = pBarY2
else
pBarX2 = pBarX1+pStepX1
pBary2=pBary1-&pFld*pRatioY
= ChartBar(pBarX1,pBarY1,pBarX2,pBarY2,pColor)
pBarX1 = pBarX1+pStepX
endi
ends
if pDistY=0 or pDistY=2
pColor = iif(pColor>16,1,pColor+1)
endi
if (pDistY=1 or pDistY=2) and !pType=_LINE
pFillStyle = iif(pFillStyle>10,1,pFillStyle+1)
endi
endf
endi
if ( not pType=_PIE) and ( not pType=_PIE3D)
= SetColor(pScaleLine)
= DrawLine(X11,Y12,X12-(Y12-Y22),Y12)
= ShowHZ(X11+pStepX*pRecNum+8,Y12+4,rtrim(ChnField(pFldX)))
pLen = 1
go top
scan
if pLen8)
pCharSize = 8
endi
= SetHZSize(pCharSize*2,pCharSize*2,0)
pOffsetX = iif(pType=_LINE,0,pStepX)
go top
pI = 0
scan
= DrawLine(X11+pStepX*pI+pOffsetX,Y12,X11+pStepX*pI+pOffsetX,Y12+3)
= ShowHZ(x11+pStepX*pI+1,y12+4,rtri(&pFldX))
pI = pI+1
ends
endi
= SetGraphSet(pGraph)
= SetHZSeT(pHZ)
retu
*ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
*³ Function: GetFld ³
*³ Description: ÄÚ²¿º¯Êý ³
*ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
func GetFld
para tFldNo , tFldLst
priv pPos1 , pPos2
if tFldNo=1
pPos1 = 1
else
pPos1 = at(',',tFldLst,tFldNo-1)+1
endi
pPos2 = at(',',tFldLst,tFldNo)
if pPos2=0
pPos2 = len(tFldLst)+1
endi
retu subs(tFldLst,pPos1,pPos2-pPos1)
*ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
*³ Function: GetFld ³
*³ Description: ÄÚ²¿º¯Êý ³
*ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
func SlopeBar
para X1 , Y1 , X2 , Y2 , Color1 , Color2 , Flag
priv pI , pIncr
= SetColor(Color1)
if Flag=1
pIncr = Y2-Y1
for pI = 1 to pIncr-1
= DrawLine(X1+pIncr-pI,Y1+pI,X2-pI,Y1+pI)
endf
= SetColor(Color2)
= DrawLine(X1+pIncr,Y1,X2,Y1)
= DrawLine(X1,Y2,X2-pIncr,Y2)
= DrawLine(X1+pIncr,Y1,X1,Y2)
= DrawLine(X2,Y1,X2-pIncr,Y2)
else
pIncr = X2-X1
for pI = 1 to pIncr-1
= DrawLine(X1+pI,Y1+pIncr-pI,X1+pI,Y2-pI)
endf
= SetColor(Color2)
= DrawLine(X1,Y1+pIncr,X1,Y2)
= DrawLine(X2,Y1,X2,Y2-pIncr)
= DrawLine(X1,Y1+pIncr,X2,Y1)
= DrawLine(X1,Y2,X2,Y2-pIncr)
endi
retu
*ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
*³ Function: GetFld ³
*³ Description: ÄÚ²¿º¯Êý ³
*ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
proc ChartBar
para X1 , Y1 , X2 , Y2 , pColor
priv pI , pDepth
= SetColor(pOutLine)
if (X1>X2)
pI = X2
X2 = X1
X1 = pI
endi
if (Y1>Y2)
pI = Y2
Y2 = Y1
Y1 = pI
endi
if pType=_BAR
= DrawBar(X1,Y1,X2,Y2)
= Rect(X1,Y1,X2,Y2)
else
pDepth = int((X2-X1)/2)
= DrawBar(X1-pDepth,Y1+pDepth,X2-pDepth,Y2+pDepth)
= Rect(X1-pDepth,Y1+pDepth,X2-pDepth,Y2+pDepth)
= SlopeBar(X1-pDepth,Y1,X2,Y1+pDepth,pColor,pOutLine,1)
= SlopeBar(X2-pDepth,Y1,X2,Y2+pDepth,pColor,pOutLine,2)
endi
retu
*ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
*³ Function: GetFld ³
*³ Description: ÄÚ²¿º¯Êý ³
*ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
proc InfoBar
para X1 , Y1 , X2 , Y2 , Info
= SetColor(pOutLine)
= DrawBar(X1,Y1,X2,Y2)
= Rect(X1,Y1,X2,Y2)
= ShowHZ(X2+4,Y1,rtrim(Info))
retu