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

Utilizar Microsoft Agent

Visual Fox Pro, Trucos Comentarios ( 1 ) »

Microsoft Agent nos permite agregarle interactividad a nuestras aplicaciones al estilo de Office, el cual puede mostrar a Merlin, Clipo, Rocky.. etc realizando diversas acciones.

Utilizaremos la clase _Agent que viene con VFP para mostrar a Merlin...

Set Classlib To Home(1) + "ffc\_agent.vcx" Additive

oAgent = Createobject( "_Agent")

With Agent
    . Load("Merlin","merlin.acs")
     .setActiveAgent(" Merlin")
    . Show(Rand() * 400, Rand() * 400)
    .speak("Bienvenidos...")

    .speak("Esta
es una prueba"
)
Endwith

 


Por: David Amador T

Dejar fija primera columna de un grid

Visual Fox Pro, Trucos Comentarios ( 0 ) »

Este es un truco bastante solicitado .... Con VFP 8 o superior ya es posible hacerlo más fácilmente. Aquí tienes 2 formas de hacerlo.

En el AfteRowColchange del Grid digita lo siguiente:

Lparameters nColIndex

Thisform. LockScreen = .T.
This.Columns(1).ColumnOrder
=This. LeftColumn
Thisform.LockScreen
= .T.

** Y en el Scrolled del Grid esto :

Lparameters nDirection

Thisform. LockScreen= .T.

If nDirection > 3
This .Columns(1). ColumnOrder = This.LeftColumn
Endif
Thisform.LockScreen= .F.

OTRA FORMA

** En el AfteRowColchange del Grid digita lo siguiente:

nPos =This. ActiveColumn-This.RelativeColumn

If nPos>0

This
.COlumn1.ColumnOrder=nPos+1

Else
This.COlumn1.ColumnOrder=1
Endif

Por: David Amador T

Wait window centrado en la pantalla

Visual Fox Pro, Trucos Comentarios ( 0 ) »

Truquito sencillo pero bueno.


lcMess = "Mesaje centrado en la pantalla"
Wait lcMess
Window At Srows()/2,(Scols()/2 - (Len(lcMess)/2))Nowait

 



Por: David Amador T

Código ESC para cortar el papel en impresoras Epson

Visual Fox Pro, Trucos Comentarios ( 0 ) »

Este truco te explica cual es la secuencia escape que debes enviar a la impresora Epson (TMU) para que corte el papel.

Set Console Off

Set Device To Printer
Set Printer To Name NombreDeImpresora

Set Print On

??? Chr(27)+"m"&& Corta el Papel

Set Print Off
Set Device To Screen

Set Printer To
Set Console On

 



Por: David Amador T

Reiniciar un campo autoincremental

Visual Fox Pro, Trucos Comentarios ( 0 ) »

Con VFP 8 apareció los campos de tipo autoincrementales; aquí tienes un truco para reiniciar el valor de dicho campo.

Alter Table (Ttabla)
Alter Column (campo) I Autoinc Nextvalue 1 Step 1


Por: David Amador T

Mapear una unidad de disco

Visual Fox Pro, Trucos Comentarios ( 0 ) »

Puedes mapear una unidad de disco de diferentes formas ... en este ejemplo se utiliza WSH (Windows Script Host).

oWSH = CREATEOBJECT("Wscript.Network")

oWSH.MapNetworkDrive("P:",
"servercarpeta")

Release oWSH



Por: David Amador T

Escoger número de la loteria

Visual Fox Pro, Trucos Comentarios ( 0 ) »

Pequeño truco para escoger un número al azar .... ideal para una lotería.. je,je,je..

Clear

nVueltas = Int(2000 * Rand( ) + 1) && Vueltas para seleccionar el número ganador
nControl = 0
 
Do While nVueltas > nControl
cNum = Transform(Int(9999
* Rand() + 1) )
    nControl = nControl + 1
@Srows()/2, (Scols()/2 - (Len(cNum)/2))Say cNum Font "Tahoma",30 Style "B"
Enddo

 


Por: David Amador T

Información del procesador

Visual Fox Pro, Trucos Comentarios ( 0 ) »

Una forma sencilla de conocer toda la información del procesador de nuestro PC.


? "Número de CPUs: " +
GETENV("NUMBER_OF_PROCESSORS")+CHR(13)
? "Arquitectura del Procesador:
"
+GETENV("PROCESSOR_ARCHITECTURE")+CHR(13)
? "Identificador del Procesador
Identifier: "
+GETENV("PROCESSOR_IDENTIFIER")+CHR(13)
? "Nivel del Procesador: "
+GETENV("PROCESSOR_LEVEL")+CHR(13)
? "Revisión del Procesador
Revision: "
+GETENV("PROCESSOR_REVISION")+CHR(13)



Por: David Amador T

Convertir de DBF a TXT

Visual Fox Pro, Trucos Comentarios ( 0 ) »

Esta es una forma de convertir una tabla a un archivo TXT utilizando funciones de bajo nivel.


El separador para los campos esta definido en la variable Separa.



Local lnHandle


lnHandle = Fcreate("c:Archivo.txt")



cSepara = "-"


cCadCamp = ""


 

Use Tabla


Go Top

 

Scan

    For i = 1
To Fcount()

        cCadCamp = cCadCamp +
Alltrim(Transform(Eval(Field(i))))
+ cSepara

   
Endfor

    cCadCamp =
Left(cCadCamp,
Len(cCadCamp)-1)
+
Chr(13)+Chr(10)


Endscan

 


=Fputs(lnHandle,cCadCamp)

=Fclose(lnHandle)



Use In Tabla



 


Por: David Amador T

Runtimes de VFP 9

Visual Fox Pro, Trucos Comentarios ( 0 ) »

Estos son los archivos necesarios para poder ejecutar una aplicación desarrollada en VFP.


msvcr71.dll    -   Runtime de  VC++ 7.1
gdiplus.dll       -  Soporte para GDI+
vfp9r.dll
vfp9t.dll

Archivos de Idiomas


vfp9renu.dll  -  Inglés
vfp9resn.dll  -  Español

msxml3.dll si usas XMLTOCURSOR
 

 


Por: David Amador T

Conexión a SQL Server utilizando autenticación de Windows

Visual Fox Pro, Trucos, Bases de datos, SQL Server Comentarios ( 0 ) »

Esta es una forma de conectarse a SQL Server cuando utilizas la autenticación a nivel de Windows.


En este caso utilizamos al función SQLStringConnect para realizar la
conexión.

nH = SqlStringConnect("Driver=SQL Server" + ;

           
";server= ServidorSQLServer"
+ ;
            
";database=BaseDatos"
+ ;

               ";app=Aplicacion")

Por: David Amador T

Messagebox por encima de todas las ventanas de Windows

Visual Fox Pro, Trucos Comentarios ( 0 ) »

Generalmente los Messagebox solo se muestran dentro del _Screen de VFP pero existe un valor no documentado que hace que el Messagebox se muestre encima de todas las ventanas de Windows.

nEstilo = 4 + 32 + 4096 && el valor no documentado es 4096
MESSAGEBOX("ESTE ES UN MESSAGEBOX", nEstilo ,
"DIEFERNTE" )


Por: David Amador T

Consultas parametrizadas con CursorAdapter a través de ODBC

Visual Fox Pro, Trucos, SQL Server Comentarios ( 0 ) »

Ejemplo básico de como utilizar el objeto CursorAdapter para realizar consultas a una base de datos


oCA = Createobject("CursorAdapter")


cCodigo = "0001"
cCmdSQL = "select * from Tablas Where Codi = ?cCodigo"
 

oCA.SelectCmd= cCmdSQL

oCA.DataSourceType ="ODBC"
oCA.Datasource =
SQLConnect("MIDSN")

* oCA.DataSource = SQLStringConnect("cadenaconexión")
 
If oCA.Datasource< 1
    ?"Error"
Else

    oCA.CursorFill()

    Browse
Endif

Por: David Amador T

Indexar tabla mostrando barra de progreso

Visual Fox Pro, Trucos Comentarios ( 0 ) »

Una truquito que te muestra una barra de progreso cuando esta indexando una tabla.

Public oForm

oForm =Createobject("Form")

Set Talk Off

With oForm
    .Caption=""
    .AutoCenter= .T.
    .Width= 375

    .Height= 31

    .Visible= .T.
nbsp;   .ControlBox= .F.
    .AddObject("oBarra","OleControl","mscomctllib.progctrl.2")
 
    With .oBarra
nbsp;       .Visible= .T.
        .Left= 4
        .Top= 5
        .Width= 368
       .Height= 20

        .Min= 1
    Endwith
Endwith

Create Cursor MiTabla (Campo C(12))

For i = 1To
10000
    Append Blank
Endfor
 
nTotReg =
Reccount("MiTabla")

Locate

oForm.oBarra.Max= nTotReg
Index On Progreso(Campo, Recno(), nTotReg) Tag Campo
oForm.Release


Function Progreso(Campo, nRecno, nTotReg)

    cProg = Transform(Round((nRecno/nTotReg)*100,0)) +
"%"
    oForm.Caption="Progreso " + cProg
nbsp;   oForm.oBarra.Value= nRecno

    Return Campo

Endfunc




Por: David Amador T

Conexión ADO con base de datos de VFP a través de OleDB

Visual Fox Pro, Trucos, Bases de datos, SQL Server Comentarios ( 0 ) »

Muy buen ejemplo que te explica como conectarte a una DBC utilizando el proveedor de VFP.


oCon =
CreateObject
("ADODB.Connection")
oRst = CreateObject("ADODB.RecordSet")
 
cCadCon = "Provider=VFPOLEDB.1;"
;

        +
"data source=c:
utaasedatos.dbc"

oCon.open(cCadCon)

cSQL = "select * from Tabla"


oRst = oCon.execute(cSQL)


DO While !oRst.Eof

  cResult =
""

  For Each oCmp
in
oRst.Fields
    cResult =
oCmp.
Value + " - " + cResult
  Next
  ?cResult
  oRst.Movenext
EndDo

 


Por: David Amador T