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

Obtener la versión del VFP OLEDB Provider por código

Visual Fox Pro, Trucos Comentarios ( 0 ) »
Muchas veces no sabes o recordamos cual fue la última versión del proveedor OLEDB instalado .... una forma de saber a través de código.

oConn = NewObject("AdoDB.Connection")
oConn.
Open("Provider=VFPOLEDB;Data Source=C:")
? oConn.Properties(
"Provider Version").Value
oConn.Close()

oConn =
Null
 

Por: David Amador T

Tips - zloc

Visual Fox Pro, Trucos Comentarios ( 0 ) »
En VFP 8 y 9 se encontró un truco bastante útil, el cual te muestra en el IntelliSense todas las variables definidas dentro del procedimiento o método actual.

Lo que debes hacer es lo siguiente: Escribes zloc y luego presionas la barra de desplazamiento, te aparecerán en el intellisense las variables declaradas en el código actual.


Por: David Amador T

Ejecutar código dinámicamente

Visual Fox Pro, Trucos Comentarios ( 0 ) »
Uno de las grandes cualidades de Visual Fox Pro es el poder ejecutar código dinámicamente; son pocos los lenguajes que permiten realizar esto.

Podemos almacenar dentro de una tabla la(s) sentencia(s) a ejecutar o simplemente pasarla como texto a la función ExecScript o hacer una macrosustitución....

Si esta dentro de un campo de una tabla

ExecScript(Tabla.Campo)


O si es una cadena de texto

cCmd = "For x=1 to 50"+CHR(13)+"?x"+CHR(13)+"Next"+CHR(13)

ExecScript
(cCmd)
 

Por: David Amador T

Gráfico en Excel a través de Automatización

Visual Fox Pro, Trucos Comentarios ( 0 ) »
Otra forma de generar gráficos en Excel desde VFP a través de automatización

#Define
Tab Chr
(9)
#
Defin
CRLF Chr(13)+Chr(10)

Public oGraph

_Cliptext = "" + Tab + "Depto X" +
Tab + "Depto Y"
+ CRLF +;
   "Arroz" +
Tab + "248" + Tab
+ "297" + CRLF+;
   
"Maíz"
+ Tab + "339" + Tab
+ "440"
+ CRLF+;
   
"Cereal"
+
Tab
+
"500"
+
Tab
+
"489"
+ CRLF+;

   
"Papas"
+
Tab
+
"125"
+
Tab
+
"235"
+ CRLF+;

   
"Otros"
+
Tab
+
"631"
+
Tab
+
"455"
+ CRLF



oGraph = Getobject("","Excel.Chart")



With
oGraph.Application

    .Visible
= .T.

   
.WorkSheets(1).Cells().
Clear

   
.Worksheets(1).Cells(1,1).PasteSpecial

   
.Charts
[1].AutoFormat(-4100,1)

EndWith
 

Por: David Amador T

Comprimir y descomprimir con WinXP

Visual Fox Pro, Trucos Comentarios ( 0 ) »
Puede incorporar dentro de sus aplicaciones rutinas para comprimir y descomprimir archivos a través de WinXP o WinME.

************************************
* COMPRIMIR
************************************
cNuevoZip = "C:MiArchivo.Zip"
cOrigen = "c:Directorio"

Strtofile(Chr(0x50)+Chr(0x4B)+Chr(0x05)+Chr(0x06)+Replicate(Chr(0),18),cNuevoZip)

oShell = Createobject("Shell.Application")

For Each oArchi In oShell.NameSpace(cOrigen).Items
   oShell.NameSpace(cNuevoZip).CopyHere(oArchi)
Endfor
 

************************************

* DESCOMPRIMIR
************************************
cMiZip = "C:MiArchivo.Zip"
cDirDesti = "c:Directorio"

oShell = Createobject("Shell.Application")

For Each oArchi In oShell.NameSpace(cMiZip).Items

   oShell.NameSpace(cDirDesti).CopyHere(oArchi)
EndFor
 

Por: David Amador T

Copiar a Excel .... Súper rápido

Visual Fox Pro, Trucos Comentarios ( 0 ) »
Son muchas las rutinas que copian el contenido de una tabla o cursor a Excel; está es una de las formas más rápidas. He copiado una tabla de 4000 registros y 30 campos en 7 segundos.

Use Tabla
cTmp =
Getenv("TEMP")+"" + Sys(2015) + ".Tmp"


Copy To (cTmp) Delimited With Tab
_Cliptext
= Filetostr(cTmp)

oExcel= Createobject("Excel.Application")

With oExcel
   
.DisplayAlerts = .F.
   .Workbooks.
Add()
   .
Range("A1").PasteSpecial

EndWith

oExcel.Workbooks(1).SaveAs("c:\prueba.xls")

oExcel.Quit
oExcel= .Null.
Release oExcel
 

Por: David Amador T

Ejecutar macro de Excel

Visual Fox Pro, Trucos Comentarios ( 0 ) »
Con este truco veremos como podemos ejecutar un macro de Excel a través de automatización.

oExcel = Createobject("Excel.Application")

With oExcel
   .Workbooks.
Open("c:DirMiDocumento.xls")
   .
Visible
= .T.
   .
Run("MiMacro")
EndWith

oExcel.Quit

Release
oExcel
oExcel =
Null
 

Por: David Amador T

Ejecutar código de JavaScript desde VFP

Visual Fox Pro, Trucos Comentarios ( 0 ) »
Este truco te permitirá poder ejecutar instrucciones o archivos de JavaScript desde VFP.

oSC = Createobject("Wscript.Shell")
oSC.
Run("Cscript.exe
MiArchivo.js"
)

Release oSC


 

Por: David Amador T

Cambiar características de los label de los ejes de MsChart

Visual Fox Pro, Trucos Comentarios ( 0 ) »
Un truco muy bueno cuando utilizas el MsChart para hacer tus gráficos.

With Thisform.OleMsChart.Axes(1).TickLabels.Font
    .Name= "Arial"
   
.Size= 9

   .
Color = Rgb(255,94,94)
EndWith

 

Por: David Amador T

Desplazamiento con "ENTER" en grid

Visual Fox Pro, Trucos Comentarios ( 0 ) »
Por defecto cuando presionamos "Enter" en un grid este se desplaza a la siguiente columna, pero podemos hacer que se desplace al siguiente registro.

Lo que debes hacer es ir al evento KeyPress del TextBox vinculado a la columna y escribir el siguiente código

If nKeyCode = 13

Nodefault
Keyboard
"{DNARROW}"
EndIf

Por: David Amador T

Determinar el orden de un índice

Visual Fox Pro, Trucos Comentarios ( 0 ) »
Podemos determinar si el índice de una tabla esta ordenado de forma ascendente o descendente ...

Use Home(2)+ "Dataemployee.dbf"
Set Order To EMP_ID Descending


?
Iif("DESCENDING"$ Set("ORDER"),"DESC","ASC")

Por: David Amador T

Número de meses entre 2 fechas

Visual Fox Pro, Trucos Comentarios ( 0 ) »
Una forma sencilla de calculas cuantos meses hay entre 2 fechas.

dFecha1 = Ctod("04.01.01")
dFecha2 =
Ctod("05.01.01")

? (Year(dFecha2)+Month(dFecha2)/;

   12-
Year(dFecha1)-Month(dFecha1)/12)*12


Por: David Amador T

Copiar registros al Clipboard

Visual Fox Pro, Trucos Comentarios ( 0 ) »
La forma más sencilla de copiar datos de una tabla al Clipboard .. y si lo deseas de esa forma puedes expórtala a cualquier parte.

Use Home(2) + "Dataemployee.dbf"

_Vfp.DataToClip("Employee")

 


Por: David Amador T

Enviar email con OutLook

Visual Fox Pro, Trucos Comentarios ( 1 ) »
Puedes enviar emails a través de OutLook (No OutLook express) de forma sencilla a través de automatización.

oOutLook = Createobject("Outlook.Application")
oEmail = oOutLook.CreateItem(0)
oEmail.
Display
With
oEmail
   .Recipients.
Add("dav_amador@yahoo.com.mx")
   .Subject =
"Envio de
emails"
   
.Importance = 1
   .Body =
"Aquí va el texto del email"
   
.Attachments.Add("C:RutaMiArchivo1.ext")
   .Attachments.
Add("C:RutaMiArchivo2.ext")
   .Send
EndWith


Release oEmail
Release oOutLook

Por: David Amador T

Determinar si un PC o servidor esta ON LINE

Visual Fox Pro, Funciones API Comentarios ( 0 ) »
Con esta función API podemos determinar si un PC o servidor esta ON LINE.

Declare Integer GetRTTAndHopCountIn Iphlpapi;
    INTEGER DestIpAddress, Long @HopCount,;
   
INTEGER MaxHops, Long
@RTT

Declare Integer inet_addr In ws2_32 String cp

Local nDst, nHop, nRTT
Store 0 To nHop, nRTT

nDst = inet_addr("192.168.0.5")


If GetRTTAndHopCount(nDst, @nHop, 50, @nRTT) <> 0
   ?
"# de intentos de contactar el destino:", nHop
   ?
"Tiempo de respuesta, en millisegundos:", nRTT
Else
   
? "Error
Destino no se encuentra"
EndIf
 

Por: David Amador T