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

Cambiar el puntero del Mouse mientras se ejecuta un proceso

Visual Fox Pro, Trucos Comentarios ( 0 ) »
Si
quieres agregarle algo de apariencia de Windows puedes
personalizar las acciones que realizas dentro de tu
aplicación y cuando creas que un proceso podría tardar un
poco entonces colocarías esta rutina para hacer entender que
la aplicación se encuentra ocupada.



WITH ThisForm


      .MousePointer
= 11  && Establece el puntero al Reloj de arena


      .SetAll(
_MousePointer_, 11 )   &&  Lo Aplicamos a todos
los objetos


ENDWITH

Por: David Amador T

Verificar si existe palabra en el Diccionario de Word

Visual Fox Pro, Trucos Comentarios ( 0 ) »
Un truco bastante bueno a
través del cual podemos verificar si ciertas cadena de caracteres están
bien escrita.
 


cPalabra =
"pureta"  && Donde quería decir puerta


oWord = CreateObject("Word.Application")

? oWord.CheckSpelling(cPalabra)


&& Si la palabra existe
devuelve .T. sino .F.


Por: David Amador T

Wait Window centrado en la pantalla

Visual Fox Pro, Trucos Comentarios ( 0 ) »

Por defecto el mensaje mostrado por Wait Window se muestra en la parte
superior derecha de la pantalla, con este truco se muestra centrado en la
pantalla.



cMensage = "Mensaje
de ejemplo"



_Screen.Scalemode
= 0



Wait Window cMensage
At Int(_Screen.Height/2),
Int(_Screen.Width/2
-
Len(cMensage)/2)



Por: David Amador T

Ventana de Ayuda al estilo de Window

Visual Fox Pro, Trucos Comentarios ( 0 ) »
Cuando creamos la ayuda de
nuestra aplicación siempre queremos agregarle ayuda personalizada..bueno
este te puede servir y muy fácil.


Les gustaran estos
ejemplos.


Ejemplo No 1


DEFINE WINDOW wAyuda ;

FROM 1,1 TO 5,35 ;

FONT _MS SANS SERIF_,8 ;

STYLE _BN_         && Define la ventana con fuente y estilo



ACTIVATE WINDOW wAyuda 

?_Lo Mejor de VFP_

?_La Web de Davphantom_

WAIT WINDOW "" TIMEOUT 3

RELEASE WINDOWS wAyuda


Ejemplo No 2


Declare integer Sleep in "kernel32" ;

Long dwMilliseconds



DEFINE WINDOW wAyuda ;

FROM 1,1 TO 3,35 ;

FONT _MS SANS SERIF_,8 ;

STYLE _BN_ COLOR RGB(255,255,255,0,0,255)&& De&& Define la ventana con fuente y estilo

ACTIVATE WINDOW wAyuda 

?_Lo Mejor de VFP_

?_La Web de Davphantom_



=sleep(1000)

**WAIT WINDOW TIMEOUT 3

RELEASE WINDOWS wAyuda


Por: David Amador T

Mostrar fuentes disponibles e imprimir texto con ellas

Visual Fox Pro, Trucos Comentarios ( 0 ) »
Puedes mostrar un texto
escrito con todas las fuentes disponibles.


=AFONT(gaFontArray)         
&& Matriz que contiene nombres de fuentes

gnNumFonts = ALEN(gaFontArray)    && Número de fuentes


IF gnNumFonts > 25

    gnNumFonts = 25       && Muestra las
25 primeras fuentes

ENDIF



FOR nCount = 1 TO gnNumFonts

       ? ALLTRIM(gaFontArray(nCount))  
&& Muestra nombre de fuente

       ?? _ Esto es un ejemplo de _ ;

            + ALLTRIM(gaFontArray(nCount)) FONT gaFontArray(nCount), 8

ENDFOR


Por: David Amador T

Mostrar información de ejecutables

Visual Fox Pro, Trucos Comentarios ( 0 ) »
Puedes mostrar la
información de los ejecutables; tales como versión, nombre interno, compañía
desarrolladora, entre otros


aGetFileVersion(aVers, "f:WINDOWSEXPLORER.exe")

? aVers(2)

? aVers(3)

? aVers(4) 

? aVers(5)


Por: David Amador T

Formato de fecha larga

Visual Fox Pro, Trucos Comentarios ( 0 ) »
Podemos mostrar de forma
sencilla la fecha en formato largo, es decir 26 de Enero de 2002


dFecha = {^2000/01/01}


? alltrim(str(day(dFecha))) + "
" + cmonth(dfecha) + " " + alltrim(str(year(dfecha)))


Por: David Amador T

Transformar segundos a formato hhHH:MM::SS

Visual Fox Pro, Trucos Comentarios ( 0 ) »
Este truco convierte un
número determinado de segundo en Horas, minutos y segundos



LOCAL lnHoras, lnMinutos, lnSegundos

nsegundos = 180  &&
Numero de segundo a convertir

 


lnHoras = INT(nSegundos/3600)

lnMinutos = INT(((nSegundos-(lnHoras
* 3600))/60))

lnSegundos = MOD(nSegundos,60)

? IiF(lnHoras<100,TRANSFORM(lnHoras,"@L
99"),TRANSFORM(lnHoras,"@L 9999")) +":"+ ;

TRANSFORM(lnMinutos,"@L
99")+":"+ ;

TRANSFORM(lnSegundos,"@L
99")

Por: David Amador T

Desplegar un ComboBox al recibir el Enfoque II

Visual Fox Pro, Trucos Comentarios ( 0 ) »
En 
realidad  muchas  veces  deseamos hacer esto,
pero lo pensamos bastante  y  no 
encontramos  la forma de hacerlo. Por fin aquí esta su
implementación.


Crea un formulario y
agrégale un Combo y un Botón. Al hacer click en el botón debe
desplegarse automáticamente el Combo.


Programa lo
siguiente en el evento Gotfocus del Combo


tColumna  =
THISFORM.Combo1.Left + THISFORM.Combo1.Width - 4

tFila  =  THISFORM.Combo1.Top + 2

MOUSE CLICK AT tFila, tColumna PIXE
LS WINDOW (THISFORM.Name)


En el evento Click
del botón que creaste llama al evento Setfocus() del combo,
Así:


Thisform.combo1.Setfocus()


Por: David Amador T

Crystal Report y VFP

Visual Fox Pro, Trucos Comentarios ( 0 ) »

Uno de los grandes problemas de VFP son los reportes; pero podemos realizar
los reportes en Cristal Report Y luego llamarlos desde VFP.


No quiero decir con esto que sea mejor, más fácil o más cómodo; simplemente es otra Forma de hacerlo Y tiene muchas ventajas.



En los ejemplos que demuestro estoy utilizando la versión 8 del Cristal Report de Seagate pero considero que se debe
comportar igual con las demás versiones.



Primero veamos como puedo exportar un reporte a extensión .Doc (Word)



oCristalReport =
Createobject
("crystal.crpe.application")

oRepx = oCristalReport.OpenReport(
"C:\reporteventas.RPT")

oRepx.ExportOptions.FormatType = 14

&& Formato de Word


oRepx.ExportOptions.DiskFileName =

"c:\reporteventasdelmes.doc"


oRepx.ExportOptions.DestinationType = 1

&& Tipo de Destino a guardar


oRepx.Export(.F.)
&&
No muestra ningun cuadro de Dialogo


Release
oRepx


Release
oCristalReport


los otros formatos en que podemos guardar los reportes son:

 


Extensión     FormatType

RTF             4

EXCEL         7 27 o 28

EXCEL         8 29 o 30

 


* Para ver en vista previa un reporte:


oCristalReport =

Createobject
("crystal.crpe.application")

oRep = oCristalReport.OpenReport(
"C:\reporteventas.RPT")

oRep.
Preview



* Para mandarlo a imprimir


oCristalReport =

Createobject
("crystal.crpe.application")

oRep = oCristalReport.OpenReport(
"C:\reporteventas.RPT")

oRep.Printout(.F.)

&& .F. no muestra cuadro para configurar impresora


Por: David Amador T

Imprimir paginas determinadas de un Reporte

Visual Fox Pro, Trucos Comentarios ( 0 ) »
Cuando tenemos un reporte y queremos
imprimir una pagina determinada o desde una pagina a otra podemos
utilizar el argumento RANGE. Después de él indicamos la pagina de
inicio y final del reporte a imprimir.



Supongamos que tenemos un
reporte de 20 paginas, yo puedo mandar a imprimir de la pagina 10 a la 15
de la siguiente manera




REPORT FORM nombreinforme RANGE 10,15

Por: David Amador T

Funciones SYS( )

Visual Fox Pro, Trucos Comentarios ( 0 ) »
Algunas veces he recorrido todas las
funciones API que tengo y no encuentro una que haga lo que yo en
realidad quiero o que la haga sin tantos argumento y sin matarse la
cabeza tanto. Bueno las funciones SYS( ) nos prestan esta utilidad.



 



?SYS(2020)    Nos
devuelve el Tamaño del disco

?SYS(2023)    Directorio de archivos temporales

?SYS(2022)    Sectores por cluster

?SYS(5)         Unidad de disco por defecto

?SYS(17)       Tipo de Procesador

?SYS(2006)   Clase de tarjeta de video



 



Existen muchas funciones más pero
considero que estas son las que más ayudan si te gusta interactuar
con el Sistema Operativo.

Por: David Amador T

Conocer si un formulario esta ejecutado

Visual Fox Pro, Trucos Comentarios ( 0 ) »

Cuando estamos trabando en una aplicación la mayoría de veces queremos evitar que un formulario se ejecute más de una vez. Con esta pequeña explicación y ejemplo lo harás.


IF WEXIST("nombreventana")

=messagebox("la ventana ya esta ejecutada")

ELSE

=DO FORM nombreform.scx

ENDIF


WEXIST te devuelve .T. si la ventana se encuentra ya ejecutada y .F. si no lo esta. Tenemos que tener en cuenta que el nombre del la ventana es el que le colocas en la propiedad NAME del Formulario. En este caso el código debe ir en el botón o menú que llame a la ventana, si el formulario se encuentra ejecutado entonces mandará un mensaje sino lo ejecutara


Por: David Amador T

Calcular la edad de una Persona

Visual Fox Pro, Trucos Comentarios ( 0 ) »

Siempre nos da cacao tratar de determinar los años que tiene una persona; presento un procedimiento fácil para hallarla. Acepto sugerencia y modificaciones


dFecha = {^1978/10/23}

nAños =
ROUND(((DATE()
- dFecha ) / 365.25),0)

? nAños

En el ejemplo la fecha de nacimiento es 23 octubre de 1978, y dará como resultado el número de años de la persona


Por: David Amador T

Determinar la Impresora predeterminada

Visual Fox Pro, Trucos Comentarios ( 0 ) »
En
VFP la impresión causa algunos malestares y debemos conocer
cual es la impresora predeterminada tanto en Windows como en
VFP
.


? SET("PRINTER",
2)  && Impresora predeterminada de Windows




? SET("PRINTER", 3) 
&& Impresora predeterminada de VFP


Por: David Amador T