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

Conocer el ancho de una cadena de texto

Visual Fox Pro, Trucos Comentarios ( 0 ) »

Me imagino que han visto la propiedad Autosize....
bueno este es más o menos el código que puedes utilizar si deseas simular el
efecto .... el ejemplo me devolverá el ancho de la cadena de texto que se le
pases a TxtWidth .... debes tener en cuenta que el ancho es dependiente del
tipo, tamaño y estilo de la letra.



cTexto = _David_

? TXTWIDTH(cTexto, _Arial_, 10,
_N_)*(FONTMETRIC(6,(_Arial_), 10, _N_)/FONTMETRIC(6))


 


Por: David Amador T

Apagar el Computador con Shell de Windows

Visual Fox Pro, Trucos Comentarios ( 0 ) »


Esta es otra forma de apagar el computador
sin utilizar API ..... pero invocando al Shell de windows


 



oShell = CreateObject("Shell.Application")

oShell.ShutdownWindows


Por: David Amador T

Borrar todos los nodos de un Treeview

Visual Fox Pro, Trucos Comentarios ( 0 ) »


El Método Clear() te permite eliminar todos
los nodos de un treeview


 


Thisform.TreeView1.Nodes.Clear()



 


Por: David Amador T

Validar si un email existe

Visual Fox Pro, Trucos Comentarios ( 0 ) »

Puedes validar si una determinada dirección de email existe, para eso utilizamos un webservicio que se encuentra disponible en Internet. Requieres tener instalado SOAP Toolkit..

cEmail = "dav_amador@davphantom.net"

oSOAP = Createobject("MSSOAP.SoapClient")
oSOAP.mssoapinit("http://soap.einsteinware.com/email/emailservices.asmx?WSDL","EmailServices")

cRet = oSOAP.ValidateEmailAddress(cEmail)
cResult = Upper(cRet.Item(0).nodeValue)

Do Case
       Case cResult = "INVALID USER"
           cMen = "El usuario de ese email no existe"

       Case cResult = "INVALID SERVER"
           cMen = "El servidor del email no existe"

       Case cResult = "INVALID ADDRESS"
           cMen = "La dirección de email no existe"

       Case cResult = "VALID"
           cMen = "El email es valido"

Endcase

=Messagebox(cMen, 64, "Validar Email")

 


Por: David Amador T

Conocer la carpeta de "Mis Documentos"

Visual Fox Pro, Trucos Comentarios ( 0 ) »

Puedes validar si una
determinada dirección de email existe, para eso utilizamos un webservicio
que se encuentra disponible en Internet. Requieres tener instalado SOAP
Toolkit.


? GETENV("USERPROFILE")


Por: David Amador T

Aplicaciones instaladas en tu Equipo

Visual Fox Pro, Trucos Comentarios ( 0 ) »

Este es un excelente truco
que te permite conocer la lista de aplicaciones instaladas con windows
Installer en tu equipo, además la versión y el idioma de la misma.


Local oWInst

oWInst = Createobject("WindowsInstaller.Installer")



oProducts = oWInst.Products

For Each Product In oProducts

        strName
= oWInst.ProductInfo (Product, "ProductName")

       
strMinVer = oWInst.ProductInfo (Product, "VersionMinor")

       
strMaxVer = oWInst.ProductInfo (Product, "VersionMajor")

        strVer =
oWInst.ProductInfo (Product, "VersionString")

        ?
strName + strMinVer + strMaxVer + strVer

Next


Por: David Amador T

Lista de subcarpetas de un directorio

Visual Fox Pro, Trucos Comentarios ( 0 ) »

Puedes obtener la lista de
subcarpetas de un directorio de diversas formas. En este ejemplo utilizo
WSH.


oWSH = Createobject(_Scripting.FilesystemObject_)



oFolder = oWSH.GetFolder(Getdir())

For Each oSubfolder In oFolder.SubFolders

     ? oSubfolder.Name

Endfor


Por: David Amador T

Imprimir el contenido de un RTF

Visual Fox Pro, Trucos Comentarios ( 0 ) »

El RTF es un control
ActiveX que permite dar características al texto al estilo de Word. En el
ejemplo se muestra como imprimir el contenido de este ActiveX.


Para
imprimir el contenido debes utilizar el método SelPrint del control RTF
...




With Thisform.Rtf

     .selstart=1

     .sellength=len(.textrtf)

     .selprint


Por: David Amador T

Recorrer todos los objetos de un PageFrame

Visual Fox Pro, Trucos Comentarios ( 0 ) »

En alguna ocasión quería
recorrer los objetos de cada pagina de un pageframe y pensé que seria un
poco complejo, pero la solución fue más sencilla de lo que creía.




 



For Each loPage In
Thisform.Pageframe1.Pages

    For Each oControl In
loPage.Controls

        
?oControl.Name

    Next

Next

Por: David Amador T

Indicar el número de copias a imprimir en Word (Automatización)

Visual Fox Pro, Trucos Comentarios ( 0 ) »

A través de automatización
puedes indicarle a Word cuantas copias de un documento quieres imprimir.




oW = CreateObject("Word.Application")

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

oW.ActiveDocument.PrintOut(,,,,,,,3)

Por: David Amador T

Colocar tu programa en el menú "Enviar a" de Windows

Visual Fox Pro, Trucos Comentarios ( 0 ) »

Este es un muy buen truco y
fácil de realizar. Puedes permitir que tu aplicación aparezca en el menú
"Enviar a" de Windows y puedes recibir en tu aplicación el nombre del
archivo que el usuario envié.


dependiendo del sistema
operativo que uses ..



- WinXP



C:Documents and SettingsNombre UsuarioSendTo



- Win9X



C:WindowsSendTo



Es decir coloca un acceso directo de tu aplicación en la carpeta SENDTO y
listo te aparecerá cuando hagas click sobre un archivo con el botón
derecho del mouse .....



Y para que el EXE de VFP te reciba el nombre del archivo debes colocar una
línea parecida a la siguiente :::



Lparameter cArchivo



Esta debe ser la primera línea del programa principal de tu EXE ....


Por: David Amador T

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