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 si una variables es un array o matriz

Visual Fox Pro, Trucos Comentarios ( 0 ) »

En muchas ocasiones
necesitamos saber si una variable es una matriz o un array ..... aquí
están algunas formas de saberlo.


Puedes
hacerlo con la función TYPE o VARTYPE


? Type("ALEN(aMiArrayXP)")
== "N"

? Type("aMiArrayXP[1]")#"U"

? Vartype(aMiArrayXP[1])#"U"

 

Por: David Amador T

Reproducir archivo de sonido através de WSH

Visual Fox Pro, Trucos Comentarios ( 0 ) »

Otra forma de reproducir un
archivo de sonido.... esta vez es utilizando WSH para que ejecute el
archivo.


cWav = GetFile("WAV")

oWsh = CreateObject("Wscript.Shell")

oWsh.Run("sndrec32 /play /close " + cWav ,0, .T.)


 


Por: David Amador T

GlobalMemoryStatus

Visual Fox Pro, Funciones API Comentarios ( 0 ) »

Con esta función API podrás
conocer el estado actual de la memoria de tu PC.


Crea un PRG
y agrega el siguiente código:


Declare
GlobalMemoryStatus In kernel32 String @ lpBuffer



lpBuffer = Repli (Chr(0), 250)

= GlobalMemoryStatus (@lpBuffer)



= _display ("This buffer length, in bytes ..........:", 1)

= _display ("Memory in use, % ......................:", 5)

= _display ("Physical memory, in bytes .............:", 9)

= _display ("Physical memory available, in bytes ...:", 13)

= _display ("Committed memory limit, in bytes ......:", 17)

= _display ("Available memory to commit, in bytes ..:", 21)

= _display ("User mode portion..., in bytes ........:", 25)

= _display ("Unreserved/uncommitted memory .........:", 29)



Procedure _display (lcCaption, lnOffs)

       ? lcCaption +
Trans(buf2dword(Substr(lpBuffer,lnOffs,4)),;

           
"999,999,999,999,999,999")

Return



Function buf2dword (lcBuffer)

Return;

            
Asc(Substr(lcBuffer, 1,1)) + ;

             
Asc(Substr(lcBuffer, 2,1)) * 256 +;

             
Asc(Substr(lcBuffer, 3,1)) * 65536 +;

             
Asc(Substr(lcBuffer, 4,1)) * 16777216

Endfunc


 


Por: David Amador T

Remover caracteres de una cadena de texto

Visual Fox Pro, Trucos Comentarios ( 0 ) »

Esta es una
de las rutina básicas que siempre debemos tener en cuenta para validar
nuestras cadenas de texto o extraer solo los caracteres que necesitemos.


En este
ejemplo quiero extractar todos los caracteres excepto los asteriscos ( * )


? STRTRAN("8S3F292Q843*4567*0Q7S82MU-6",
"*")


De otra
forma


?
CHRTRAN("8S3F292Q843*4567*0Q7S82MU-6", "*", "")


En caso que
solo quiera extractar los números que existan en la cadena


cCadEvalua = "7U.$W592?:0-*3DE4" 
&& Cadena a evaluar

cCaraExt = "1234567890"   

&& Caracteres a extractar

? CHRTRAN( cCadEvalua, CHRTRAN( cCadEvalua, cCaraExt, "" ), "" )




 


Por: David Amador T

Nombre del dominio en que se logeo el PC

Visual Fox Pro, Trucos Comentarios ( 0 ) »
p align="justify">Un pequeño
truco para cuando quieras determinar en que dominio se logeo un
determinado PC.


? GetEnv("USERDOMAIN")



 


Por: David Amador T

Asignar CursorSchema manualmente

Visual Fox Pro, Trucos Comentarios ( 0 ) »

Cuando
utilizamos CursorAdapter e intentamos asignar la estructura de la tabla a
la propiedad CursorSchema y dicha estructura supera los 255 caracteres no
es posible hacerlo porque la ventana de propiedades solo

puede almacenar 255 caracteres en una propiedad.


Lo que
debes hacer es ir al evento INIT del cursoradapter y colocar la estructura
de la tabla de la siguiente forma


TEXT TO
THIS.CursorSchema NOSHOW

    Codigo C(8),
Apellidos C(30),
Nombres C(30),
Salario N(12,2)

ENDTEXT



 

Por: David Amador T

Próximo valor de un campo Autoincremental

Visual Fox Pro, Trucos Comentarios ( 0 ) »

Quieres
conocer cual es próximo valor de un campo autoincremental de un tabla ?.


Para eso
debes utilizar la función AFIELDS, de la siguiente forma


Use
NombreTabla in 0

=AFIELDS(aListaCampos)

?aListaCampos (PosiciónDelCampo,
17)


Por: David Amador T

Ejemplo básico de Treeview

Visual Fox Pro, Trucos Comentarios ( 0 ) »

Este es un ejemplo básico
de como crear un treeview agregarle nodos, expandirlo y darle formato a un
nodo especifico


#Define
tvwFirst 0

#Define tvwLast 1

#Define tvwNext 2

#Define tvwPrevious 3

#Define tvwChild 4



oForm = Createobject('myForm')

oForm.Caption = "Ejemplo de Treeview"

With oForm

      With .Tree

          .Left = 10

          .Top = 10

          .Width = 300

          .Height = 200

          .Nodes.Add(,tvwFirst,"root0",'Main
node 0')

          .Nodes.Add(,tvwFirst,"root1",'Main
node 1')

          .Nodes.Add(,tvwFirst,"root2",'Main
node 2')



         .Nodes.Add('root1',tvwChild,"child11",'Child11')

         .Nodes.Add('root1',tvwChild,"child12",'Child12')



         .Nodes.Add('root2',tvwChild,"child23",'Child23')



         .Nodes.Add('child11',tvwChild,"child113",'child113')

          With .Nodes.Add('child113',tvwPrevious,"child112",'child112')

              
.Bold=.T.

          Endwith

          With .Nodes.Add('child112',tvwPrevious,"child111",'child111')

              
.Bold = .T.

          Endwith



          With .Nodes.Add('child23',tvwPrevious,"child22",'Child22')

              
.Bold=.T.

          Endwith



          With .Nodes.Add('child22',tvwPrevious,"child21",'Child21')

              
.Bold=.T.

          Endwith



          For Each oNode In .Nodes

               
oNode.Expanded = .T.

          Endfor

      Endwith

.Show()

Endwith

Read Events





Define Class myForm As Form

         Add Object Tree As OleControl
With ;

         Name = 'Tree',OleClass='MSComCtlLib.TreeCtrl'



         Procedure Init

             
With This.Tree

                  
.linestyle = 1

                  
.Font.Name = 'Tahoma'

                  
.Font.Size = 10

                  
.indentation = 5

             Endwith

Endproc



Procedure QueryUnload

             Clear
Events

             Endproc

Enddefine

 

Por: David Amador T

Preview de un documento de Excel

Visual Fox Pro, Trucos Comentarios ( 0 ) »

Aquí tienes un ejemplo de
como hacer un preview de un documento de excell a
través de automatización.


ObjExcel
= Createobject("Excel.Application")



With ObjExcel

       .DisplayAlerts = .F.

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

       .Visible=.T.

       .Activesheet.PrintPreview(.F.)

       .Visible=.F.

Endwith



=Messagebox("Presione OK para continuar")



ObjExcel.Quit

ObjExcel=.Null.

Release ObjExcel

 

Por: David Amador T

Determinar si ISS esta instalado

Visual Fox Pro, Trucos Comentarios ( 0 ) »

Excelente truquito que te
permite determinar si Internet Information Server IIS esta instalado en tu
PC.


oIIS =
GetObject("IIS://localhost")

If Vartype(oIIS) = "O"

Wait window "Internet Information Server IIS esta instalado"

EndIf

 

Por: David Amador T

Suprimir ventana "Imprimiendo" en VFP 8

Visual Fox Pro, Trucos Comentarios ( 0 ) »

Uno de las nuevas
características
incorporadas en VFP 8, si deseas puedes impedir que
se vea la ventana "Imprimiendo" que se muestra cuando ejecutas un reporte.


Report
Form NombreReporte To Printer Prompt NODIALOG Preview

 

Por: David Amador T

Ejecutar procedimiento almacenado de SQl Server con ADO

Visual Fox Pro, Trucos Comentarios ( 0 ) »

Una pregunta muy frecuenta
.... aquí tienes dos formas de hacerlo utilizando ADO.


oCmd =
Createobject("ADODB.Command")

oRst = Createobject("ADODB.Recordset")



oCmd.ActiveConnection = "DSN=SQLServerX"

oCmd.CommandTimeout = 180

oCmd.CommandText = "{call SalesByCategory ('Condiments')}"



oRst.Open(oCmd)



Do While !oRst.Eof

      ? oRst.Fields("ProductName").Value + " Total
Compra" + ;

             
Transform(oRst.Fields("TotalPurchase").Value)

         oRst.MoveNext

Enddo


 


Otra forma


#Define
adCmdStoredProc 4



oCmd = Createobject("ADODB.Command")

oRst = Createobject("ADODB.Recordset")



oCmd.ActiveConnection = "DSN=SQLServerX"

oCmd.CommandTimeout = 180

oCmd.CommandText = "SalesByCategory ('Condiments')"

oCmd.CommandType = adCmdStoredProc



oRst.Open(oCmd.EXECUTE( ))



Do While !oRst.Eof

         ? oRst.Fields("ProductName").Value
+ " Total Compra" + ;

                   
Transform(oRst.Fields("TotalPurchase").Value)

            oRst.MoveNext

Enddo

 

Por: David Amador T

Comentarios en VFP

Visual Fox Pro, Trucos Comentarios ( 0 ) »

Estamos acostumbrados a
utilizar el asterisco ( * ) o el & para comentariar líneas de código o
documentación en nuestras aplicaciones ..... aquí tienes otra forma de
hacerlo.




Note: esta es una
línea de comentario;



        
en VFP .....   ;




y lo utilizamos con
mucha frecuencia


Por: David Amador T

Iniciar el servidor de SQL MSDE

Visual Fox Pro, Trucos Comentarios ( 0 ) »

Esta es una forma de
iniciar el servidor de SQL Server MSDE a través de SQLDMO.


oSvr =
CreateObject("SQLDMO.SQLServer")

oSvr.LoginTimeout = 60

oSvr.Start ( .T., "(local)", "sa", "")


Los
parámetros pasados al método START son:


.T. = Modo
de inicio.


(local) =
Servidor


sa = nombre
de usuario (sa es el usuario por defecto)


"" = clave
o password ("" es la clave por defecto para el usuario sa)


Por: David Amador T

Actualizar el escritrio de Windows (Win9x)

Visual Fox Pro, Trucos Comentarios ( 0 ) »

Con este truquito podrás
actualizar el escritorio de Windows (Win9x) ...


oWSH =
CreateObject("WScript.Shell")

oWSH.Run ("C:\WINDOWS\RUNDLL.EXE user,RepaintScreen")

Por: David Amador T