Set Talk Off Set Deleted On Set Century On Set Date Dmy SHORT Set Safety Off Set Console Off Set Seconds Off Set Exclusive Off Set Status Off Set Status Bar Off Set Hours To 24 Set Exact On Set Ansi On _Screen.WindowState= 2 Set NullDisplay To "" *!* ================================================================= Public gnConnHandle, gnIdProgram, gnIdUtilizator, ; gnIdClient, gbSpecial, gdData, gcAppName, gcAppPath, gcDataPath Local lcPath gnConnHandle = -1 gnIdUtilizator = 0 gnIdProgram = 0 gnIdClient = 0 gbSpecial = .F. gdData = Date() gcAppPath = Addbs(Justpath(Sys(16,0))) gcAppName = Juststem(Sys(16,0)) Set Default To (gcAppPath) gcDataPath = Addbs(gcAppPath) + [test.vcx] Set Classlib To (gcDataPath) *!* PUSH MENU _MSYSMENU lcOnShutdown="ShutDown()" On Shutdown &lcOnShutdown On Error ErrorHandler(Error(),Program(),Lineno()) Push Menu _Msysmenu *!* SETARI gcSettingsFile = gcAppPath + 'settings.xml' If !File(gcSettingsFile) Messagebox('Nu exista fisierul ' + gcSettingsFile + '!',0+16,'Setari') Shutdown() Return Endif Xmltocursor(gcSettingsFile,"settings",512) *!* SETARI ^ *!* PROGRAME_CHANGELOGS gcProgrameChangeLogsFile = gcAppPath + 'programe_changelogs.xml' If !File(gcProgrameChangeLogsFile) Create Cursor programe_changelogs (id_program i, Program v(100), changelog v(200)) Else Xmltocursor(gcProgrameChangeLogsFile,"programe_changelogs",512) Endif *!* PROGRAME_CHANGELOGS ^ Private goApp goApp=Createobject("custom") goApp.AddProperty("idutilizator",settings.idutilizator) goExecutant = Createobject("Executor") Do (gcAppPath + "meniu.mpr") Do Form (gcAppPath + "frm_connect.scx") If gnConnHandle<0 Shutdown() Return Endif Set Procedure To proceduri.prg Additive && tasks, soft clienti SET PROCEDURE TO proceduri_sql.prg ADDITIVE SET PROCEDURE TO utile.prg ADDITIVE SET PROCEDURE TO rapoarte.prg ADDITIVE gcAppPath=Addbs(Justpath(Sys(16,0))) gcAppName=Juststem(Sys(16,0)) Set Default To (gcAppPath) lcPath = gcAppPath + "ferestre;" + ; gcAppPath + "clase;" + ; gcAppPath + "programe;" + ; gcAppPath + "meniuri;" + ; gcAppPath + "grafice;" + ; gcAppPath + "date" Set Path To (lcPath) Additive Set Classlib To appwiz Additive && generare script Set Classlib To comun Additive Set Classlib To utility Additive Set Classlib To Start Additive Set Classlib To gen_script Additive Set Classlib To execute_script Additive Set Classlib To frm_script_aplicat Additive Set Procedure To oproceduri_comune.prg Additive Set Procedure To oinit_optiuni.prg Additive Set Procedure To ini.prg Additive Set Procedure To proceduri_genscript.prg Additive lnSucces=editLucrare()&&in proceduri.prg Read Events *!* ================================================================= *!* ================================================================= *!* Release goApp *!* _Screen.MaxButton=.T. *!* _Screen.BorderStyle= 3 *!* _Screen.WindowState= 2 *!* Pop Menu _Msysmenu *!* On Error *!* On Shutdown *!* ================================================================= *!* ================================================================= Function ErrorHandler(nError,cMethod,nLine) Local lcErrorMsg,lcCodeLineMsg Wait Clear lcErrorMsg=Message()+Chr(13)+Chr(13) lcErrorMsg=lcErrorMsg+"Method: "+cMethod lcCodeLineMsg=Message(1) If Between(nLine,1,10000) And Not lcCodeLineMsg="..." lcErrorMsg=lcErrorMsg+Chr(13)+"Line: "+Alltrim(Str(nLine)) If Not Empty(lcCodeLineMsg) lcErrorMsg=lcErrorMsg+Chr(13)+Chr(13)+lcCodeLineMsg Endif Endif If Messagebox(lcErrorMsg,17,_Screen.Caption)#1 On Error Return .F. Endif Endfunc **============================================= Function Shutdown *!* If Type("goApp")=="O" And Not Isnull(goApp) *!* Return goApp.OnShutDown() *!* Endif Do salveazaSetari *DO inchide Do deconectare Cleanup() Pop Menu _Msysmenu *!* If _vfp.StartMode !=0 *!* Quit *!* Endif Endfunc **============================================= Function Cleanup If Cntbar("_msysmenu")=7 Return Endif On Error On Shutdown Set Classlib To Set Path To Clear All *Close All Pop Menu _Msysmenu Clear Events Return Endfunc **============================================= Procedure deconectare Local lcCaption, lnSucces lnSucces = -1 If gnConnHandle > 0 lnSucces = SQLDisconnect(gnConnHandle) Endif Return lnSucces Endproc && deconectare **============================================= Procedure conectare Parameters tcHost, tcUser, tcPassword gnConnHandle = SQLConnect(tcHost, tcUser, tcPassword) If gnConnHandle < 0 Aerror(laEroare) Messagebox(laEroare(2)) Endif Return gnConnHandle Endproc && conectare ***===================================================== Define Class Executor As Relation cEroare = [] Procedure executaSql Lparameters cmdsql,crsName, tlDontShowError Local lnSucces lnSucces = -1 If Pcount()<2 crsName="" Endif *LPARAMETERS cmdsql, crsname If gnConnHandle > 0 lnSucces=SQLExec(gnConnHandle,cmdsql,crsName) If lnSucces < 0 Aerror(laEroare) This.cEroare = laEroare(2) If !m.tlDontShowError Messagebox(This.cEroare) Endif Endif Endif Return lnSucces Endproc Enddefine && Executor **====================================== Procedure salveazaSetari If Used('settings') Replace settings.idutilizator With goApp.idutilizator In settings Cursortoxml("SETTINGS",gcSettingsFile,1,512,0,"1") Endif If Used('programe_changelogs') Cursortoxml("programe_changelogs", gcProgrameChangeLogsFile,1,512,0,"1") Endif Endproc **====================================== ** actualizeaza programe_changelogs cu calea catre fisierul changelog pentru un id_program Procedure UpdateProgrameChangeLogs Lparameters tnIdProgram, tcProgram, tcChangeLog Local lcSelect lcSelect = Select() If Used('programe_changelogs') And !Empty(tcChangeLog) Select programe_changelogs Locate For id_program = tnIdProgram If Found() Replace changelog With Alltrim(tcChangeLog) Else Insert Into programe_changelogs(id_program, Program, changelog) Values (tnIdProgram, Alltrim(tcProgram), Alltrim(tcChangeLog)) Endif Endif Select (lcSelect) Endproc **====================================== ** intoarce calea catre fisierul changelog in functie de id_program Function GetChangeLogByIdProgram Lparameters tnIdProgram Local lcSelect, lcChangelog lcSelect = Select() lcChangelog = "" If Used('programe_changelogs') Select programe_changelogs Locate For id_program = tnIdProgram If Found() lcChangelog = Alltrim(changelog) Endif Endif Select (lcSelect) Return lcChangelog Endfunc