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

Rotando imágenes con la clase GDI+ de VFP 9

Visual Fox Pro, Trucos Comentarios ( 0 ) »
Otra implementación de la clase GDI que viene con
VFP 9 para el manejo de imágenes; en este caso rotaremos la imagen en diversos
ángulos.


#
Define
RotateNoneFlipNone 0

#
Define
Rotate90FlipNone 1

#
Define
Rotate180FlipNone 2

#
Define
Rotate270FlipNone 3

#
Define
RotateNoneFlipX 4

#
Define
Rotate90FlipX 5

#
Define
Rotate180FlipX 6

#
Define
Rotate270FlipX 7



Local
cOrigen, cDestino


cOrigen = Getpict("jpg;gif;bmp")

cDestino =
JustPath(cOrigen)+"\Rotada_"+JustFname(cOrigen)


oImg = Newobject("GpImage",
HOME()+"ffc\_gdiplus.vcx")



With
oImg

   
.CreateFromFile(cOrigen)

   
.
RotateFlip(Rotate180FlipNone)


   
.SaveToFile(cDestino,
"image/jpeg")


EndWith


Por: David Amador T

Suma de celdas en Excel

Visual Fox Pro, Trucos Comentarios ( 0 ) »
En este ejemplo veremos como podemos realizar
cálculos en Excel a través de automatización.


oExcel =
Createobject("Excel.Application")



With
oExcel

   
.
Visible=.T.

   
.Workbooks.
Add

   
.ActiveWorkbook.Sheets(1).Activate


   
.Cells(3,2) = 10

   
.Cells(4,2) = 26

   
.Cells(5,2) = 63

   
.Cells(6,2) = 42

   
.Cells(7,2) = 1


   
.Cells(9,1) =
"Suma"

    .Cells(9,2).FormulaR1C1 =
"=SUM(R[-6]C:R[-1]C)"


   
.Cells(10,1) =

"Promedio"

   
.Cells(10,2).FormulaR1C1 =
"=AVERAGE(R[-7]C:R[-2]C)"


   
.Cells(11,1) =

"Máximo"

   
.Cells(11,2).FormulaR1C1 =
"=MAX(R[-8]C:R[-3]C)"


   
.Cells(12,1) =

"Mínimo"

   
.Cells(12,2).FormulaR1C1 =
"=MIN(R[-9]C:R[-4]C)"


EndWith


 



Por: David Amador T

Conocer las dimensiones de un gráfica con GDI+

Visual Fox Pro, Trucos Comentarios ( 0 ) »
Utilizaremos la clase de GDI+ que viene con VFP9
para conocer las dimensiones de una imagen
.


oGDI =
Newobject("gpbitmap",
(
Home()+"ffc\_gdiplus.vcx"))


oGDI.CreateFromFile(GetFile("jpg"),
.F.)


? oGDI.ImageHeight

? oGDI.ImageWidth



 



Por: David Amador T

Capturar los eventos del Mouse en el Screen utilizando BindEvent

Visual Fox Pro, Trucos Comentarios ( 0 ) »
El BindEvents es una excelente característica de
las nuevas versiones de VFP; ahora veremos como utilizarla para capturar el
evento DobleClick del Mouse en el Screen de VFP.


Public
oHnd

oHnd =
Newobject("ScreenMov")



Bindevent
(_Screen,
"DblClick",
oHnd,
"DblClick")



Define Class
ScreenMov
As Session

   
Procedure DblClick

       
Wait Window
"Doble
Click"

   
Endproc

EndDefine


Por: David Amador T

Insertando valores DateTime con el VFP OLEDB Provider

Visual Fox Pro, Trucos Comentarios ( 0 ) »
Aquí tiene la forma de actualizar los campos
DateTime cuando utilizamos el OleDB Provider para acceder a tablas de VFP


oConn =
CreateObject("ADODB.Connection")


cRutaDatos = "C:\Datos\TablasLibres"



oConn.
Open("Provider=VFPOLEDB.1;"
+ ;

        "Data Source="
+ cRutaDatos + ;

       
";Collating Sequence=MACHINE")


oConn.Execute("Create
Table Prueba (CmpDateT T)"
)

oConn.Execute(
"Insert
Into Prueba Values (DATETIME())"
)

oConn.Execute(
"Insert
Into Prueba Values ({^2006-10-10 11:11:11 PM})"
)

 

oConn.
Close()



Release oConn





Por: David Amador T

Campos calculados en un grid

Visual Fox Pro, Trucos Comentarios ( 0 ) »
Un ejemplo muy sencillo de como realizar columnas
calculadas en un Grid


Create Cursor
Datos (Numero i, Veces i,
nTotal i)



Insert Into
Datos
Values
(8,0,0)


Insert Into
Datos
Values
(8,2,0)


Insert Into
Datos
Values
(8,5,0)


Insert Into
Datos
Values
(8,1,0)


Insert Into
Datos
Values
(8,0,0)


Insert Into
Datos
Values
(8,3,0)



Go Top In
Datos



Public
oForm

oForm =
Newobject("form")

oForm.
Width
= 400

oForm.
Height
= 400



With
oForm

   
.
AddObject("MiGrid",
"Grid")

   
With
.MiGrid

       
.
Visible
= .T.

       
.
Top
= 5

       
.
Left
= 5

       
.
Width
= 390

       
.
Height
= 390



       
.
RecordSource
=
"Datos"


       
.Column3.
ControlSource
=
"Numero + Veces"

   
Endwith

Endwith



oForm.
Show




Por: David Amador T

Convertir imágenes en otros formato utilizando la clase GDI+ de VFP 9

Visual Fox Pro, Trucos Comentarios ( 0 ) »
En el ejemplo convertiremos un gráfica a formato
bmp, jpg, tif, gif y png



Local
cOrigen, cDestino


cOrigen = GetPict()

cDestino =
JustPath(cOrigen)
+
"\_"
+
JustStem(cOrigen)


oImg = NewObject("GpImage",
Home()
+
"ffc/_gdiplus.vcx")



With
oImg

   
.CreateFromFile(cOrigen)

   
.SaveToFile(cDestino +

".jpg","image/jpeg")

   
.SaveToFile(cDestino +

".bmp","image/bmp")

   
.SaveToFile(cDestino +

".tif","image/tiff")

   
.SaveToFile(cDestino +

".gif","image/gif")

   
.SaveToFile(cDestino +

".png","image/png")


EndWith


 


Por: David Amador T

Obtener la configuración que el usuario tiene en OutLook

Visual Fox Pro, Trucos Comentarios ( 0 ) »
Usted puede conocer la configuración que tiene
establecida en usuario en OutLook de manera sencilla



oCDO =
Createobject("CDO.Configuration")



For Each
oField
In
oCDO.Fields

   
If
!"sendpassword"
$ oField.Name


       
? oField.Name
+
" "+Transform(oField.Value)

   
Endif

Next


Release oCDO


 


Por: David Amador T

Insertar cada línea de un archivo en una tabla

Visual Fox Pro, Trucos Comentarios ( 0 ) »
Este es un buen truco; leemos un archivos y vamos
tomando cada línea del archivo e insertándola en una tabla DBF


Set Memowidth To
8000

cArchivo =
GetFile()



If
!Empty(cArchivo)

    Create Cursor
Datos (TxtLineas m)

   
cText =
FileToStr(cArchivo)

   
nLineas =
Memlines(cText)



   
For
i=1
To
nLineas

       
Insert Into
Datos
Values(Mline(cText,i))

   
Endfor

EndIf


Por: David Amador T

Utilizar una clase que se encuentra compilada en un EXE

Visual Fox Pro, Trucos Comentarios ( 0 ) »
Creo que este es uno de los buenos trucos;
imagínate que tienes una clase ya creada en un EXE y deseas utilizarla, aquí
tienes el código de como hacerlo.


Set ClassLib To
MiClase.Vcx
In
Archivo.Exe
Additive




Por: David Amador T

Convirtiendo reporte en Imagenes en VFP 9

Visual Fox Pro, Trucos Comentarios ( 0 ) »
VFP 9 trajo muchas características en su nuevo ReportListener el cual permite mejor interacción y personalización de los
reportes.



Aquí veremos como convertimos un reporte en imágenes BMP


Local
oListener
As ReportListener,
nPageIndex

oListener =

Createobject
("ReportListener")

oListener.
ListenerType
= 3


cRutaReporte = Home(2)+"Solution\Reports\invoice.frx"



Report Form
(cRutaReporte)
Preview Object
oListener



For
nPageIndex=1
To
oListener.PageTotal

    cOutputFile =
"c:\tmp"+Trans(nPageIndex)+".bmp"

   
oListener.OutputPage(nPageIndex,;

   
cOutputFile, 105, 0,0,768,1024)

&& 105=bitmap


Next


 





 


Por: David Amador T

Convertir constantes de VB a VFP

Visual Fox Pro, Trucos Comentarios ( 0 ) »
Es muy frecuente que encontremos código de VB que
queramos convertirlo a VFP; una de las cosas que al principio cuesta dificultad
son la gran cantidad de constantes que se usan en VB y que por lo general no
sabemos como expresarlas en VFP; aquí tienes una forma de convertir las
constantes de VB a VFP.

Veamos una
constante en VB, el valor de la misma está dada en hexadecimal


Public Const INTERNET_FLAG_RAW_DATA =
&H40000000


Y ahora en VFP



#DEFINE
INTERNET_FLAG_RAW_DATA 0x40000000



Debes reemplazar Public Const por
#DEFINE

y el valor reemplazando &H con 0x


Por: David Amador T

Conocer el formato de moneda a través de API

Visual Fox Pro, Trucos Comentarios ( 0 ) »
Imagínate que quieras mostrar en el formato de
moneda dependiendo la configuración regional de tu PC; pues aquí está como
hacerlo a través de API.


Declare Integer
GetCurrencyFormat
In
WIN32API ;

    Integer
Locale,
Integer
dwFlags,;

   
String
lpValue,
String
lpFormat,;

   
String
@lpCurrencyStr,;

   
Integer
cchCurrency



cBuffer =
Replicate(Chr(0),255)

=GetCurrencyFormat(0,0,
[5.32],0,@cBuffer,255)



Buffer
=
Chrtran(cBuffer,
Chr(0),[])


Messagebox
(cBuffer)








Por: David Amador T

Agregar datos de un Array a una tabla

Visual Fox Pro, Trucos Comentarios ( 0 ) »
Un truquito básico pero muy útil


Dimension
aDatos[10,1]



aDatos
[1]
=
"UNO"


aDatos
[2]
=
"DOS"


aDatos
[3]
=
"TRES"


aDatos
[4]
=
"CUATRO"


aDatos
[5]
=
"....."


aDatos
[6]
=
"DDDDDD"


aDatos
[7]
=
"RRRRRR"


aDatos
[8]
=
"HHHHHH"


aDatos
[9]
=
"....."


aDatos
[10]
=
"FFFFFF"



Create Cursor
MisDatos (Txt C(12))


Append From Array
aDatos


Browse






Por: David Amador T

Formularios Anclables en VFP 9

Visual Fox Pro, Trucos Comentarios ( 0 ) »
De las mejores características de VFP 9


Public
oform1, oForm2


oform1=Newobject("Form1")

oform1.
Show

Return


Define Class Form1
As Form

   
DoCreate
= .T.

   
Caption
=
"Formularios Anclables"

   
Dockable
= 1

   
Name
=
"Form1"



   
Add Object
command1
As CommandButton
;

       
With Top
= 73, ;

       
Left
= 103, ;

       
Height
= 27, ;

       
Width
= 140, ;

       
Caption
=
"Mostrar From anclado",
;

       
Name
=
"Command1"



   
Procedure
command1.Click

   
    oForm2 =
Newobject([Form2])

       
oForm2.
Show()

       
oForm2.
Dock(4,
Thisform)

   
EndProc

EndDefine

 

Define Class
Form2
As Form

   
DoCreate
= .T.

   
Caption
=
"Otro formulario"

   
Dockable
= 1

   
Name
=
"Form2"


   
Add Object
edit1
As EditBox With
;

       
Height
= 152, ;

       
Left
= 136, ;

       
Top
= 29, ;

       
Width
= 155, ;

       
Name
=
"Edit1"


EndDefine


Por: David Amador T