Directorios especiales de Windows sin API
Visual Fox Pro, Trucos Comentarios ( 0 ) »?GETENV("temp") && Directorio de archivos temporales
?GETENV("windir") && Directorio de Windows
Por: David Amador T
?GETENV("temp") && Directorio de archivos temporales
?GETENV("windir") && Directorio de Windows
_screen.addobject("oImg",
"image")
_screen.oImg.picture = "c:\imagen.jpg"
_screen.oImg.visible = .T.
_screen.oImg.stretch = 1
_screen.oImg.width = 640
_screen.oImg.height = 400
_Screen.AddObject("oTime","TimerScreen")
* Definicion de la Clase TimerScreen
* Muestra un Reloj en un Wait Window
* Este se actualiza cada un segundo
Define Class TimerScreen
As Timer
Interval= 1000
Procedure Timer
Wait Window (Time())
Nowait
EndProc
EndDefine
Primero debes agregar al prg principal en la primera línea
PARAMETERS uParam1, uParam2, uParam3
El código anterior se encargara de recoger los parámetros pasados como argumentos desde la línea de comandos; en este caso sólo recogerá tres parámetros
Cuando ejecutes el programa debes pasar los
parámetros de la siguiente manera; teniendo en cuenta que todos son leídos
por el ejecutable como tipo carácter, es decir, si le pasas el número 80
el ejecutable lo leera como "80" de tipo carácter
C:programa.exe Para1 200 Para3
RUN /N nombreprotector.scr /S
Si quieres volver loco a cualquier persona utiliza este truco; cuando por ejemplo presionas la letra a entonces te muestra x.
If inlist(nKeyCode, 97,
65)
nodefault
keyboard "X"
EndIf
Tanto el EditBox como el TextBox incorporan la nueva propiedad MaxLength donde podemos indicar el número máximo de caracteres que se pueden introducir. Esta propiedad anula a InputMask. También tenemos que tener en cuenta que sólo es válida para caracteres y no para números. Para estos deberemos seguir utilizando la técnica de poner dentro del InputMask tantos 9 como dígitos.
Cuando ejecutamos un reporte y este muestra la barra de Preview, muchas veces deseamos colocarla anclada al resto de barras.
Primero ejecutamos el reporte con la cláusula tradicional:
Report Form nombrereporte.frx preview nowait
Podemos manipular las propiedades de un formulario desde código.
Como sabemos un reporte no es más que una tabla donde se almacenan los objetos y las propiedades de estos que luego son invocados por el Dataenvironment.
Bueno para cambiar las propiedades de los reportes desde código debemos abrir el reporte como una tabla:
USE nombrereporte.frx
REPLACE fontface with "Verdana", fontsize WITH 10, fontstyle
WITH 1 FOR objtype = 1
Con esto ponemos como predeterminado la fuente Verdana a 10 puntos y
negrilla, si en fontstyle ponemos 0 tendremos letra normal.
Este es un truco bastante importante y sencillo; su aplicación es determinante cuando queremos agregar los datos a una tabla mostrados en un cursor
APPEND FROM DBF(_nombre_cursor_)
OPEN DATABASE c:Ruta_Base_de_Datos.dbc
cNomTablas = ADBOBJECT(infVector, "TABLE")
FOR EACH cNomTablas IN infVector
? cNomTablas
ENDFOR
lCadena = "El amor es el perdón más fácil"
? CHRTRAN(lCadena, "áéíóúáéíóú", "aeiouAEIOU")En el Evento Init( ) del formulario se devuelve .F. y el formulario no se cargara
Método Init ( )
Return .F.
Una forma sencilla de borrar archivos sin complicaciones.
ERASE *.tmp