Bienvenido y disfruta el nuevo diseño del sitio web.... agradecería me envíes tus comentarios acerca de los cambios realizados

Para descargar cualquier archivo es necesario estar registrado y hacer click en el titulo del archivo a descargar

Directorio de Windows y del Sistema

Visual Fox Pro, WMI Comentarios ( 0 ) »

Utilizando WMI desde VFP para devolver la ruta
del directorio de Windows y del sistema.


objWMI = Getobject("winmgmts:\\")

cCadWMI = "Select * from Win32_OperatingSystem"

oSistema = objWMI.ExecQuery(cCadWMI)



For Each oSys in oSistema

    ? oSys.WindowsDirectory

    ? oSys.SystemDirectory

Next


Por: David Amador T

Número de serie del disco duro

Visual Fox Pro, WMI Comentarios ( 0 ) »

Una de las formas más sencillas de obtener el
serial de fabrica de las unidades de disco.


objWMI = Getobject("winmgmts:\\")

cCadWMI = "Select * from Win32_PhysicalMedia"

oSistema = objWMI.ExecQuery(cCadWMI)



For Each Disco In oSistema

     ? "Serial de fabrica :" + Disco.SerialNumber

Next


Por: David Amador T

Unidad y serial lógico de las unidades de disco

Visual Fox Pro, WMI Comentarios ( 0 ) »

De una unidad de disco es posible obtener 2
seriales: el de fabrica y el que le asigna el sistema operativo; en este ejemplo
se devuelve el serial del sistema operativo.


objWMI = Getobject("winmgmts:\\")

cCadWMI = "Select * from Win32_LogicalDisk"

oSistema = objWMI.ExecQuery(cCadWMI)



For Each Disco In oSistema

     ? "Unidad: " + Disco.Name + " Serial: " +
Disco.VolumeSerialNumber

Next


Por: David Amador T

Seleccionar el texto de un control

Visual Fox Pro, Trucos Comentarios ( 0 ) »

Una forma sencilla de seleccionar el texto de
un control ...


En el evento GotFocus() del control colocas lo
siguiente:


Keyboard '{END}'

Keyboard '{SHIFT+HOME}'



Por: David Amador T

Detectar si un formulario tiene ScrollBars

Visual Fox Pro, Trucos Comentarios ( 0 ) »

Un EXCELENTE truco de como determinar si un
formulario tiene ScrollBars ...


? Thisform.ViewPortHeight # Thisform.Height

? Thisform.ViewPortWidth # Thisform.Width


Por: David Amador T

Conocer el programa asociado a una extensión

Visual Fox Pro, Trucos Comentarios ( 0 ) »

Aquí tienes otras formas de conocer el programa
asociado a una extensión...


Utilizando API


=Messagebox(assocExe('c:\ruta\archivo.doc'))



Function AssocExe(pcFile)

     cExeFile = ""



     Declare Integer FindExecutable In shell32;

             string
lpFile, string lpDirectory,;

             string
@ lpResult



            cExeFile =
Space(250)



      If FindExecutable(pcFile, "", @cExeFile) > 32

           cExeFile =
Left(cExeFile, At(Chr(0), cExeFile) -1)

      Else

           cExeFile = ""

      Endif



       Return cExeFile

Endfunc


Utilizando WSH


oFs = Createobject("Scripting.FileSystemObject")

loFile = oFs.Getfile('c:\ruta\archivo.doc')

? "Tipo: " + transform(loFile.Type)


Otra Utilizando API


Local lcFile

lcFile = 'c:\ruta\archivo.doc'

? "Type: " + GetFileDescription(lcFile)



Function GetFileDescription(lcFullPath)

      #Define SHGFI_TYPENAME 0x400



      Local lcShFileInfo, lcReturn



      Declare SHGetFileInfo In "Shell32" As
SHGetFileInfoA ;

           String pszPath,
Long dwFileAttributes, ;

           String @psfi, Long
cbFileInfo, Long uFlags



      lcShFileInfo = Space(352)

     =SHGetFileInfoA(lcFullPath, 0, @lcShFileInfo, 352,
SHGFI_TYPENAME)

      lcReturn = alltrim(substr(lcShFileInfo, 273))

      Return LEFT(lcReturn, LEN(lcReturn) - 1)

Endfunc


Por: David Amador T

Obtener la parte fraccionaria de un numero

Visual Fox Pro, Trucos Comentarios ( 0 ) »

Un truco EXCELENTEEEE .... de como determinar
la parte decimal o fraccionaria de un número.


? ABS(78.53) % 1


? ABS(329.12) % 1


Por: David Amador T

Descomprimir archivos WinXp o ME

Visual Fox Pro, Trucos Comentarios ( 0 ) »

Con WinMe o superior viene la posibilidad de
comprimir y descomprimir archivos sin requerir un programa externo .... aquí
tienes la forma de descomprimir archivos desde VFP.


cZip = "C:\ruta\archivo.ZIP"

cDestino = "c:\temp\"



o=CREATEOBJECT("shell.application")

FOR EACH ofile IN o.NameSpace(cZip).items

      o.NameSpace(cDestino).copyhere(ofile)

ENDFOR


Por: David Amador T

Determinar si un servicio de Windows esta ejecutandose

Visual Fox Pro, Trucos Comentarios ( 0 ) »

Otra forma de determina si un servicio se esta
ejecutando ..... también se puede hacer con WMI. ... En este caso utilizamos
SHELL.


Para eso solo debes pasarle el nombre del
servicio, en este caso quiero saber si MYSQL esta corriendo actualmente en
Windows.


oshell = CREATEOBJECT("Shell.Application")

? oshell.IsServiceRunning("Mysql")


Por: David Amador T

Iniciar y detener un servicio de Windows

Visual Fox Pro, Trucos Comentarios ( 0 ) »

Otra forma de iniciar o detener un servicio de
Windows .... de igual forma podemos utilizar WMI.. ... En este caso utilizamos
SHELL.


Para eso solo debes pasarle el nombre del
servicio, y si deseas que la configuración perdure después de reiniciar Windows.


Para detenerlo


?oshell.ServiceStop("mysql", .T.)


Para iniciarlo


?oshell.ServiceStart("mysql", .T.)


Por: David Amador T

Calcular la desviación típica a través de Automatización con Excel

Visual Fox Pro, Trucos Comentarios ( 0 ) »

Una forma sencilla de calcular la desviación
típica de un conjunto de valores utilizando automatización con Excel.


oExcel = CreateObject("Excel.Application")

nRes = oExcel.WorksheetFunction.STDev(85,90,62,100,39,84)

? nRes

Release oExcel

 


Por: David Amador T

Agregar pie de pagina a un documento de Word (Automatización)

Visual Fox Pro, Trucos Comentarios ( 0 ) »

En este truco a través de automatización agregamos a un documento de Word un pie de pagina.


oWord = CreateObject( "Word.Application")
oWord.Documents.Add()
oWord.ActiveWindow.ActivePane.View.SeekView = 4
oWord.Selection.TypeText("Texto del pie de pagina")
oWord.Visible= .T.

 

Por: David Amador T

Seleccionar registro al azar

Visual Fox Pro, Trucos Comentarios ( 0 ) »

En muchas ocasiones necesitamos escoger un registro de una tabla de forma aleatorio ... aquí tienes varias formas.


Rand(-1)
nPos = Int(Rand() * Reccount("Tabla"))+ 1
Go nPos in Tabla

Browse

Otra forma


Select Int(Rand()*10000), * From tabla
Order By
1

 


Por: David Amador T

Insertar gráfico en el pie de pagina de documento de Word (Automatización)

Visual Fox Pro, Trucos Comentarios ( 0 ) »

Últimamente he visto muchas preguntas al respecto ... Con este truco podrás insertar un gráfico en el pie de pagina de un documento de Word a través de automatización.


oWord =Createobject("Word.Application")

With oWord
    .Documents.Add()
    .ActiveWindow.ActivePane. View.SeekView = 4
    . Selection.InlineShapes.AddPicture(Getfile(" JPG"))
    . Visible= .T.
Endwith

Por: David Amador T

Crear archivo MHT utilizando CDO

Visual Fox Pro, Trucos Comentarios ( 0 ) »

Un archivo con extensión MHTML es un documento Html que contiene en un único archivo todos los archivos (gráficos, texto...etc) de pagina web.

Para este truco utilizaremos el objeto CDO que viene en Windows.

cStr = ""

Declare Integer ShellExecute In "Shell32.dll" ;
    INTEGER HWnd, StringlpVerb, ;
    STRING lpFile, String
lpParameters, ;
    
STRING
lpDirectory,
Long nShowCmd
 
cArchivo = Sys(2015) + ".mht"
cUrl = " http://www.davphantom.net/modulo.asp"
 

oMSG = Createobject( "CDO.Message")
oMSG.CreateMHTMLBody(cUrl)

cStr = oMSG.getstream
cStr.SaveToFile(cArchivo, 1)

ShellExecute(0, "Open", cArchivo, "","", 0)

Release oMSG


Por: David Amador T