Function Getversion Lparameters lcprogram Dimension versionarray[1] clocalexe=GetCurrentAppPath(lcprogram) *MESSAGEBOX("&clocalexe") Agetfileversion(versionarray,"&clocalexe") If Alen(versionarray)>3 Return versionarray[4] Else Return "0.0.0" Endif EndFunc ******************************************************************************************* Function GetTxtVersion Lparameters lcprogram lcFisierVersiune = gcDirMare + [\] + lcProgram + [\versiune.txt] If File(lcFisierVersiune) lcVersiune = FileToStr(lcFisierVersiune) If Empty(lcVersiune) Return "0.0.0" Else Return lcVersiune EndIf Else Return "0.0.0" Endif Endfunc ******************************************************************************************* Function CompareVersion Lparameters xmlVersion,xmlData,lcprogram,msg,tnTip *!* modificare v 2.0.14 && tnTip = 0 sau nu este dat ca parametru : versiunea se citeste din executabil && tnTip = 1 : versiunea se citeste din fisierul versiune.txt cVersionCurrent = Iif(Empty(tnTip),Getversion(lcprogram),GetTxtVersion(lcprogram)) *!* cVersionCurrent=Getversion(lcprogram) *!* modificare v 2.0.14 ^ cXmlVersion=xmlVersion *MESSAGEBOX(cVersionCurrent + " " +cXmlVersion) If cVersionCurrent="0" cVersionCurrent="0.0.0" Endif If cVersionCurrent="0" Return .F. Else lnTmpLen=Len(cVersionCurrent) *!* modificare v 2.0.13 : daca am cVersionCurrent = '1.0.10' si cXmlVersion = '1.0.100' nu mai face actualizarea *!* If (Alltrim(cVersionCurrent)=Left(Alltrim(cXmlVersion),lnTmpLen)) If Alltrim(cVersionCurrent)=Alltrim(cXmlVersion) *!* modificare v 2.0.13 ^ Return .F. Else lcmesaj1=stripXmlMsg(xmlData) If lcmesaj1#"NO_MESSAGE" And !msg AMessagebox(lcmesaj1,48,"Actualizare") Endif Return .T. Endif Endif Endfunc ******************************************************************************************* Function StripXmlVersion Lparameters cXmlVersion Return Strextract(Alltrim(cXmlVersion),"<",">",1) Endfunc ******************************************************************************************* Function stripXmlMsg Lparameters cXmlVersion Return Strextract(Alltrim(cXmlVersion),"{","}",1) Endfunc ******************************************************************************************* Function GetCurrentAppPath Lparameters lcprogram If At("_",lcprogram)#0 lccurrentUR=Substr(lcprogram,At("_",lcprogram)+1) * MESSAGEBOX(lccurrentUR) Else lccurrentUR=lcprogram Endif cAppPath=Addbs(Justpath(Sys(16,0))) If Atc("PROCEDURE",cAppPath) > 0 cAppPath = Substr(cAppPath,Rat(":",cAppPath)-1) Endif liat=Rat("\",cAppPath,2) Return Addbs(Left(cAppPath,liat-1))+lccurrentUR+"\"+lcprogram+".exe" Endfunc ******************************************************************************************* Function GetIniPath Local lcAppPath lcAppPath=Addbs(GetAppStartPath()) lcAppPath = STRTRAN(lcAppPath, 'PROGRAME\','',1,1,1) lcAppPath = STRTRAN(lcAppPath, 'PROGRAMS\','',1,1,1) liat=Rat("\",lcAppPath,2) lcAppPath=Addbs(Left(lcAppPath,liat-1))+"settings.ini" Return lcAppPath Endfunc ******************************************************************************************* Function GetCurrentTempPath Lparameters lcprogram If At("_",lcprogram)#0 lccurrentUR=Substr(lcprogram,At("_",lcprogram)+1) * MESSAGEBOX(lccurrentUR) Else lccurrentUR=lcprogram Endif cAppPath=Addbs(Justpath(Sys(16,0))) If Atc("PROCEDURE",cAppPath) > 0 cAppPath = Substr(cAppPath,Rat(":",cAppPath)-1) Endif liat=Rat("\",cAppPath,2) Return Addbs(Left(cAppPath,liat-1))+lccurrentUR+"\temporar.zip" Endfunc ******************************************************************************************* Function GetProg Lparameters cAppPath cAppPath = Substr(cAppPath,Rat("\",cAppPath)+1) cAppPath = Left(cAppPath,At("exe",cAppPath)-2) Return cAppPath Endfunc *******************************************************************************************