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

Generar y exportar gráfico con el MSGraph

Visual Fox Pro, Trucos Comentarios ( 0 ) »
En este truco veremos como crear un gráfico con el MsGraph y luego exportarlo a un archivo JPG.

oGraf = Createobject("MSGraph.Chart.8")
ds = oGraf.
Application.DataSheet
ds.Cells.
Clear
oGraf.Width = 500
oGraf.
Height = 500

ds.Cells(1,2).Value=
"Maria"
ds.Cells(2,2).Value= "11,20"
ds.Cells(1,3).Value= "José"
ds.Cells(2,3).Value= "15"
ds.Cells(1,4).Value= "Ana"
ds.Cells(2,4).Value
= "17"
ds.Cells(1,5).Value= "Patricia"
ds.Cells(2,5).Value= "19"
ds.Cells(1,6).Value= "Carlos"
ds.Cells(2,6).Value= "20"
ds.Cells(1,7).Value
= "Sofia"
ds.Cells(2,7).Value= "22"

With oGraf
 .ChartType = -4102
 .HasLegend = .T.
 .HasTitle = .F.
 .Legend.
Font.Size
= 8
 .Legend.AutoScaleFont = .T.
 .ApplyDataLabels
 .SeriesCollection(1).DataLabels.AutoScaleFont = .T.
 .SeriesCollection(1).DataLabels.
Font.Size= 8
 .SeriesCollection(1).Interior.ColorIndex = 36
 .ChartArea.Interior.ColorIndex = 2
 .PlotArea.
Width= 200

 .PlotArea.
Height= 200
EndWith

cFile = "c:Graf.jpg"
oGraf.Export(cFile,"JPEG")
=Messagebox("El archivo fue exportado a " + cFile)

Por: David Amador T

Determinar si una aplicación se esta ejecutando

Visual Fox Pro, Trucos Comentarios ( 0 ) »
Este es una forma de saber si una aplicación se esta ejecutando; para eso utilizamos el API de Windows.

Se busca la aplicación a través del titulo de la ventana.

Declare Integer GetActiveWindowIn Win32API

Declare Integer GetWindow In Win32API;
INTEGER HWnd,Integer nType


Declare Integer GetWindowText In Win32API ;
INTEGER HWnd,String @cText, Integer nType

Declare Integer BringWindowToTopIn Win32API ;

INTEGER HWnd


cCaption = "Calculadora" &&
nHand = IsRunning(cCaption)

If nHand = 0
* Aplicación no ejecutada
Else

* Activa la aplicación
BringWindowToTop(lnHand)
EndIf

Function IsRunning (cTitulo)
hNext = GetActiveWindow()
Do While hNext<>0
cText =
Replicate(Chr(0),80)
GetWindowText(hNext,@cText,80)
If Upper(Trim(cTitulo)) $ Upper(cText)
Return hNext
EndIf
hNext = GetWindow(hNext,2)
EndDo
Return
0
EndFunc


Por: David Amador T

Mostrar imagenes animadas en VFP 7 o inferior

Visual Fox Pro, Trucos Comentarios ( 0 ) »
Este truco te permitirá conocer cual es el tamaño de la tabla que tengas activa en VFP

cGif = "c:RutaImagenAnimada.gif"

Public oForm

oForm = Createobject("MiForm")
oForm.
Show

Define Class MiForm As Form
   Add Object
myBrowser As OleControl ;
       
with OleClass="Shell.Explorer",;
       
Height=120,Width=120

    Procedure myBrowser.Refresh
       Nodefault
   EndProc


   Procedure Init
       With This
.myBrowser
           .Navigate2(
"file://" + cGif)
           Do While .ReadyState # 4
           
EndDo
           
.Document.body.Scroll
= "no"
       
EndWith
   EndProc
EndDefine
 


Por: David Amador T

Conocer el tamaño de una tabla abierta

Visual Fox Pro, Trucos Comentarios ( 0 ) »
Este truco te permitirá conocer cual es el tamaño de la tabla que tengas activa en VFP

? Header() + Recsize() * Reccount() + 1

 


Por: David Amador T

Obtener los registros con fecha más recientes de nuestro empleados

Visual Fox Pro, Trucos Comentarios ( 0 ) »
Un ejemplo de consultas SQL ... Queremos obtener por ejemplo cual fue la última venta de cada empleado

Create Cursor Datos (Nombre C(20), Fecha D)
Insert Into Datos Values("Pedro",Date())
Insert Into Datos Values("Juan",Date(2003,
05,24))
Insert Into Datos Values("Juan",Date(2005, 11,12))
Insert Into Datos Values("Milena",Date(2002, 03,18))
Insert Into Datos
Values("Pedro",Date(2005, 09,03))
Insert Into Datos Values("Pedro",Date(2005, 01,14))
Insert Into Datos
Values("Milena",Date(2004, 06,13))
Insert Into Datos Values("Milena",Date(2005, 07,05))
Insert Into Datos Values("Juan",
Date(2001, 12,26))

 
* Aquí tienes 2 formas de hacerlo

Select * From Datos t1
Where Fecha = ;
(
Select Max(Fecha)From Datos t2 Where t1.Nombre == t2.Nombre)
 

Select Nombre,
Max(Fecha)From Datos Group By Nombre
 

Por: David Amador T

Habilitar y Deshabilitar la tecla Print Screen

Visual Fox Pro, Trucos Comentarios ( 0 ) »
Excelente truco que te permitirá habilitar y deshabilitar la tecla "Print Screen" en tu aplicación utilizando el API de Windows

#DefineVK_PRINTSCREEN 0x2c

Declare Integer RegisterHotKeyIn user32;
    INTEGER HWnd,Integer Id,;
   
INTEGER fsModifiers, Integer
vk

* Para deshabilitarla
RegisterHotKey(_Screen.HWnd, 0, 0,VK_PRINTSCREEN)

* Para habilitarla
Declare Integer UnregisterHotKeyIn user32;
INTEGER HWnd,Integer Id


UnregisterHotKey(_Screen.HWnd, 0)

 

Por: David Amador T

Mostrar un registro por página en un reporte

Visual Fox Pro, Trucos Comentarios ( 0 ) »
Un truquito bastante bueno y sencillo que te permitirá mostrar un registro en cada pagina del reporte

Lo que debes hacer es crear un reporte y agruparlo por  Recno()y marcar la opción "Iniciar grupo en una nueva pagina"

Por: David Amador T

Buscando formularios abiertos utilizando la colección _Screen.Forms

Visual Fox Pro, Trucos Comentarios ( 0 ) »
En muchas ocasiones queremos determinar si un determinado formulario ya se encuentra ejecutado; en este ejemplo utilizamos la colección _Screen.Forms para averiguarlo.

En este ejemplo buscamos el formulario por el titulo y si lo encontramos le cambiamos el titulo

cCaption = "Titulo del Formulario"
oForm = BuscarForm(cCaption)

If Isnull(oForm)

   =
MessageBox("Formulario no ejecutado")
Else
   
oForm.Caption= "Nuevo Titulo"
EndIf


 
Procedure
BuscarForm(cCaption As String)As Object
    oFormRet = Null

   If _Screen
.FormCount> 0
       
For i = 1
To _Screen.FormCount
           If Upper
(_Screen.Forms[i].Caption) = Upper(cCaption)
               
oFormRet =
_Screen.Forms[i]

               
Exit
           EndIf
       EndFor

   EndIf
   Return
oFormRet
EndProc

Por: David Amador T

Seleccionar letra de forma aleatoria

Visual Fox Pro, Trucos Comentarios ( 0 ) »
Un truco sencillo ....

* Mayúscula
?Chr(64+rand()*26)


* Minuscula
?Chr(96+rand()*26)

 

Por: David Amador T

Accesar a tablas de VFP desde SQL Server

Visual Fox Pro, Ejemplos - Código fuente, Bases de datos, SQL Server Comentarios ( 0 ) »
Un ejemplo bastante útil, que nos permite poder consultar nuestras tablas de VFP desde SQLServer.

Puede probarlo desde el analizador de consultas de SQL Server

Ejemplo utilizando tablas libres de VFP

sp_addlinkedserver @server = "VFPoledbDbf",
   @srvproduct =
"VFP",

   @provider =
"VFPOLEDB.1",
   @datasrc =
"C:RutaTablas"

GO
SELECT
* FROM VFPoledbDbf...products

GO
sp_dropserver @server = "VFPoledbDbf"
GO

Ejemplo utilizando tablas contenidas en una Base de datos de VFP


sp_addlinkedserver @server = "VFPoledbDBC2,
   @srvproduct =
"VFP",
   @provider =
"VFPOLEDB.1",
   @datasrc =
"C:RutaTablas estdata.dbc"

GO
SELECT
* FROM
VFPoledbDBC...Products
GO
sp_dropserver @server = "VFPoledbDBC"
GO
 


 




 



Por: David Amador T

Mostrar el escritorio de Windows desde VFP

Visual Fox Pro, Trucos Comentarios ( 0 ) »
Ese código se utiliza para ocultar todas las ventanas activas y mostrar el escritorio de Windows.

oShell = CreateObject("Shell.Application")
oShell.ToggleDesktop

Release oShell


 

Por: David Amador T

Visualizar una gráfica en el Visor de Imágenes de WinXP

Visual Fox Pro, Trucos Comentarios ( 0 ) »
Este sencillo truco permitirá mostrar las gráficas en el Visor de Imágenes y faxes de Windows XP desde VFP

Run /N rundll32.exe shimgvw.Dll,ImageView_Fullscreen C:\Imagen.jpg




Por: David Amador T

Deshabilitar el historial de la ventana de comandos

Visual Fox Pro, Trucos Comentarios ( 0 ) »
En VFP 8 y 9 todo lo que digitemos en la ventana de comandos es guardado en un archivo  (_command.prg) y si sales de VFP y vuelves a entrar encontraras el histórico en la ventana de comandos; Pero si quieres deshabilitar esta opción, aquí tienes como hacerlo.

Puedes establecer el:

Set Resource Off

O utilizar la siguiente constante:

#Define
noRecentDocHistory .f.


 

Por: David Amador T

Desactivar el FireWall de WinXP por código

Visual Fox Pro, Trucos Comentarios ( 0 ) »
Si por casualidad te interesa como desactivar el FireWall que viene con WinXP pero desde VFP.

Run netsh firewall Set opmode Disable


 

Por: David Amador T

Hacer que Acrobar Reader cargue súper rápido

Trucos, Windows Comentarios ( 0 ) »
Este no es un truco de VFP pero les gustará. Por lo general Acrobar Reader es muy lento para ejecutarse pero existe una forma que entre volando.

Ve a la carpeta "c:Archivos de programaAdobeAcrobat 7.0Reader" , la ruta depende de la versión y el idioma, ahora renombra la carpeta "plug_ins" o copia el contenido a esta a otro directorio y listo.

Este truco aplica a cualquier versión del Acrobar Reader.



 

Por: David Amador T