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

Determinar la Dirección IP del Equipo

Visual Fox Pro, Trucos Comentarios ( 0 ) »

Una forma de conocer la dirección IP del equipo es
invocando una función API, pero comentaré otra forma de hacerlo y esta es
através de MSDOS,
el único inconveniente es que se mostrara la ventana del DOS,
pero eso también tiene solución y será explicada en la sección de APIS


Local
F, X, Y, U, K

F =
Sys(2023)
+
""
+
SubStr(Sys(2015),1,8)
+
".txt"


X =
SubStr(sys(0),1,
At("
"
,
Sys(0))-1)



Run
PING &X > &F

Y =
FileToStr(F)


Delete File
&F

U =
At("[",
Y) + 1

K =
At("]",
Y)

?
SubStr(Y,U,K-U)







Por: David Amador T

Impedir que cambien la configuración del Preview de Reportes

Visual Fox Pro, Trucos Comentarios ( 0 ) »
Si no quieres que te
modifiquen la configuración del Preview de reportes desde abrir la tabla
de recursos de VFP (Foxuser.dbf) y cambiar a verdadero (.t.) el campo solo
lectura (ReadOnly) de la barra.




Use SYS(2005) Again




Locate
For Id=_TTOOLBAR_ and name=_Print Preview_

      Replace readonly with .T.

Use

Por: David Amador T

Cambiar hora del PC

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


cFecha = "11:00:00"

RUN time &cFecha


Por: David Amador T

Calcular tiempo que tarda realizar una Operación

Visual Fox Pro, Trucos Comentarios ( 0 ) »
Un simple
pero muy interesante ejemplo de como y donde implementar estas útiles
funciones.

lnInicio = SECONDS() 



    for i = 1 to 10000  && en este
ejemplo cuanto tarda realizar

                              
&& el ciclo for de 1 hasta 10000

    endfor



? SECONDS() - lnInicio 


Por: David Amador T

Agregar una DSN por código

Visual Fox Pro, Trucos Comentarios ( 0 ) »

Esta es una forma de agregar una DSN por código
utilizando API. Este ejemplo te agrega una conexión llamada MiDSN



LOCAL
lcDriver,lc_dsn,fResult

# Define ODBC_ADD_DSN 1



Declare INTEGER SQLConfigDataSource IN odbccp32.dll;

INTEGER ,;

SHORT ,;

STRING @,;

STRING @

Lc_Driver = "NombreDriver" +CHR(0)



lc_dsn = "dsn=MiDSN"+CHR(0)+;

"Server=server name"+CHR(0)+;

"database=Database name"+CHR(0)+;

"Network=DBMSSOCN"+CHR(0)



fResult = SQLConfigDataSource( 0,ODBC_ADD_DSN,@lc_driver,@lc_dsn)


 


Por: David Amador T

Asociar un programa a una extensión especifica

Visual Fox Pro, Trucos Comentarios ( 0 ) »

Si deseas asociar un programa a una extensión
especifica debes escribir en el registro del sistema y guardar las entradas
respectivas....para eso vamos a utiliza WSH (Windows Script Hos)



DO AsociarArchivo WITH
".aaa", "MiPrograma", "C:RutaMiExecutable.exe"



PROCEDURE AsociarArchivo (sExtension, sFileDescription, sExecutable)

    LOCAL sErrorHandler

   sErrorHandler = ON("error")

   ON ERROR




   oShell = CreateObject("wscript.shell")

   oShell.Regwrite ("HKCR" + sExtension + "", sFileDescription)

   oShell.Regwrite ("HKCR" + sFileDescription + "", "MY PROJECT")

   oShell.Regwrite ("HKCR" + sFileDescription + "DefaultIcon",
sExecutable)

   oShell.Regwrite ("HKCR" + sFileDescription + "shellopencommand",
sExecutable + " %1")

   oShell.Regdelete ("HKCUSoftwareMicrosoftWindowsCurrentVersionExplorerFileExts"
+ sExtension + "Application")

  oShell.Regwrite ("HKCUSoftwareMicrosoftWindowsCurrentVersionExplorerFileExts"+sExtension
+ "Application", sExecutable)

  oShell.Regdelete ("HKCUSoftwareMicrosoftWindowsCurrentVersionExplorerFileExts"
+ sExtension + "OpenWithList")

  oShell.Regwrite("HKCUSoftwareMicrosoftWindowsCurrentVersionExplorerFileExts"+sExtension+"OpenWithLista",
sExecutable)

  ON ERROR &sErrorHandler

ENDPROC

 


Por: David Amador T

Buscar archivos con Filer.dll y almacenarlo en cursor

Visual Fox Pro, Trucos Comentarios ( 0 ) »
Filer.DLL, es una DLL que es utilizada para buscar archivos, es bastante bueno y posee muchas características. Este ejemplo almacena en un cursor los archivos encontrados en un directorio determinado


Create Cursor filename (cfilename c(128))



omyfiler = Createobject("Filer.FileUtil")



omyfiler.searchpath = "C:" && Ruta de Busqueda

omyfiler.subfolder = 1 && 1 = para incluir subdirectorios. 0 para no

omyfiler.SortBy = 0

omyfiler.Find(0)

Local ncount

ncount = 1



For nfilecount = 1 To omyfiler.Files.Count

If omyfiler.Files.Item(nfilecount).Name =
"." Or ;


omyfiler.Files.Item(nfilecount).Name = ".."

Loop

Endif




Append Blank

Replace cfilename WITH
Upper(omyfiler.Files.Item(nfilecount).Path)+ ;


UPPER(omyfiler.Files.Item(nfilecount).Name)

Endfor

Browse



Por: David Amador T

Devolver nombre del primer archivo que coincida con una cadena especifica

Visual Fox Pro, Trucos Comentarios ( 0 ) »

En ocasiones necesitas conocer cual es el
primer archivo que coincide específicamente con una cadena de caracteres, para
eso podemos utilizar la función SYS(2000) .... a esta le pasamos cual es el
archivo tipo o archivo que deseamos obtener.


Por ejemplo:


? Sys(2000,"F*.prg")
** Devuelve el primer archivo que empiece por F y con extensión PRG


? Sys(2000,"*.*")
** Devuelve el primer archivo del directorio actual





Por: David Amador T

Exportar a HTML de forma sencilla

Visual Fox Pro, Trucos Comentarios ( 0 ) »

Esta es una de las formas más sencillas de
exportar una tabla a HTML ... En este ejemplo se recorre numero de campos que tenga la tabla y luego el total de registros...


Scan

      <tr>

          For lnField = 1 To
Afields(laFields)

             
\<td><<EVALUATE(FIELD(m.lnField))>><td>

         Endfor

      </tr>

Endscan

 


</table></body></html>

 



Set Textmerge Off

Set Textmerge To

Strtofile(lcHTML,"c:TablaExportada.htm")

Por: David Amador T

Eliminar Directorio

Visual Fox Pro, Trucos Comentarios ( 0 ) »

Existen diferentes forma de eliminar
directorios ... con WSH, API, pero puedes utilizar también algunas funciones de
VFP, este es un ejemplo





cDirectorio = "c:CarpetaaBorrar"

nTotArchivos = Adir(aArchivos, cDirectorio+"*.*")



For i = 1 To nTotArchivos

cNomArchivo = cDirectorio +
aArchivos[I,1]

Wait Window "Borrando el archivo: " +
cNomArchivo Nowait Noclear

Delete File (cNomArchivo) recycle

Next



Rmdir (cDirectorio)



=Messagebox(_Borrado el directorio
_ + cDirectorio)



Por: David Amador T

Enviar email con el programa de correo predeterminado

Visual Fox Pro, Trucos, Funciones API Comentarios ( 0 ) »
Este es un ejemplo de como utilizar
la función MAPISendDocuments para enviar emails.


 


Do
FindWindow


Local
lcPath, hWindow, lcDelimiter,
lcFiles, lcMsgSubj


lcPath = Sys(5)
+
Sys(2003)

cDelimi =
";"


lcFiles =

"C:\Archivo1.exe"
+
cDelimi +
"C:\tabla.dbf"


lcMsgSubj =

"Archivos adjuntos: Archivo1.exe, tabla.dbf"

nHwd = GetActiveWindow()



=MAPISendDocuments(nHwd, cDelimi, lcFiles, lcMsgSubj,0)



Set Default To
(lcPath)



Procedure
FindWindow

    Declare Integer
GetActiveWindow
In
user32

   
Declare Integer
MAPISendDocuments
In
mapi32;

       
INTEGER
ulUIParam,
String
lpszDelimChar,;

       
STRING
lpszFullPaths,
String
lpszFileNames,;

       
INTEGER
ulReserved


EndProc


Por: David Amador T

Manipular propiedades y métodos de otro formulario

Visual Fox Pro, Trucos Comentarios ( 0 ) »

Este es uno de los temas más consultados
diariamente,,, es decir como podemos hacer referencia a un formulario desde otro
formulario...

 


Lo que debes hacer es asignarle al formulario una variable pública o una
propiedad del screen .. por ejemplo ...


PUBLIC miForm



DO FORM "NombreForm" NAME miForm Linked




Y desde otro formulario ya podrás acceder a las propiedades, métodos y
eventos del anterior formulario ejecutado... de la siguiente forma



MiForm.Refresh()   ** Lo actualiza


MiForm.Caption = _Mi
súper titulo_   ** Le coloca otro titulo


Por: David Amador T

Agregando relaciones al entorno de datos por código

Visual Fox Pro, Trucos Comentarios ( 0 ) »

En muchas ocasiones requerimos agregar
manualmente (por código) las relaciones al entorno de datos ... este es el
código que en ocasiones uso ....

Este código va en el Load del formulario ... tenga presente la propiedad
AutoOpenTable y el método OpenTables(), ya que el código siguiente puede verse
afectado por ellos..





With Thisform.DataEnvironment

.AddObject("MiRelacion","Relation")

.MiRelacion.ChildOrder="Client_Code"

.MiRelacion.RelationalExpr="Client_Code"

.MiRelacion.ChildAlias="Invoice"

.MiRelacion.ParentAlias="Client"

EndWith


Por: David Amador T

Agregar conexión a impresora en Red

Visual Fox Pro, Trucos Comentarios ( 0 ) »

WSH te permite agregar impresora .... en este
caso se agregara una impresora en red .... los parámetros a pasar son el puerto
donde esta conectado la impresora y la ruta de la misma dentro de la red


oWshNetk = CreateObject("WScript.Network")

oWshNet.AddPrinterConnection("LPT1", "\ServerPrint1")


Por: David Amador T

Agregar tabla al entorno de datos por Código

Visual Fox Pro, Trucos Comentarios ( 0 ) »

Ya vimos como agregábamos una relación al
entorno de datos por código .... en este ejemplo veremos como agregamos una
tabla al entorno de datos.-..




oWith Thisfom.DataEnvironment


.Addobject("MiTabla","Cursor")

.MiTabla.CursorSource="RutadatosTabla.dbf"

.MiTabla.Alias="Tutabla"

.MiTabla.Order="Tuorder"

.MiTabla.Exclusive=.T.

.MiTabla.BufferModeOverride=1 ** Dependiendo

.Opentables()

EndWith


Por: David Amador T