Files
vfp_roaauto/COMUN/programe/outile.prg

91 lines
2.2 KiB
Plaintext

Define Class oUtile As Custom
Procedure Init
Declare Integer GetShortPathName In Win32API;
STRING @lpszLongPath, String @lpszShortPath,;
INTEGER cchBuffer
Endproc
Function ShortPath
Lparameter tcPath
Local lcPath, lcShortName, lnLength, lnResult
lcPath = tcPath
lcShortName = Space(260)
lnLength = Len(lcShortName)
lnResult = GetShortPathName(@lcPath, @lcShortName, lnLength)
If lnResult = 0
Return ""
Endif
Return Left(lcShortName,lnResult)
Endfunc
Function GetAppStartPath
Local lcPath
Do Case
*** VFP 6 provides ServerName property for COM servers EXE/DLL/MTDLL
Case Inlist(Application.StartMode,2,3,5)
lcPath = Justpath(Application.ServerName)
*!* *** Interactive
*!* CASE (Application.StartMode) = 0
*!* lcPath = SYS(5) + CURDIR()
*** Active Document
Case Atc(".APP",Sys(16,0)) > 0
lcPath = Justpath(Sys(16,0))
*** Standalone EXE or VFP Development
Otherwise
lcPath = Justpath(Sys(16,0))
If Atc("PROCEDURE",lcPath) > 0
lcPath = Substr(lcPath,Rat(":",lcPath)-1)
Endif
Endcase
Return Addbs(lcPath)
Endfunc
Procedure lista2array
Lparameters tcLISTA,taArray,tcSeparator
&& tcLista este un sir de caractere care contine elementele separate prin <;> default
&& tarray este vectorul care se completeaza - trebuie dat prin referinta
&& tcSeparator separatorul de elemente din tcLista - default este ";" - este optional
&& intoarce numarul de elemente gasite
&& ex: lnNr = lista2array("ana;are;mere",@alista,";")
External Array taArray
Local Lclista,lcSeparator,lnNRF,lcF1,i
lnNRF = 0
Lclista=Allt(tcLISTA)
If Parameters()<3 Or Empty(tcSeparator)
lcSeparator=";"
Else
lcSeparator=Alltrim(tcSeparator)
Endif
If Right(Lclista,1)!=lcSeparator
Lclista=Lclista+lcSeparator
Endif
lnNRF=Occurs(lcSeparator,Lclista)
If lnNRF>0
Dimension taArray[lnNrf,1]
For i=1 To lnNRF
lcF1=Left(Lclista,At(lcSeparator,Lclista)-1)
If i!=lnNRF
Lclista=Substr(Lclista,At(lcSeparator,Lclista)+1)
Endif
taArray[i]=lcF1
Endfor
Else
lnNRF = 0
Endif
Return lnNRF
Endproc && lista2array
Procedure decripteazaParola
Endproc
Enddefine