Solucionar problemas de Memoria con WinXP
Windows, Trucos Comentarios ( 0 ) »Edita el archivo SYSTEM.INI, en la
sección 386ENH agrega la siguiente linea:
PerVMFiles = 80
Por: David Amador T
Edita el archivo SYSTEM.INI, en la
sección 386ENH agrega la siguiente linea:
PerVMFiles = 80
cArchivo = GetFile()
Select Tabla
Append Blank
Append General Tabla.Campogral From (cArchivo)
Select Tabla
For i = 1
To TagCount()
If Tag(i)
= "IndiceCampo"
Wait Window
"SI"
EndIf
EndFor
Sin necesidad de estar escribiendo varios comandos, podemos modificar el aspecto de la ventana (Screen) de VFP
MODIFY WINDOW
"screen" TITLE "La Web de VFP" ZOOM icon file "dav.ico" zoom
oForm = Thisform
oForm.AddObject("ctlMonth",
"oleControl",
"MSComCtl2.MonthView.2")
oForm.ctlMonth.Top
= 2
oForm.ctlMonth.Left
= 2
oForm.ctlMonth.Visible
= .t.
oForm.Show()
Con tantos errores de VFP siempre debemos instalar algunos SP; pero para determinar si tenemos instalado alguno y cual versión utilice este truco. Sino tiene instalado ninguno devolverá una cadena vacía.
?
OS(7)
Nos devuelve el nombre y la versión del sistema operativo que estamos ejecutando. No nos dice si es Window 98, 95 o ME; solo nos devuelve el nombre y versión: por ejemplo: Windows 4.9021
?
OS(1)
Si deseas agregar 0 a un número a la izquierda de este, puedes hacer esto. Se utiliza mucho en la generación de Factura.
nVar = 350
&& Variable a agregar 0?
PADL(nVar,5,"0")&& el número 5 especifica el ancho de la cadena de números
Resultado
00350
Existen diversas formas de convertir a Hexadecimal, pero talvez esta es la más fácil. OJO. Solo convierte Enteros.
?
Transform(123456, "@0")
? date(2001, 12, 31) + 32 && Devuelve 02/01/02
Otra forma
ldAñoinicio = {^2002/01/01}
? ldAñoinicio + Val("32") - 1 &&
Devuelve 02/01/02
Utiliza esta función de VFP si deseas crear archivos que no tengan el mismo nombre.
? SYS(2023) + "" + SYS(2015)
&& Genera archivos en el directorio Temp de Windows
Si deseas que el usuario final no pueda acceder a los botones debes distribuir el archivo Foxuser.dbf con tu proyecto.
Rand(-1)
Create cursor Valaleatorios (rnd b(2))
For ix=1 to 1000
Insert into Valaleatorios values (round(GenerarAleatorio(2,8),0))
Endfor
Locate
Browse
Function GenerarAleatorio
lParameter nLowerLimit, nUpperLimit
DO CASE
CASE nLowerLimit>nUpperLimit
RETURN null
CASE nLowerLimit=nUpperLimit
RETURN nLowerLimit
Otherwise
Return rand()*(nUpperlimit-nLowerLimit)+nLowerLimit
ENDCASE