Mostrar información de ejecutables
Visual Fox Pro, Trucos Comentarios ( 0 ) »aGetFileVersion(aVers, "f:WINDOWSEXPLORER.exe")
? aVers(2)
? aVers(3)
? aVers(4)
? aVers(5)
Por: David Amador T
aGetFileVersion(aVers, "f:WINDOWSEXPLORER.exe")
? aVers(2)
? aVers(3)
? aVers(4)
? aVers(5)
dFecha = {^2000/01/01}
? alltrim(str(day(dFecha))) + " " + cmonth(dfecha) + " " + alltrim(str(year(dfecha)))
Crea un formulario y agrégale un Combo y un Botón. Al hacer click en el botón debe desplegarse automáticamente el Combo.
Programa lo siguiente en el evento Gotfocus del Combo
tColumna =
THISFORM.Combo1.Left + THISFORM.Combo1.Width - 4
tFila = THISFORM.Combo1.Top + 2
MOUSE CLICK AT tFila, tColumna PIXELS WINDOW (THISFORM.Name)
En el evento Click del botón que creaste llama al evento Setfocus() del combo, Así:
Thisform.combo1.Setfocus()
No quiero decir con esto que sea mejor, más fácil o más cómodo; simplemente es otra Forma de hacerlo Y tiene muchas ventajas.
En los ejemplos que demuestro estoy utilizando la versión 8 del Cristal Report de Seagate pero considero que se debe comportar igual con las demás versiones.
Primero veamos como puedo exportar un reporte a extensión .Doc (Word)
oCristalReport =
Createobject("crystal.crpe.application")
oRepx = oCristalReport.OpenReport("C:\reporteventas.RPT")
oRepx.ExportOptions.FormatType = 14
&& Formato de Word
oRepx.ExportOptions.DiskFileName =
"c:\reporteventasdelmes.doc"
oRepx.ExportOptions.DestinationType = 1
&& Tipo de Destino a guardar
oRepx.Export(.F.) &&
No muestra ningun cuadro de Dialogo
Release oRepx
Release oCristalReport
los otros formatos en que podemos guardar los reportes son:
Extensión FormatType
RTF 4
EXCEL 7 27 o 28
EXCEL 8 29 o 30
* Para ver en vista previa un reporte:
oCristalReport =
Createobject("crystal.crpe.application")
oRep = oCristalReport.OpenReport("C:\reporteventas.RPT")
oRep.Preview
* Para mandarlo a imprimir
oCristalReport =
Createobject("crystal.crpe.application")
oRep = oCristalReport.OpenReport("C:\reporteventas.RPT")
oRep.Printout(.F.)
&& .F. no muestra cuadro para configurar impresora
Supongamos que tenemos un reporte de 20 paginas, yo puedo mandar a imprimir de la pagina 10 a la 15 de la siguiente manera
Siempre nos da cacao tratar de determinar los años que tiene una persona; presento un procedimiento fácil para hallarla. Acepto sugerencia y modificaciones
dFecha = {^1978/10/23}
nAños = ROUND(((DATE()
- dFecha ) / 365.25),0)
? nAños
En el ejemplo la fecha de nacimiento es 23 octubre de 1978, y dará como resultado el número de años de la persona
? SET("PRINTER",
2) && Impresora predeterminada de Windows
? SET("PRINTER", 3)
&& Impresora predeterminada de VFP
IF TYPE("nombrevariable")
=MessageBox("La variable si existe")
ENDIF
oWord = createobject("word.application")
IF VARTYPE(oWord) # "O"
=Messagebox("Word no se encuentra instalado
en este equipo")
return
endif
RUN DATE &cFecha
Puedes utilizar un TextBox y luego conviertes el valor de este a tipo fecha con la función DTOC() y corres la aplicación; así el valor del texto será la nueva fecha.
El único inconveniente es que te aparece una ventana DOS pero utilizando la función SHOWWindows del API es fácil corregir.
En verdad algunos efectos especiales como el que mostrare cambian la dinámica de los objetos y contribuyen a darle más vistosidad.
En este ejemplo haré que un Combo Box muestre sus valores en distintos colores de letra. Así como lo muestra la siguiente figura:
Para esto en el evento Init del Combo Box colocamos el siguiente código:
#DEFINE BarraRoja ,RGB(150,0,0)
#DEFINE BarraVerde ,RGB(0,150,0)
#DEFINE BarraAzul ,RGB(0,0,255)
#DEFINE BarraAmarillo ,RGB(255,255,0)
DEFINE POPUP Colores
DEFINE BAR 1 of Colores ;
Prompt "Rojo" COLOR BarraRoja
DEFINE BAR 2 of Colores ;
Prompt "Verde" COLOR BarraVerde
DEFINE BAR 3 of Colores ;
Prompt "Azul" COLOR BarraAzul
DEFINE BAR 4 of Colores ;
Prompt "Amarillo" COLOR BarraAmarillo
Cambie las siguientes propiedades de Combo Box
RowSourceType = 9 - Emergente
RowSource = Colores
Y en el evento InteractiveChange del Combo agregué el siguiente código:
DO CASE CASE This.Value = "Red" This.Forecolor = RGB(150,0,0) CASE This.Value = "Green" This.Forecolor = RGB(0,150,0) CASE This.Value = "Blue" This.Forecolor = RGB(0,0,255) CASE This.Value = "Yellow" This.Forecolor = RGB(255,255,0) ENDCASEEspero las allá gustado este ejemplo