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

Determinar si una aplicación esta instalada

Visual Fox Pro, Trucos Comentarios ( 0 ) »
Cuantas veces no hemos
querido saber si ya esta instalado Word, Excel u otra aplicación en
el equipo. En este ejemplo determinamos si se encuentra instalado
Word en el equipo pero puede ser cualquier otra aplicación.


oWord = createobject("word.application")

IF VARTYPE(oWord) # "O"

     =Messagebox("Word no se encuentra instalado
en este equipo")

    
return

endif


Por: David Amador T

Numero de Archivo de un Directorio

Visual Fox Pro, Trucos Comentarios ( 0 ) »

Por: David Amador T

Cambiar la hora del Sistema Fácilmente

Visual Fox Pro, Trucos Comentarios ( 0 ) »
Este es un muy buen
truco de como cambiar la fecha del sistema utilizando el comando
RUN y la orden DATE del DOS



cFecha = "05/05/2000"

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.


Por: David Amador T

Lista de Datos de Combo Box en Diferentes Colores

Visual Fox Pro, Trucos Comentarios ( 0 ) »
Muchas  veces deseamos darle un presentación
atractiva a nuestras aplicaciones  o  queremos resaltar algunos aspectos
importantes de los objetos, manipulando  adecuadamente las propiedades de estos.


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)
ENDCASE

Espero las allá gustado este ejemplo
		

Por: David Amador T

Evaluar Números y Caracteres II

Visual Fox Pro, Trucos Comentarios ( 0 ) »
Esta forma devuelve verdadero cuando cada elemento de la cadena a averiguar es
digito sino devuelve falso



cCadena = "78x5p88yt"

nAnchoCadena = len(cTest)



FOR nCnt = 1 TO nAnchoCadena



      ? ISDIGIT(SUBSTR(cCadena, nCnt, 1))



ENDFOR



El resultado debe ser
el siguiente:

.T.

.T.

.F.

.T.

.F.

.T.

.T.

.F.

.F.


Por: David Amador T

Desplegar el Contenido de un Combo

Visual Fox Pro, Trucos Comentarios ( 0 ) »
En ocasiones queremos conocer el
contenido de un ComboBoX sin hacer click en él, solamente a
lo que él recibe el enfoque. Esta es la forma más fácil de
hacerlo.

KEYBOARD _{F4}_ 

En este caso agregamos este código
al evento GOTFOCUS( ) y cuando el Combo reciba el enfoque entonces este se
desplegara mostrando la información contenidas en él.


Por: David Amador T

Manipular Todos los Controles del Formulario Activo

Visual Fox Pro, Trucos Comentarios ( 0 ) »

Por: David Amador T

Manipular Formularios en el _Screen

Visual Fox Pro, Trucos Comentarios ( 0 ) »
Esta es solo una
forma de acceder a los formularios contenidos en el _Screen. El
ejemplo cambia el ancho de los formularios ejecutados. Para
probarlos puede ejecutar varios formularios.


For  each Form 
in  Application.Forms

     Form.Width  =  Form.Width 
+  200

EndFor


Por: David Amador T

MsComm

Visual Fox Pro, Trucos Comentarios ( 0 ) »
Para este ejemplo es
necesario crear un formulario y agregarle un control active
MsComm, y creamos un botón. Este ejemplo llamara al número de teléfono
pasado en la propiedad OUTPUT.

&&thisform.olecontrol1.SETTINGS="9800,N,8,1"




&&

(Supongo el modem conectado al
com4)


thisform.olecontrol1.COMMPORT = 4 




thisform.olecontrol1.PORTOPEN = .T.

thisform.olecontrol1.OUTPUT  =  "ATDT6608196" +chr(13)


La secuencia de números después de ATDT es
el numero telefónico al que queremos marcar


Por: David Amador T

Estadísticas de un Archivo de Word

Visual Fox Pro, Trucos Comentarios ( 0 ) »

Por: David Amador T

Mover un formulario sin agarrarlo por la barra de titulo

Visual Fox Pro, Trucos Comentarios ( 0 ) »
Para realizar este
ejemplo agreguémosle al formulario las propiedades ejex, ejey,
mdown. 


En el evento MouseMove
del form agregamos lo siguiente

With thisform

   If thisform.MDown Then 

      ThisForm .Left = ThisForm .Left + nXCoord - .ejex 

      ThisForm .Top = ThisForm .Top + nYCoord - .ejey

   EndIf 

EndWith



En el evento MouseDown
del form agregamos lo siguiente


ThisForm.MDown = .F. 

 

En el evento MouseDown
del form agregamos lo siguiente


Thisform.MDown = .T. 

Thisform.ejex = nXCoord 

Thisform.ejey = nYCoord

Por: David Amador T

Evaluar Números y Caracteres I

Visual Fox Pro, Trucos Comentarios ( 0 ) »
Algunas veces necesitas evaluar una expresión o
una cadena de texto y determinar los valores numéricos o caracteres que tiene
esta. A continuación un pequeño de como hacerlo


cCadena = "512 96 m sd 7ecbx */ t553rdv"  



cAnchoCadena = len(cCadena)  



cNumeros = ""        



FOR nCnt = 1 TO cAnchoCadena  

    cCharacter = SUBSTR(cCadena, nCnt, 1) 

        IF ISDIGIT(cCharacter)   

                 
cNumeros = cNumeros + cCharacter   

                 
? cNumeros

       ENDIF

ENDFOR


El primer paso es tener la cadena de caracteres a
evaluar. Luego determinamos el ancho de la cadena a través de la función
LEN; Utilizamos una variable donde almacenaremos los caracteres que sean dígitos
(de 0 - 9). Hacemos un ciclo hasta el numero de caracteres de la cadena y vamos
evaluando numero por numero; si el carácter es digito entonces será agregado a la
variable cNumeros.


Por: David Amador T

Busqueda en ListBox desde TextBox (Al estilo de la Ayudas)

Visual Fox Pro, Trucos Comentarios ( 0 ) »
Los valores del
ListBox provienen de una tabla en este caso, pero pueden
provenir de cualquier origen de datos. Primero creamos un
formulario y agregamos un TextBox y un ListBox


En el evento
InteractiveChange del TextBox programamos lo siguiente:

LOCAL nIndex




FOR nIndex  = 1 TO Thisform.List1.ListCount 



       IF UPPER( Thisform.List1.ListItem(nIndex)
) = UPPER( ALLTRIM( this.Value ) )

           
Thisform.List1.ListIndex  =  nIndex 

           
EXIT 


     
ENDIF



ENDFOR



Thisform.List1.Refresh 


Por: David Amador T

Ancho del Botón Ajustado al Texto Escrito en un TextBox

Visual Fox Pro, Trucos Comentarios ( 0 ) »

Este código aun esta
en prueba pero realmente funciona, lo programe porque necesitaba
que el ancho del botón se ajustara a medida que yo escribiera
en un TextBox. Si alguien desea aportar y modificar el código
le ruego me envíe una demostración para luego publicarla a su
nombre.


Cree un formulario y agréguele
un botón y un TextBox.

En el Evento InteractiveChange
del TextBox programe lo siguiente:


cNoCaracteres =
len(alltrim(thisform.text1.value)) * 5



Thisform.Command1.Width = cNoCaracteres + 70

Thisform.Command1.Width = cNoCaracteres + 60

Thisform.Command1.Caption = Alltrim(Thisform.Text1.Value)


Por: David Amador T

Determinar la Dirección IP del Equipo

Visual Fox Pro, Trucos Comentarios ( 0 ) »

Una forma de conocer la dirección IP del equipo es
invocando una función API, pero comentaré otra forma de hacerlo y esta es
através de MSDOS,
el único inconveniente es que se mostrara la ventana del DOS,
pero eso también tiene solución y será explicada en la sección de APIS


Local
F, X, Y, U, K

F =
Sys(2023)
+
""
+
SubStr(Sys(2015),1,8)
+
".txt"


X =
SubStr(sys(0),1,
At("
"
,
Sys(0))-1)



Run
PING &X > &F

Y =
FileToStr(F)


Delete File
&F

U =
At("[",
Y) + 1

K =
At("]",
Y)

?
SubStr(Y,U,K-U)







Por: David Amador T