Você está na página 1de 8

PARAMETER xxxdaing

ON ERROR DO serror
application.visible = .F.
_SCREEN.visible = .F.
SET DATE TO DMY
SET CENTURY ON
xxf = DTOC(DATE())
xxf = LEFT(xxf, 2)+SUBSTR(xxf, 4, 2)+RIGHT(xxf, 4)
xxt = SUBSTR(TIME(), 1, 5)
xxt = LEFT(xxt, 2)+SUBSTR(xxt, 4, 2)
yyf = SUBSTR(xxxdaing, 1, 8)
yyt = SUBSTR(xxxdaing, 9, 4)
IF (xxf!=yyf) OR (xxt!=yyt)
WAIT WINDOW 'Error de parmetrro.'
QUIT
ENDIF
ON ERROR
SET ENGINEBEHAVIOR 70
CLOSE DATABASES ALL
SET SAFETY OFF
SET CPDIALOG OFF
SET TALK OFF
SET DATE TO DMY
SET CENTURY ON
SET EXACT ON
SET DELETED ON
SET EXCLUSIVE OFF
SET STATUS BAR ON
SET HOURS TO 24
SET DECIMALS TO 2
SET CONSOLE OFF
application.visible = .F.
PUBLIC xcus, xnus, xcpe, xsus, xversiona
xcus = SPACE(5)
PUBLIC v_dlfact01, v_dlfdcod01, v_dlfdcod03, v_dlfesta01, v_dlfins01,
v_dlfmacc01, v_dlfmacc02, v_dlfmat01, v_dlfmcic01, v_dlfmcur01,
v_dlfmdip01, v_dlfmgra01, v_dlfmorg01, v_dlfmtip01, v_dlfnot01,
v_dlfnot03, v_dlfnot05, v_dlfralu01, v_dlfrcer01, v_dlfrcer02,
v_dlfrcur01, v_dlfrdip01, v_dlfreg01, v_dlfrlis01, v_dlfrnot01
v_dlfact01 = 0
v_dlfdcod01 = 0
v_dlfdcod03 = 0
v_dlfesta01 = 0
v_dlfins01 = 0
v_dlfmacc01 = 0
v_dlfmacc02 = 0
v_dlfmat01 = 0
v_dlfmcic01 = 0
v_dlfmcur01 = 0
v_dlfmdip01 = 0
v_dlfmgra01 = 0
v_dlfmorg01 = 0
v_dlfmtip01 = 0
v_dlfnot01 = 0
v_dlfnot03 = 0
v_dlfnot05 = 0
v_dlfralu01 = 0

v_dlfrcer01 = 0
v_dlfrcer02 = 0
v_dlfrcur01 = 0
v_dlfrdip01 = 0
v_dlfreg01 = 0
v_dlfrlis01 = 0
v_dlfrnot01 = 0
PUBLIC conexion0, conexion1, conexion2, conexionloc01, uacadcnx,
rutadefa, pathdefa, xlogin, dwindow, titlemsgbox1
PUBLIC cnxdsnacad, cnxdsnacadloc01, vbnullchar, sqldriver,
cnxdsnacadloc02, xservprin
PUBLIC changeuserlog, wlocal, conexion3, conexion4, conexionloc02,
conexion5, p_xnum
changeuserlog = .F.
LOCAL rutadefa, pathdefa
LOCAL namedsn, dsn, server, address, database, description, security,
trusted, uid
DECLARE INTEGER SQLConfigDataSource IN ODBCCP32.dll INTEGER, INTEGER,
STRING, STRING
xlogin = "Super_usuario"
xuser = ALLTRIM(SUBSTR(SYS(0), AT('#', SYS(0))+1))
OPEN DATABASE data\odatos SHARED
SELECT COUNT(*) AS cuenta, ip, loccodi FROM address WHERE ipesta='S'
INTO CURSOR vaddress
xnum = ""
IF USED("vaddress")
SELECT vaddress
IF cuenta=1
wlocal = loccodi
vvvalor = ""
DO progs\crypt WITH ALLTRIM(ip), 'U'
xnum = vvvalor
ENDIF
USE
ENDIF
SELECT COUNT(*) AS cuenta, ip FROM address WHERE loccodi='01' INTO
CURSOR vaddress
xnumloc01 = ""
IF USED("vaddress")
SELECT vaddress
IF cuenta=1
vvvalor = ""
DO progs\crypt WITH ALLTRIM(ip), 'U'
xnumloc01 = vvvalor
ENDIF
USE
ENDIF
CLOSE DATABASES
p_xnum = xnum
xxnum = xnum
x1 = VAL(SUBSTR(xxnum, 1, AT('.', xxnum)-1))
xxnum = SUBSTR(xxnum, AT('.', xxnum)+1)
hip1_1 = IIF(INT(x1/16)<10, ALLTRIM(STR(INT(x1/16))), IIF(INT(x1/16)=10,
'A', IIF(INT(x1/16)=11, 'B', IIF(INT(x1/16)=12, 'C', IIF(INT(x1/16)=13,
'D', IIF(INT(x1/16)=14, 'E', IIF(INT(x1/16)=15, 'F', '')))))))
hip1_2 = IIF(MOD(x1, 16)<10, ALLTRIM(STR(MOD(x1, 16))), IIF(MOD(x1,
16)=10, 'A', IIF(MOD(x1, 16)=11, 'B', IIF(MOD(x1, 16)=12, 'C',

IIF(MOD(x1, 16)=13, 'D', IIF(MOD(x1, 16)=14, 'E', IIF(MOD(x1, 16)=15,


'F', '')))))))
x1 = VAL(SUBSTR(xxnum, 1, AT('.', xxnum)-1))
xxnum = SUBSTR(xxnum, AT('.', xxnum)+1)
hip2_1 = IIF(INT(x1/16)<10, ALLTRIM(STR(INT(x1/16))), IIF(INT(x1/16)=10,
'A', IIF(INT(x1/16)=11, 'B', IIF(INT(x1/16)=12, 'C', IIF(INT(x1/16)=13,
'D', IIF(INT(x1/16)=14, 'E', IIF(INT(x1/16)=15, 'F', '')))))))
hip2_2 = IIF(MOD(x1, 16)<10, ALLTRIM(STR(MOD(x1, 16))), IIF(MOD(x1,
16)=10, 'A', IIF(MOD(x1, 16)=11, 'B', IIF(MOD(x1, 16)=12, 'C',
IIF(MOD(x1, 16)=13, 'D', IIF(MOD(x1, 16)=14, 'E', IIF(MOD(x1, 16)=15,
'F', '')))))))
x1 = VAL(SUBSTR(xxnum, 1, AT('.', xxnum)-1))
xxnum = SUBSTR(xxnum, AT('.', xxnum)+1)
hip3_1 = IIF(INT(x1/16)<10, ALLTRIM(STR(INT(x1/16))), IIF(INT(x1/16)=10,
'A', IIF(INT(x1/16)=11, 'B', IIF(INT(x1/16)=12, 'C', IIF(INT(x1/16)=13,
'D', IIF(INT(x1/16)=14, 'E', IIF(INT(x1/16)=15, 'F', '')))))))
hip3_2 = IIF(MOD(x1, 16)<10, ALLTRIM(STR(MOD(x1, 16))), IIF(MOD(x1,
16)=10, 'A', IIF(MOD(x1, 16)=11, 'B', IIF(MOD(x1, 16)=12, 'C',
IIF(MOD(x1, 16)=13, 'D', IIF(MOD(x1, 16)=14, 'E', IIF(MOD(x1, 16)=15,
'F', '')))))))
x1 = VAL(xxnum)
hip4_1 = IIF(INT(x1/16)<10, ALLTRIM(STR(INT(x1/16))), IIF(INT(x1/16)=10,
'A', IIF(INT(x1/16)=11, 'B', IIF(INT(x1/16)=12, 'C', IIF(INT(x1/16)=13,
'D', IIF(INT(x1/16)=14, 'E', IIF(INT(x1/16)=15, 'F', '')))))))
hip4_2 = IIF(MOD(x1, 16)<10, ALLTRIM(STR(MOD(x1, 16))), IIF(MOD(x1,
16)=10, 'A', IIF(MOD(x1, 16)=11, 'B', IIF(MOD(x1, 16)=12, 'C',
IIF(MOD(x1, 16)=13, 'D', IIF(MOD(x1, 16)=14, 'E', IIF(MOD(x1, 16)=15,
'F', '')))))))
xservprin = hip1_1+hip1_2+hip2_1+hip2_2+hip3_1+hip3_2+hip4_1+hip4_2
namedsn = "RelUnivAcad"
dsn = "DSN="+namedsn
server = "SERVER="+xnum
address = "ADDRESS="+xnum+",1433"
database = "DATABASE=Personal"
description = "DESCRIPTION=Sistema Acadmico"
security = "Network=DBMSSOCN"
trusted = "Trusted_Connection="
sqldriver = "SQL Server"
STORE CHR(0) TO vbnullchar
conexion3 = 'dsn='+namedsn+';uid=marcaadm;pwd=iniciamarca'
conexion4 = 'dsn='+namedsn+';uid=lectordenotas2;pwd=sustitutorio033'
conexion5 = 'dsn='+namedsn+';uid=ingresa_notas_bbl;pwd=sustitutorio033$'
namedsn = "SistUnivAcad"
namedsndued = "SistUnivAcaddued"
dsn = "DSN="+namedsn
server = "SERVER="+xnum
address = "ADDRESS="+xnum+",1433"
database = "DATABASE=General"
description = "DESCRIPTION=Sistema Acadmico"
security = "Network=DBMSSOCN"
trusted = "Trusted_Connection="
sqldriver = "SQL Server"
STORE CHR(0) TO vbnullchar
conexion0 = 'dsn='+namedsn+';uid=inicio;pwd=iniciosistemas'
conexionloc01 = 'dsn='+namedsn+';uid=RegSistAcad01;pwd=enterprise'
conexion1 = 'dsn='+namedsn+';uid='+xuser
conexion4 = 'dsn='+namedsndued+';uid=lectordenotas2;pwd=sustitutorio033'

conexion5 =
'dsn='+namedsndued+';uid=ingresa_notas_bbl;pwd=sustitutorio033$'
titlemsgbox1 = "Sistema Acadmico"
dwindow = 0
cnxdsnacad =
dsn+vbnullchar+server+vbnullchar+address+vbnullchar+security+vbnullchar+d
atabase+vbnullchar+description+vbnullchar+trusted
cnxdsnacadloc01 = ""
IF xnum='192.168.1.254'
namedsn = "SistUnivAcaddued"
dsn = "DSN="+namedsn
server = "SERVER=192.168.1.254"
address = "ADDRESS=192.168.1.254,1433"
database = "DATABASE=campusdued"
description = "DESCRIPTION=Intranet Dued"
security = "Network=DBMSSOCN"
trusted = "Trusted_Connection="
sqldriver = "SQL Server"
uid = "lectordenotas2"
STORE CHR(0) TO vbnullchar
cnxdsnacadloc02 =
dsn+vbnullchar+server+vbnullchar+address+vbnullchar+security+vbnullchar+d
atabase+vbnullchar+description+vbnullchar+trusted
res = sqlconfigdatasource(0, 1, sqldriver, cnxdsnacadloc02+vbnullchar)
ENDIF
IF xnum='192.168.0.230' OR xnum='192.168.0.231'
namedsn = "SistUnivAcaddued"
dsn = "DSN="+namedsn
server = "SERVER=192.168.0.232"
address = "ADDRESS=192.168.0.232,1433"
database = "DATABASE=campusdued"
description = "DESCRIPTION=Intranet Dued"
security = "Network=DBMSSOCN"
trusted = "Trusted_Connection="
sqldriver = "SQL Server"
uid = "lectordenotas2"
STORE CHR(0) TO vbnullchar
cnxdsnacadloc02 =
dsn+vbnullchar+server+vbnullchar+address+vbnullchar+security+vbnullchar+d
atabase+vbnullchar+description+vbnullchar+trusted
res = sqlconfigdatasource(0, 1, sqldriver,
cnxdsnacadloc02+vbnullchar)
ENDIF
IF NOT EMPTY(ALLTRIM(xnumloc01))
namedsn = "SistUnivAcad"
dsn = "DSN="+namedsn
server = "SERVER="+xnumloc01
address = "ADDRESS="+xnumloc01+",1433"
database = "DATABASE=General"
description = "DESCRIPTION=Sistema Acadmico"
security = "Network=DBMSSOCN"
trusted = "Trusted_Connection="
sqldriver = "SQL Server"
STORE CHR(0) TO vbnullchar
cnxdsnacadloc01 =
dsn+vbnullchar+server+vbnullchar+address+vbnullchar+security+vbnullchar+d
atabase+vbnullchar+description+vbnullchar+trusted

ENDIF
res = sqlconfigdatasource(0, 1, sqldriver, cnxdsnacad+vbnullchar)
IF res=1
uacadcnx = SQLSTRINGCONNECT(conexion0)
IF uacadcnx<0
= MESSAGEBOX('No se puede conectar al servidor', 16, 'Error de
conexin SQL')
ELSE
= SQLDISCONNECT(uacadcnx)
SET PROCEDURE TO PROGS\dgpfun01.prg
PUBLIC xxversion
LOCAL ofs, lmayv, lsecv, lnrev, lcfile, cversion, lcsql, cversion
lmayv = 0
lsec = 0
lnrev = 0
lcfile = ALLTRIM(SYS(16, 1))
IF AT(UPPER('acaduniv'), UPPER(lcfile))=0
lcfile = '@@@@@@'
ENDIF
ON ERROR WAIT WIND 'Error comprobando versin'
ofs = CREATEOBJECT("scripting.filesystemobject")
cversion = ALLTRIM(ofs.getfileversion(lcfile))
ON ERROR
lmayv = VAL(SUBSTR(cversion, 1, AT(".", cversion, 1)-1))
lsecv = VAL(SUBSTR(cversion, AT(".", cversion, 1)+1, AT(".",
cversion, 2)-(AT(".", cversion, 1))-1))
lnrev = VAL(SUBSTR(cversion, AT(".", cversion, 2)+1, AT(".",
cversion, 3)-(AT(".", cversion, 2))-1))
xvermayv = lmayv
xversecv = lsecv
xvernrev = lnrev
xversiona = ALLTRIM(STR(lmayv, 2, 0))
+'.'+RIGHT('0'+ALLTRIM(STR(lsecv, 2, 0)),
2)+'.'+RIGHT('0'+ALLTRIM(STR(lnrev, 2, 0)), 2)
xcpsistema = 'Academico'
lcsql = "select * from general.dbo.ggtver01 where
ltrim(rtrim(vernapp))='"+xcpsistema+"'"
uacadcnx = SQLSTRINGCONNECT(conexion0)
IF uacadcnx<0
= MESSAGEBOX('No se puede conectar al servidor', 16, 'Error de
conexin SQL')
ELSE
= SQLEXEC(uacadcnx, lcsql, 'lcurver')
= SQLDISCONNECT(uacadcnx)
SELECT lcurver
IF RECCOUNT()=0
MESSAGEBOX('Error, no es posible encontrar el ID de versin.
'+CHR(13)+'Consulte con el administrador del sistema', 64,
this.cpsistema)
RETURN .F.
ENDIF
SELECT lcurver
xversionu = ALLTRIM(STR(lcurver.vermayv))
+"."+RIGHT('0'+ALLTRIM(STR(lcurver.versecv)),
2)+"."+RIGHT('0'+RIGHT('0'+ALLTRIM(STR(lcurver.vernrev)), 2), 2)
DO FORM forms\dgfin01 WITH xversiona
IF xversiona<xversionu

= MESSAGEBOX('La apliacicin requiere ser actualizada. Tiene


una versin antigua.'+CHR(13)+'Por favor realice la actualizacin
necesaria.', 64, 'Aviso de la Aplicacin')
xxversion = 'N'
QUIT
ELSE
xxversion = 'S'
ENDIF
ENDIF
DO FORM forms\dgfintro
CLOSE DATABASES ALL
READ EVENTS
ENDIF
ELSE
xmsg = "No se pudo crear el DSN System"
= MESSAGEBOX(xmsg, 16, titlemsgbox1)
ENDIF
QUIT
ENDFUNC
**
PROCEDURE MACAddress
LPARAMETERS ma
LOCAL lcnbc, lcadapter, lnadapter, lcsource, lnsource, lcretval,
lnlength, lnlenum, lclenum
DECLARE INTEGER GetProcessHeap IN Win32API
DECLARE INTEGER Netbios IN Netapi32.DLL STRING @
DECLARE INTEGER HeapFree IN Win32API INTEGER, INTEGER, STRING @
DECLARE INTEGER HeapAlloc IN Win32API INTEGER, INTEGER, INTEGER
DECLARE INTEGER RtlMoveMemory IN Win32API STRING @, INTEGER, INTEGER
lcretval = ''
lcnbc = REPLICATE(CHR(0), 64)
lclenum = REPLICATE(CHR(0), 256)
lcadapter = REPLICATE(CHR(0), 600)
lnlenum = heapalloc(getprocessheap(), BITOR(4, 8), 256)
IF lnlenum!=0
lcnbc = CHR(55)+REPLICATE(CHR(0), 3)+longtostr(lnlenum)
+inttostr(256)+SUBSTR(lcnbc, 11, 544)
IF netbios(@lcnbc)=0
lnsource = lnlenum
rtlmovememory(@lclenum, lnsource, 256)
lnlength = ASC(SUBSTR(lclenum, 1, 1))
DIMENSION ma(lnlength)
FOR lncnt = 1 TO lnlength
lcadapter = REPLICATE(CHR(0), 600)
lcnbc = CHR(50)+REPLICATE(CHR(0), 47)+SUBSTR(lclenum, lncnt+1,
1)+REPLICATE(CHR(0), 15)
IF netbios(@lcnbc)=0
lnadapter = heapalloc(getprocessheap(), BITOR(4, 8), 600)
IF lnadapter!=0
lcnbc = CHR(51)+REPLICATE(CHR(0), 3)+longtostr(lnadapter)
+inttostr(600)+'*
'+REPLICATE(CHR(0), 22)+SUBSTR(lclenum,
lncnt+1, 1)+REPLICATE(CHR(0), 15)
IF netbios(@lcnbc)=0
lnsource = lnadapter
rtlmovememory(@lcadapter, lnsource, 600)
lcretval = RIGHT(dectohex(ASC(SUBSTR(lcadapter, 1,
1))), 2)+'-'+RIGHT(dectohex(ASC(SUBSTR(lcadapter, 2, 1))),

2)+'-'+RIGHT(dectohex(ASC(SUBSTR(lcadapter, 3, 1))),
2)+'-'+RIGHT(dectohex(ASC(SUBSTR(lcadapter, 4, 1))),
2)+'-'+RIGHT(dectohex(ASC(SUBSTR(lcadapter, 5, 1))),
2)+'-'+RIGHT(dectohex(ASC(SUBSTR(lcadapter, 6, 1))), 2)
STORE lcretval TO ma(lncnt)
ENDIF
lcsource = longtostr(lnadapter)
heapfree(getprocessheap(), 0, @lcsource)
ENDIF
ENDIF
ENDFOR
ENDIF
lcsource = longtostr(lnlenum)
heapfree(getprocessheap(), 0, @lcsource)
ENDIF
RETURN
ENDPROC
**
FUNCTION LongToStr
LPARAMETERS tnlongval
LOCAL lncnt, lcretstr, lnlongval
lcretstr = ''
lnlongval = IIF(EMPTY(tnlongval), 0, tnlongval)
FOR lncnt = 24 TO 0 STEP -8
lcretstr = CHR(INT(lnlongval/(2^lncnt)))+lcretstr
lnlongval = MOD(lnlongval, (2^lncnt))
ENDFOR
RETURN lcretstr
ENDFUNC
**
FUNCTION StrToLong
LPARAMETERS tclongstr
LOCAL lncnt, lnretval, lclongstr
lnretval = 0
lclongstr = IIF(EMPTY(tclongstr), '', tclongstr)
FOR lncnt = 0 TO 24 STEP 8
lnretval = lnretval+(ASC(lclongstr)*(2^lncnt))
lclongstr = RIGHT(lclongstr, LEN(lclongstr)-1)
ENDFOR
RETURN lnretval
ENDFUNC
**
FUNCTION IntToStr
LPARAMETERS tnintval
LOCAL lncnt, lcretstr, lnintval
lcretstr = ''
lnintval = IIF(EMPTY(tnintval), 0, tnintval)
FOR lncnt = 8 TO 0 STEP -8
lcretstr = CHR(INT(lnintval/(2^lncnt)))+lcretstr
lnintval = MOD(lnintval, (2^lncnt))
ENDFOR
RETURN lcretstr
ENDFUNC
**
FUNCTION StrToInt
LPARAMETERS tcintstr
LOCAL lncnt, lnretval, lcintstr

lnretval = 0
lcintstr = IIF(EMPTY(tcintstr), '', tcintstr)
FOR lncnt = 0 TO 8 STEP 8
lnretval = lnretval+(ASC(lcintstr)*(2^lncnt))
lcintstr = RIGHT(lcintstr, LEN(lcintstr)-1)
ENDFOR
RETURN lnretval
ENDFUNC
**
FUNCTION DecToHex
LPARAMETERS tndecnumber
LOCAL lnlength, lntemphex, lchexnumber, lndecnumber
lchexnumber = ''
lndecnumber = IIF(EMPTY(tndecnumber), 0, tndecnumber)
DO CASE
CASE lndecnumber=0
lchexnumber = '0x00000000'
CASE lndecnumber>0
lchexnumber = TRANSFORM(lndecnumber, '@0')
OTHERWISE
lchexnumber = TRANSFORM(ABS(lndecnumber), '@0')
lnlength = IIF(SUBSTR(lchexnumber, 3, 1)='0',
LEN(SUBSTR(lchexnumber, NOT AT('0', lchexnumber, 2))),
LEN(TRANSFORM(ABS(lndecnumber), '@0'))-2)
lntemphex = 4294967295
lchexnumber = TRANSFORM(lntemphex-ABS(lndecnumber)+1, '@0')
ENDCASE
RETURN lchexnumber
ENDFUNC
**
PROCEDURE serror
WAIT WINDOW 'Error de parmetrro..'
QUIT
ENDPROC
**

Você também pode gostar