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 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

Evaluar si existen la Variables

Visual Fox Pro, Trucos Comentarios ( 0 ) »
Podemos   determinar
si una variable especifica ya existe en el entorno de VFP. Muy
útil.


IF TYPE("nombrevariable")

      =MessageBox("La variable si existe")

ENDIF


Por: David Amador T

Determinar si una aplicación esta instalada

Visual Fox Pro, Trucos Comentarios ( 0 ) »
Cuantas veces no hemos
querido saber si ya esta instalado Word, Excel u otra aplicación en
el equipo. En este ejemplo determinamos si se encuentra instalado
Word en el equipo pero puede ser cualquier otra aplicación.


oWord = createobject("word.application")

IF VARTYPE(oWord) # "O"

     =Messagebox("Word no se encuentra instalado
en este equipo")

    
return

endif


Por: David Amador T

Numero de Archivo de un Directorio

Visual Fox Pro, Trucos Comentarios ( 0 ) »

Por: David Amador T

Cambiar la hora del Sistema Fácilmente

Visual Fox Pro, Trucos Comentarios ( 0 ) »
Este es un muy buen
truco de como cambiar la fecha del sistema utilizando el comando
RUN y la orden DATE del DOS



cFecha = "05/05/2000"

RUN DATE &cFecha


Puedes utilizar un TextBox y luego
conviertes el valor de este a tipo fecha con la función DTOC()
y corres la aplicación; así el valor del texto será la nueva
fecha.


El único inconveniente es que te
aparece una ventana DOS pero utilizando la función SHOWWindows
del API es fácil corregir.


Por: David Amador T

Lista de Datos de Combo Box en Diferentes Colores

Visual Fox Pro, Trucos Comentarios ( 0 ) »
Muchas  veces deseamos darle un presentación
atractiva a nuestras aplicaciones  o  queremos resaltar algunos aspectos
importantes de los objetos, manipulando  adecuadamente las propiedades de estos.


En  verdad  algunos  efectos  
especiales   como  el  que mostrare cambian  la  dinámica   de  los  
objetos  y  contribuyen a darle más
vistosidad.


En  este  ejemplo haré  que 
un Combo Box 
muestre sus valores en distintos colores de letra. Así como lo muestra la
siguiente figura:



Para esto en el evento Init del
Combo Box colocamos el siguiente código:


#DEFINE BarraRoja ,RGB(150,0,0)

#DEFINE BarraVerde ,RGB(0,150,0)

#DEFINE BarraAzul ,RGB(0,0,255)

#DEFINE BarraAmarillo ,RGB(255,255,0)



DEFINE POPUP Colores



DEFINE BAR 1 of Colores ;

Prompt "Rojo" COLOR BarraRoja



DEFINE BAR 2 of Colores ;

Prompt "Verde" COLOR BarraVerde



DEFINE BAR 3 of Colores ;

Prompt "Azul" COLOR BarraAzul



DEFINE BAR 4 of Colores ;

Prompt "Amarillo" COLOR BarraAmarillo


Cambie las siguientes propiedades de
Combo Box


RowSourceType = 9 - Emergente


RowSource = Colores


Y en el evento InteractiveChange del
Combo agregué el siguiente código:



   DO CASE
CASE This.Value = "Red"
This.Forecolor = RGB(150,0,0)
CASE This.Value = "Green"
This.Forecolor = RGB(0,150,0)
CASE This.Value = "Blue"
This.Forecolor = RGB(0,0,255)
CASE This.Value = "Yellow"
This.Forecolor = RGB(255,255,0)
ENDCASE

Espero las allá gustado este ejemplo
		

Por: David Amador T