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