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

Generar cadenas aleatorios

Visual Fox Pro, Trucos Comentarios ( 0 ) »
Otra forma de general cadenas aleatorias; Con un buen ancho de la cadena podría servirte como llave principal de una tabla, puesto que la probabilidad que se repita es casi nula. En este ejemplo se crea un serial con un ancho de 45 caracteres.

?Serial(45)


Function
Serial(nTamaño)
   =
Rand(-1)
   
cStr = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
   cRetStr =

""
   
For i = 1 To
nTamaño
       nNum =
Int(36 * Rand() + 1)
       cRetStr = cRetStr +
Substr(cStr, nNum, 1)

   
Next
   Return
cRetStr
EndFunc



Por: David Amador T

Copiar y pegar celdas en Excel

Visual Fox Pro, Trucos Comentarios ( 0 ) »
A través de automatización de Excel puedes copiar y pegar celdas en un documento.

oExcel = CreateObject("Excel.Application")

oExcel.WorkBooks.
Add
oExcel.Visible= .T.

oExcel.Cells(1, 1).
Value=
"4"
oExcel.Cells(2, 1).Value
= "1"
oExcel.Cells(3, 1).Value
= "2"
oExcel.Cells(4, 1).Value
= "3"


With
oExcel.ActiveWorkbook.ActiveSheet
   .
Range("A1:B4").Copy

   .
Range("A11").Select

   
.Paste
EndWith




Por: David Amador T

Determinar el número de líneas de un EditBox

Visual Fox Pro, Trucos Comentarios ( 0 ) »
MUY BUENO ... Con este truco podrás determinar le número de líneas que ocupa una determinada cadena de texto en un EditBox.

nActSetMemo = Set("MemoWidth")


With Thisform.Edit1
   
Set Memowidth To Floor(.Width/(Fontmetric(6,.FontName,.FontSize)+1))

   nLines =
Memlines(.Value)
EndWith

? "Número de líneas... " + Transform(nLines)
Set Memowidth To nActSetMemo
 


Por: David Amador T

Conocer la versión de Word instalada

Visual Fox Pro, Trucos Comentarios ( 0 ) »
En algunas ocasiones queremos determinar que versión de Word esta instalada en el PC para así poder ejecutar determinado código de automatización; Bueno, con este truco podrás conocer la versión de Word que esta instalada.

oWord =
CreateObject("Word.Application")
?
"Version: "
+ oWord.Version

? "Build: " + oWord.Build
oWord.Quit




Por: David Amador T

Toolbar en formulario de nivel superior

Visual Fox Pro, Trucos Comentarios ( 0 ) »
Aquí tienes un ejemplo de como puedes utilizar un Toolbar dentro de un formulario de nivel superior.


oForm =
Createobject("MiForm")

oForm.
Show(1)
Read Events

Define Class
MiToolBar
As Toolbar
   Caption
= "Toolbar"
   
Height
= 28
   
Left = 0
   
Top = 0
   
Width = 55
   
ShowWindow = 1
   
Name
= "EjemToolBar"
   
Add Object Cmd1 As CommandButton With
;
   
    Top = 3, ;
       
Left = 5, ;
   
    Height = 22, ;
       
Width = 23, ;
       
Caption
= "", ;
       
Name = "Cmd1"
   
Add Object Cmd2 As CommandButton With ;
       
Top
= 3, ;
       
Left = 27, ;
       
Height = 22, ;
       
Width = 23, ;
       
Caption = "", ;

       
Name = "Cmd2"
   
Add Object Cmd3 As CommandButton With
;
       
Top = 3, ;
       
Left = 27, ;
       
Height = 22, ;
       
Width = 23, ;
       
Caption
= "", ;
       
Name = "Cmd3"

EndDefine

Define Class
MiForm As Form
   ShowWindow
= 2
   
Procedure Activate
       If Type
("THIS.oToolbar.Name")
<>
"C"
           
This.AddProperty("oToolbar", .Null.)
           
This.oToolbar = Createobject("MiToolBar")
           
This.oToolbar.Dock(0)

           
This.oToolbar.Show()
       
EndIf

   EndProc
EndDefine
 


Por: David Amador T

Guardar documento de Word como HTML

Visual Fox Pro, Trucos Comentarios ( 0 ) »
En este ejemplo se guardará un documento de Word como HTML utilizando automatización.


objWord =
CreateObject("Word.Application")

objWord.
Visible= .T.

objDoc = objWord.Documents.
Open(GetFile("DOC"))

objDoc.
SaveAs("C:NuevoDoc.htm", 8)




Por: David Amador T

Ordenar columna de Excel por automatización

Visual Fox Pro, Trucos Comentarios ( 0 ) »
Buen truquito de como puedes ordenar una
columna de documento de Excel a través de automatización.



objExcel =

Createobject
("Excel.Application")

objExcel.
Visible
= .T.

objWorkbook = objExcel.Workbooks.
Add


objWorksheet = objWorkbook.Worksheets(1)



With
objExcel

   
.Cells(1, 1).
Value
=
"24"

   
.Cells(2, 1).Value
=
"13"

   
.Cells(3, 1).Value
=
"18"

   
.Cells(4, 1).Value
=
"3"

   
.Cells(5, 1).Value
=
"9"

   
.Cells(6, 1).Value
=
"14"

   
.Cells(7, 1).Value
=
"2"

   
.Cells(8, 1).Value
=
"65"


EndWith



objRange = objWorksheet.UsedRange

objRange2 = objExcel.
Range("A1")

objRange.
Sort(objRange2)



Por: David Amador T

Reemplazar texto en Word

Visual Fox Pro, Trucos Comentarios ( 0 ) »

Otra forma de reemplazar texto en Word a través
de automatización sin utilizar el cuadro de dialogo de "Buscar y reemplazar"



oWord =
CreateObject("Word.Application")

oDoc = oWord.Documents.
Open("c:MiArchivo.Doc")

oDoc.Content.
Text
=
Strtran(loDoc.Content.Text,
"Remplazar esto",
"Por esto")




Por: David Amador T

Obtener el valor de columnas de un Combo o ListBox

Visual Fox Pro, Trucos Comentarios ( 0 ) »

Este ejemplo es bastante útil cuando tenemos un
combo o listbox multicolumna y queremos obtener los diferentes valores de las
columnas.


Si queremos conocer el valor de la columna 2 del listbox:



? Thisform.List1.List(Thisform.List1.ListIndex,
2)


Pero puedes recorrer todo el listbox e ir obteniendo los valores de
cada de columna



For i=1
To Thisform.ListBox1.ListCount


    ?
Thisform.ListBox1.List(
i, 1 )
&& Columna 1


    ?
Thisform.ListBox1.List(
i, 2 )
&& Columna 2



Next


 



Por: David Amador T

Rellenar con ceros a la izquierda

Visual Fox Pro, Trucos Comentarios ( 0 ) »

Otra forma de rellenar con ceros a la izquierda una cadena. En el ejemplo quiero rellenar con ceros el número 80...

? TRANSFORM(80,"@L 99999999")


El resultado sería 00000080

 



Por: David Amador T

Conocer las dimensiones de una imagen con LOADPICTURE

Visual Fox Pro, Trucos Comentarios ( 0 ) »

Generalmente cuando deseamos conocer el ancho y/o de una imagen lo que haces es asociarla a un control Picture; en este caso no es necesario hacerlo si utilizamos LOADPICTURE.

oPict = LOADPICTURE(GetFile("Gif"))
? oPict.Height
? oPict.Width
 


Por: David Amador T

Reestablecer el programa al cual esta asociado una extensión

Visual Fox Pro, Trucos Comentarios ( 0 ) »

No es un truco de VFP, pero es interesante y bastante útil. Por ejemplo imaginate que instalaste un programa que asocio la extensión DBF con el y ahora cuando haces dobleclick sobre una tabla esta se abre con el programa y no con VFP.

Lo que debes hacer es crear un archivo .BAT y colocas lo siguiente dentro del archivo, y luego lo ejecutas


assoc.dbf=Visual.FoxPro.Table

Este es cuando queremos hacerlo con una tabla ... pero por ejemplo cuando sucedio que la extensión BMP fue asociada a otro programa y yo quiero que se a
Paint... entonce

assoc.bmp=Paint.Picture


 



Por: David Amador T

Ocultar las barras de VFP

Visual Fox Pro, Trucos Comentarios ( 0 ) »

En muchas ocasiones creamos el EXE y cuando lo ejecutamos quedan visibles algunas de las barra de VFP; Con el siguiente código podemos ocultar las barras; Tengamos en cuenta que los nombres de las barras dependen del idioma de VFP, por eso he creado una matriz en la cual se almacena los nombres en español e inglés; en el ejemplo se oculta la barras con nombres en español.


Dimension aBarras(12,2)

aBarras[1,1]="Vista preliminar"
aBarras[2,1]="Diseñador de Informes"
aBarras[3,1]="Controles de formularios"

aBarras[4,1]="Estándar"
aBarras[5,1]="Diseño"

aBarras[6,1]="Diseñador de bases de datos"
aBarras[7,1]="Diseñador de vistas"
aBarras[8,1]="Controles de informes"

aBarras[9,1]="Paleta de colores"
aBarras[10,1]="Diseñador de consultas"
aBarras[11,1]="Diseñador de formularios"

aBarras[1,2]="Print Preview"
aBarras[2,2]="Report Designer"
aBarras[3,2]="Form Controls"
aBarras[4,2]="Standard"
aBarras[5,2]="Layout"
aBarras[6,2]="Database Designer"
aBarras[7,2]="View Designer"
aBarras[8,2]="Report Controls"
aBarras[9,2]="Color Palette"
aBarras[10,2]="Query Designer"
aBarras[11,2]="Form Designer"


For i=1 To11
   If Wvisible(aBarras[I,1])

           
Hide Window (aBarras[I,1])
        EndIf
EndFor


Por: David Amador T

Explorador de archivos en Formulario

Visual Fox Pro, Trucos Comentarios ( 0 ) »

Otra forma de rellenar con ceros a la izquierda una cadena. En el ejemplo quiero rellenar con ceros el número 80...


Public oform1

oform1=Newobject("form1")

oform1.Show

Return

 

Define Class form1
As Form

    DoCreate = .T.

   
Caption
=
"Explorador de Archivos"

   
Name
=
"Form1"

   
Add Object
ole1
As OleControl With
;

       
Top
= 14, ;

       
Left
= 18, ;

       
Height
= 200, ;

       
Width
= 341, ;

       
Name
=
"Ole1"
,;

       
OleClass
=
"Shell.Explorer.2"

 

   
Add Object
command1
As CommandButton With
;

       
AutoSize
= .T., ;

       
Top
= 216, ;

       
Left
= 80, ;

       
Height
= 27, ;

       
Width
= 114, ;

       
Caption
=
"Mostrar contenido de la
carpeta"
, ;

       
Name
=
"Command1"

   

   
Procedure Init

        This.ole1.Object.Navigate2("c:")

   
EndProc

 

    Procedure
command1.
Click

        Local
cDir

        cDir =
Getdir(",",",2)

       
Thisform.ole1.Navigate2(cDir)

   
EndProc

EndDefine



Por: David Amador T

Pasar tabla a Word

Visual Fox Pro, Trucos Comentarios ( 0 ) »
Ejemplo de como puedes pasar algunos datos de tus DBFs a Word a través de automatización.

En este ejemplo se crea un tabla en un documento de Word y se van agregando los datos de la DBF a Word y luego se guarda el documento.
 

Use Home(2)+ "dataemployee" Alias
Emp Shared
nNumCeldas = Reccount("Emp")

oWord =
CreateObject("Word.Application")
oDoc = oWord.Documents.
Add()
oRange = oDoc.
Range()

oDoc.
Tables.Add(oRange, nNumCeldas, 3)
oTable = oDoc.
Tables(1)

Scan
 With
oTable
   .Cell(
Recno("Emp"), 1).Range.Text
= Trim(Last_Name) + " " + Trim(First_Name)
   .Cell(
Recno("Emp"), 2).Range.text= Trim(Country)
   .Cell(
Recno("Emp"), 3).Range.text= Trim(City)
 
EndWith
EndScan

Use in
Emp
oWord.ActiveDocument.
SaveAs("C:MiDoc.Doc")
oDoc.
Close

oWord.Quit
 


Por: David Amador T