91 lines
2.2 KiB
Plaintext
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 |