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 documento de Word en un Formulario

Visual Fox Pro, Trucos Comentarios ( 0 ) »

Si quieres visualizar un documento de Word en un formulario puedes utilizar este
truco.


_vfp
.AutoYield = .F.



Public
oForm

oForm =
Createobject("formword")

oForm.
Show()

 


*- Definición de la clase formword


Define Class
formword
As Form

   
Add Object
oleWebWrowser
As
IEClass
With;

       
Name
=
"oleWebBrowser"



   
Procedure Resize

       
This
.oleWebBrowser.Height
=
This.Height

       
This
.oleWebBrowser.Width
=
This.Width

   
EndProc


    Procedure Init

       
With This
.oleWebBrowser

       
.
Top
= 0

       
.
Left
= 0

       
.Navigate(
Getfile("Archivos
de word (*.doc):doc"
))

       
EndWith


       
This
.Resize()

   
EndProc


EndDefine


 


*- Definición de la clase IEClass


Define Class
IEClass
As OleControl

   
OleClass
=
"Shell.Explorer.2"



   
Procedure Init

       
This
.Navigate("about:blank")

   
EndProc


   
Procedure Refresh

       
Nodefault

   
EndProc

EndDefine

Por: David Amador T

Drag and Drog de objetos

Visual Fox Pro, Trucos Comentarios ( 0 ) »

Un sencillo ejemplo que
explica como puedes implementar Arrastrar y soltar (Drag and Drog) en tus
formularios. En el ejemplo podemos ver como se puede mover
un textbox por el formulario


o = Createobject(_form1_)

o.Show(1)



Define Class form1 As Form

     Add Object text1 As
TextBox With ;

     READONLY = .F., ;

     WIDTH = 100, ;

     Value = "Ruedame" ,;

     NAME = "Text1"



     Procedure DragDrop

      Lparameters oSource,
nXCoord, nYCoord

           
oSource.Top = nYCoord - oSource.YCoord

           
oSource.Left = nXCoord - oSource.XCoord

     Endproc



     Procedure text1.MouseDown

      Lparameters nButton,
nShift, nXCoord, nYCoord

          
This.AddProperty(_XCoord_,nXCoord-This.Left)

          
This.AddProperty(_YCoord_,nYCoord-This.Top)

          
This.Drag(1)

     Endproc



     Procedure text1.DragDrop

      Lparameters oSource,
nXCoord, nYCoord

         
Thisform.DragDrop(oSource, nXCoord, nYCoord)

     Endproc

Enddefine




 

Por: David Amador T

Devolver el nombre físico del formulario actual

Visual Fox Pro, Trucos Comentarios ( 0 ) »

En muchas ocasiones se necesario conocer el nombre del formulario que se esta ejecutando. La función Sys(1271) hace exactamente esto.

Crea un formulario y un botón y coloca este código en el evento click del botón.


cForm = SYS(1271,Thisform)

Wait window cForm

Por: David Amador T

Devolver las estadísticas de un documento de Word

Visual Fox Pro, Trucos Comentarios ( 0 ) »

A través de automatización
puedes obtener las estadísticas y características de un documento de Word,
entre ellas: número de palabras, párrafos, líneas, palabras, entre otras.


oW = Createobject("Word.Application")

oW.Documents.Open(Getfile("DOC"))



?"Palabras "+ Transform(oW.ActiveDocument.ComputeStatistics(0))

?"Líneas " + Transform(oW.ActiveDocument.ComputeStatistics(1))

?"Paginas " + Transform(oW.ActiveDocument.ComputeStatistics(2))

?"Caracteres sin espacios " +
Transform(oW.ActiveDocument.ComputeStatistics(3))

?"Parrafos "+ Transform(oW.ActiveDocument.ComputeStatistics(4))

?"Caracteres con espacios " +
Transform(oW.ActiveDocument.ComputeStatistics(5))




 

Por: David Amador T

Abrir archivos arrastrando y soltando

Visual Fox Pro, Trucos Comentarios ( 0 ) »

Excelente truco que te
permite abrir archivos solo arrastrando y soltándolos en tiempo de diseño.


La mayoría
de veces cuando queremos trabajar con un prg o un archivo de VFP
utilizamos los comandos de este lenguaje, pero podemos utilizar este truco
y evitar complicarnos con las rutas de los archivos ....


Lo que
debes hacer el seleccionar el archivo de VFP y llevarlo con click
sostenido (Drag and Drog) hasta la ventana de comandos de VFP. Este truco
abre cualquier tipo de archivo incluso los que no son de VFP.

Por: David Amador T

Agregar imagen al Screen centrada

Visual Fox Pro, Trucos Comentarios ( 0 ) »

Este es un
antiguo truco que te permite agregar una imagen al screen de VFP centrada.
Viejo pero bueno.


@
2.000,2.000 Say "c:imagen.jpg" Bitmap STYLE "T" Center

Por: David Amador T

Anclar barra del preview de los reportes

Visual Fox Pro, Trucos Comentarios ( 0 ) »

Si deseas
que cuando hacer un report form la barra del preview se ancle puedes
utilizar este código.


Coloca el
siguiente código en el Init del Dataenvironment




If wexist("Print Preview") 
&& O WEXIST(_Vista Preliminar_) si
utilizas VFPXESN.DLL


     Move Window _Print Preview_ to 10,10

     Mouse Dblclick at 11,11

Endif

Por: David Amador T

Apagar rápidamente con WinXP

Visual Fox Pro, Trucos Comentarios ( 0 ) »

Puedes hacer que tu PC se
apague con doble clic, para ello deberás crear un icono que te permita
hacer esta función, para realizar este truco sigue estos pasos:




Haz clic con el ratón derecho en una zona libre del Escritorio y luego
selecciona Nuevo y Acceso directo.

En la ventana del acceso directo debes escribir shutdown -s -t 00 y pulsa
el botón Siguiente, después le pones el nombre que quieras al acceso
directo y pinchas el botón Finalizar.

 


Si quieres dejar algo de
tiempo para cerrar las aplicaciones debes poner esto shutdown.exe -s -t 12
de esta forma dejarás un margen prudencial de 12 segundos para apagar el
PC.

Por: David Amador T

Conocer el nombre de los libros de un documento de Excel

Visual Fox Pro, Trucos Comentarios ( 0 ) »

Cuando realizas
automatización con Excel y deseas manipular los libros de un documento
debes conocer el nombre de estos. Este truco te explica como hacerlo.


Primera
forma:


oExcel =
Createobject("Excel.Application")

oExcel.Workbooks.Open(GetFile("XLS"))



For Each oSheet In oExcel.Sheets

      ? oSheet.Name

Endfor



oExcel.ActiveWorkbook.Close()

oExcel.Quit()


Segunda forma


oExcel = Createobject("Excel.Application")

oExcel.Workbooks.Open(GetFile("XLS"))



For ln_Loop = 1 To oExcel.Sheets.Count

     oSheet = oExcel.Sheets[ln_Loop]

     ? oSheet.Name

EndFor



oExcel.ActiveWorkbook.Close()

oExcel.Quit()

 

Por: David Amador T

Base de datos a la que pertenece una tabla sin usar INDBC

Visual Fox Pro, Trucos Comentarios ( 0 ) »

Esta es la forma de conocer
a que base de datos esta vinculada una tabla sin invocar la función INDBC().


Las tablas internamente
almacenan las características de estas, por ejemplo el
número de campos, el tipo de tabla, en fin. En este ejemplo vamos a
conocer la base de datos a la que esta vinculada la tabla seleccionada por
el usuario.


Local cArchivo, cBD



cArchivo=Fopen(Getfile("DBF"))



If cArchivo==-1 THEN

      
=Messagebox("El archivo se encuentra abierto ... acción no realizada")

Endif



=Fseek(cArchivo,32)

Do While !Feof(cArchivo)

     If Asc(Fread(cArchivo,1))==13
THEN

        
cBD=Fread(cArchivo,264)

        
Exit

     Endif

EndDo



=Fclose(cArchivo)

If Type("cBD")= "C" THEN

    =MessageBox(Trim(cBD))

Endif

Por: David Amador T

Buscar archivo dentro del proyecto actual

Visual Fox Pro, Trucos Comentarios ( 0 ) »

A través de este truco
podrás saber fácilmente si un archivo determinado existe dentro del
proyecto abierto actualmente.


En este
caso quiero buscar los archivos cuyo nombre contenga la palabra "descu".


FOR EACH o IN _VFP.ActiveProject.Files

    IF "descu"
$ o.name

         ?
o.name

    EndIf

NEXT



 

Por: David Amador T

Número de columnas y celdas usadas en documento de Excel

Visual Fox Pro, Trucos Comentarios ( 0 ) »

Con este
código podrás conocer el número de celdas y columnas utilizadas por un
documento de Excel.


oE = CreateObject("Excel.Application")

oE.Workbooks.Open(Getfile("XLS"))



?oE.ActiveSheet.UsedRange.Rows.Count

?oE.ActiveSheet.UsedRange.Columns.Count



 

Por: David Amador T

Determinar si una propiedad existe en un objeto

Visual Fox Pro, Trucos Comentarios ( 0 ) »

Existen
diversas formas de conocer si una propiedad existe en un objeto. Aquí te
muestra algunas formas.


Puedes
hacerlo con Type


If Type("Thisform.Text1.Value")
# "U"

    =Messagebox("La propiedad existe")

Else

    =Messagebox("La propiedad no existe en el objeto")

EndIf



Con Vartype



If VarType(Thisform.Text1.Value) # "U"

    =Messagebox("La propiedad existe")

Else

    =Messagebox("La propiedad no existe en el objeto")

EndIf


La diferencia entre TYPE y
VARTYPE es que en esta ultima el objeto a evaluar no se encierra entre
comillas y además de eso que Vartype realiza esta comprobación de forma
más veloz.


Con
PemStatus


If
PEMSTATUS(Thisform.Text1, "Value", 5)

    =Messagebox("La propiedad existe")

Else

    =Messagebox("La propiedad no existe en el objeto")

EndIf

Por: David Amador T

Número negativo entre paréntesis

Visual Fox Pro, Trucos Comentarios ( 0 ) »

Cuando
realizamos algunos cálculos queremos colocar entre paréntesis aquellos que
sean negativos; puedes hacerlo de la siguiente forma.


Num = -1

Num =Iif(Num<0,"(" + Alltrim(Str(-Num,10,2))+")",Alltrim(Str(Num,10,2)))

? Num

Por: David Amador T

Grafico con MSChart

Visual Fox Pro, Trucos Comentarios ( 0 ) »

Ejemplo básico de como generar gráficos con MSChart.



oForm =
Createobject("Grafico")

oForm.
Show(1)



Define Class
Grafico
As Form

   
Add Object
oChart
As OleControl
;

   
    WITH OleClass="MSChart20Lib.MSCHart.2",;

       
Top=0,
Left=0,;

       
Width=This.Width,
Height=This.Height



   
Procedure Init

       
Local
lnCounter



       
With This.oChart.Object

           
.RowCount = 12

           
.RowLabelCount = 1

           
.
Title.Text="Ejemplo
de Grafico"

           
.ColumnCount
= 1

           
.ChartType=1

           
.
Column
= 1

           
Rand(-1)



           
For
lnCounter =1
To
12

               
.
Row
= lnCounter

               
.RowLabel = 0 + lnCounter

               
.
Data
=
Rand()*100

           
EndFor

       
EndWith

   
EndProc

EndDefine

 

Por: David Amador T