05/07/2002 18:28 Expuesto por Mauricio
Para cambiar el tipo de letra de un informe, se debe crear el informe (con nada) y
despues:
1. USE miinforme.frx
2. REPLACE fontface with "Tahoma", fontsize WITH 12, fontstyle WITH 1 FOR objtype = 1
Con esto ponemos como predeterminado la fuente Tahoma a 12 puntos y
negrilla, si en fontstyle ponemos 0 tendremos letra normal.
Con esto se podria hacer una rutina que investigara en el directorio y lo
hiciera para todos los informes, o sea recursiva.
Pablo Roca
--------------------------------------------------------------------------------
05/07/2002 18:09 Expuesto por Mauricio
Aparte de adir()
lc = SYS(2000, "*.DBF")
DO WHILE NOT EMPTY(lc)
USE (lc) EXCLUSIVE
REINDEX
lc = SYS(2000, "*.DBF", 1)
ENDDO
Luis María Guayán
Tucumán - Argentina
--------------------------------------------------------------------------------
05/07/2002 18:04 Expuesto por Mauricio
Transformar un número de segundos a HH:MM:SS
*--------------------------------------------------------------------------
* FUNCTION _Seg2Hor(nSegundos)
*--------------------------------------------------------------------------
* Transforma segundos a formato hhHH:MM:SS
* USO: _Seg2Hor(nSegundos)
* EJEMPLO: _Seg2Hor(35000)
* RETORNA: Caracter 'HH:MM:SS'
*--------------------------------------------------------------------------
*FUNCTION _Seg2Hor(nSegundos)
lpara nSegundos
LOCAL lnHoras, lnMinutos, lnSegundos
lnHoras = INT(nSegundos/3600)
lnMinutos = INT(((nSegundos-(lnHoras*3600))/60))
lnSegundos = MOD(nSegundos,60)
RETURN IiF(lnHoras<100,TRANSFORM(lnHoras,"@L 99"),TRANSFORM(lnHoras,"@L 9999")) +":"+ ;
TRANSFORM(lnMinutos,"@L 99")+":"+ ;
TRANSFORM(lnSegundos,"@L 99")
ENDFUNC
--------------------------------------------------------------------------------
05/07/2002 17:58 Expuesto por Mauricio
Convertir una fecha a formato largo
m.dFecha = {01/01/2000}
allt(str(day(m.dFecha))) + " " + cmonth(m.dfecha) + " " +
allt(str(year(m.dfecha)))
--------------------------------------------------------------------------------
05/07/2002 17:26 Expuesto por Mauricio
Desconectar una unidad de red con Microsoft Windows Script Host
o = CREATEOBJECT('Wscript.Network')
* o.RemoveNetworkDrive(Unidad)
o.RemoveNetworkDrive("Z:")
--------------------------------------------------------------------------------
05/07/2002 17:24 Expuesto por Mauricio
Conectar una unidad de red a un recurso compartido con Microsoft Windows Script Host
o = CREATEOBJECT('Wscript.Network')
* o.MapNetworkDrive(Unidad, Recurso [,Persistente] [,Usuario] [,Contraseña])
o.MapNetworkDrive('Z:','Desarrollo6Fuentes',.f.,'luisg','*******')
--------------------------------------------------------------------------------
05/07/2002 17:20 Expuesto por Mauricio
Para realizar algunos procesos necesarios de las bases de datos debemos conocer los nombres de las tablas contenidas en ella. Por ejemplo a la hora de querer reindexar cada tablas de la B. D
OPEN DATABASE c:\Ruta_Base_de_Datos.dbc
cNomTablas = ADBOBJECT(infVector, "TABLE")
FOR EACH cNomTablas IN infVector
? cNomTablas
ENDFOR
--------------------------------------------------------------------------------
05/07/2002 17:18 Expuesto por Mauricio
con este truco podemos hacer que cada cierto tiempo se consulte una tablade mensajes para usuarios en red o chequear para revisar si tenemos nuevo correo...en fin.
_SCREEN.AddObject('oTime','TimerScreen')
* Definicion de la Clase TimerScreen
* Muestra un Reloj en un Wait Window
* Este se actualiza cada un segundo
DEFINE CLASS TimerScreen AS Timer
Interval= 1000
PROCEDURE Timer
WAIT WINDOW (TIME()) nowait
ENDPROC
ENDDEFINE
--------------------------------------------------------------------------------
05/07/2002 17:04 Expuesto por Mauricio
Desde NT es muy fácil enviar email, este truco te explica como hacerlo.
y = CreateObject('cdonts.newmail')
y.AttachFile('c:\datos\prueba.zip') && Archivo Adjunto
y.Send('miemail@direccion.com' , 'tuemail@direccion.com' , 'Subject' , 'Texto mensage')
y=null
--------------------------------------------------------------------------------
05/07/2002 17:03 Expuesto por Mauricio
Cuando mandamos reportes a la Impresora algunas veces queremos personalizar esta operación; pero siempre nos muestras la ventanita "Imprimiendo". Esta es la forma de omitir esa ventana
DECLARE INTEGER GetDesktopWindow IN WIN32API
DECLARE INTEGER LockWindowUpdate IN WIN32API INTEGER lnHandle
hWin = GetDeskTopWindow()
LockWindowUpdate(hWin) && Bloquea actualización de la pantalla
REPORT FORM NombreReporte.frx TO PRINTER
LockWindowUpdate(0) && No actualiza la pantalla