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

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

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

Enviar datos a puertos COM

Visual Fox Pro, Trucos Comentarios ( 0 ) »
Una forma sencilla de poder enviar datos a los puertos seriales

cCadena = "Texto a enviar"
nHwd = Fopen("COM1:")

If nHwd <> -1

    Fwrite(nHwd, cCadena, Len(cCadena))
   
Fclose(nHwd)
EndIf



 


Por: David Amador T

Solucionar problemas de MSMAPI.MAPISession

Visual Fox Pro, Trucos Comentarios ( 0 ) »
Un error muy común en MAPI es el problema "No se encuentra la licencia apropiada", aquí tiene un pequeño truco que soluciona el problema.

Debes crear un archivo de texto y colocar el siguiente texto en él

REGEDIT4


[HKEY_CLASSES_ROOTLicensesDB4C0D00-400B-101B-A3C9-08002B2F49FB]
@="mgkgtgnnmnmninigthkgogggvmkhinjggnvm"

Ahora lo guardas con cualquier nombre pero extensión REG y luego haces doble click sobre él, te hará una pregunta, debes responder que SI y listo.... el problema estará solucionado.





Por: David Amador T

Convertir RecordSet de ADO a Cursor utilizando XML

Visual Fox Pro, Trucos Comentarios ( 0 ) »
Otra forma para convertir un recordset de ADO en un cursor de VFP, en este caso utilizamos XML.

cCadCon = "Provider=VFPOLEDB;Data Source=" +;

            _Samples +"data estdata.dbc"

oCon = Createobject("AdoDb.Connection")

oCon.ConnectionString = cCadCon
oCon.
Open

oRS = oCon.Execute("Celect * From Customer")

xDOM = Newobject("MSXML.DOMDocument")

oRS.
Save(xDOM, 1)
oRS.
Close
oCon.Close

XmlToCursor(xDOM.XML,
"MiCursor", 1028)
Select MiCursor
Browse
 


Por: David Amador T

Gráfico de torta utilizando MsChart

Visual Fox Pro, Trucos Comentarios ( 0 ) »
Un ejemplo básico de como hacer un gráfico de torta utilizando el MsChart


Public
oForm
oForm=
Createobject("form1")
oForm.
Show

Define Class form1
As Form
   Top
= 0
   
Left = 0
   
Height = 520
   
Width = 790
   
DoCreate = .T.
   
Name = "Form1"

    Add Object Graf As OleControl With ;

   
    Top = 10, ;
       
Left = 5, ;
   
    Height = 500, ;

       
Width = 780, ;
       
Name = "Graf", ;
       
OleClass = "MSChart20Lib.MsChart"

   Procedure Init
TEXT to _cliptext noshow

X1 X2 X3 X4

25 35 15 25

EndText

       This.Graf.Editpaste
       #
Define VtChChartType2dPie 14
       
This.Graf.ChartType = VtChChartType2dPie
       
This.Graf.ShowLegend = .T.
       
This.Graf.TitleText = "Titulo del Gráfico"
   
EndProc
EndDefine
 


Por: David Amador T

Mostrar un CheckBox en un Reporte

Visual Fox Pro, Trucos Comentarios ( 0 ) »

Te gustaría poder mostrar una casilla de verificación en tus reportes ???


Para el ejemplo crea un campo lógico en la tabla que esta vinculada al reporte, luego cree el reporte y agregue un cuadro de texto y establécele el tipo de fuente a WingDings. Ahora debes hacer doble click en cuadro de texto y en "Expresión" debes colocar lo siguiente:


IIF(CampoLogico, CHR(0xFD),CHR(0xA8))


Y ahora puedes probar tu reporte ...


Por: David Amador T

Búsquedas sensitivas en MYSQL

Visual Fox Pro, Trucos Comentarios ( 0 ) »
Por lo general cuando realizamos una consulta SQL en MYSQL esta trae todos los registros que cumplan la condición sin importar mayúsculas y minúsculas o acentos; pero algunas veces necesitamos traer sólo los registros donde los registros cumplan exactamente la condición distinguiendo de mayúsculas y minúsculas.

Supongamos tenemos una tabla de empleados y le agregamos 2 registros



CREATE TABLE employees (

emp_id INT,

name VARCHAR(30),

dept VARCHAR(30)

)


INSERT INTO employees (emp_id,name,dept) VALUES(1,"Maria","DS");
INSERT INTO employees (emp_id,name,dept) VALUES(2,"Pedro","ds");


Y queremos obtener sólo los registros que tengan "DS" :



SELECT * FROM employees where dept = "DS"

La sentencia SQL anterior nos devolverá los 2 registros puesto no distingue entre mayúsculas y minúsculas, y ahora lo vamos de otra forma:



SELECT * FROM employees where BINARY dept = "DS"

En este caso sólo obtenemos 1 registro, el que coincide exactamente con la condición, para eso utilizamos BINARY.


Por: David Amador T

Determinar si la tecla SHIFT, CONTROL o ALT están presionadas

Visual Fox Pro, Trucos Comentarios ( 0 ) »
En este ejemplo utilizaremos el API de Windows para determinar si las teclas SHIFT - CONTROL - ALT están presionadas, ya sea de forma independiente o al mismo tiempo.
Clear

#Define
VK_SHIFT 0x10

#
Define
VK_CONTROL 0x11

#
Define
VK_MENU 0x12

#
Define
PRESSED 0x07



Declare Integer
GetKeyboardState
In
WIN32API
String
@



Do While
.T.

   
m1 =
Replicate(Chr(0),255)

   
Wait Window
""
Timeout
0.5

   
GetKeyboardState(@m1)



   
?
"Shift",
Bittest(Asc(Substr(m1,VK_SHIFT+1,1)),PRESSED)

   
?
"Control",
Bittest(Asc(Substr(m1,VK_CONTROL+1,1)),PRESSED)

   
?
"Alt",
Bittest(Asc(Substr(m1,VK_MENU+1,1)),PRESSED)


   
If Lastkey()
== 27

        Exit

   
EndIf

EndDo





Por: David Amador T

Obtener la parte decimal de un número

Visual Fox Pro, Trucos Comentarios ( 0 ) »
Esta es la forma más sencilla de obtener la parte decimal de un número


nNum = 721.96841
? nNum -
INT(nNum)


Por: David Amador T