Page 1 of 2

saltar gets y controles en fivewin

PostPosted: Thu Feb 26, 2009 6:22 pm
by J. Ernesto
Hola compañeros del foro....

Tengo un problemilla.... estoy con un dialogo que tiene cerca de 30 controles, entre gets, listbox, combobox, buttons, etc.....

como hago para que cuando este en el 3er get, ( el cual lee un código y con una funcion retorna el nombre del producto, el stock actual y varios precios de venta, etc), y dependiendo del resultado pase al 10 get...

e intentado con:

oGetxxx:setfocus()

__KeyBoard ( CHR (9) ) && el tabulador

oDlgxxx:GoPrevCtrl ( hctrl ) && el hctrl no se como se define, alguien puede enviarme un ejemplo

oDlgxxx:GoNextCtrl ( hctrl ) && lo mismo no se como se define

si alquien puede ayudarme con gusto les agradeceria...

Cordial Saludo

J. Ernesto Pinto Q.

Re: saltar gets y controles en fivewin

PostPosted: Thu Feb 26, 2009 6:48 pm
by pedrog
Hola,

yo lo hago así:

oFldr:aDialogs[1]:aControls[6]:SetFocus()

evidentemente esto es desde folder.
Realizas la búsqueda, pones los resultados en los campos necesarios y posterioremente le das el focus al control que quieras, en este caso sera tú "get".

Saludos y espero te sirva !

Re: saltar gets y controles en fivewin

PostPosted: Thu Feb 26, 2009 7:37 pm
by Antonio Linares
J. Ernesto,

Puedes hacerlo asi, definiendo el dato oJump:

oGet3:oJump := oGet10

Re: saltar gets y controles en fivewin

PostPosted: Sun Mar 01, 2009 7:29 pm
by J. Ernesto
Gracias don Antonio Lionares

A ver otra ayuda.... hasta ahora estoy migrando desde clipper al entorno visual en 32 bits..... por eso mi falta de conocimiento en estos pasos... como en:

oGet3:oJump := oGet10

Yo tengo algo de codigo asi:

@x,y GET opsCodept VAR psCodePT Pict '@s14' Valid (ValidaCodigo(), .T.)

@x,y GET opn54QTY VAR pn54Qty Pict '999' Valid (ValidarCantidad(), .T.)

@x,y Listbox........
......
......

Lo que quiero es si la validacion de la cantidad es verdadera que vuelva a leer el c{odigo del producto, con opsCodept:setfocus el control pasa al del listbox....

podria aorientarme como implemento el oJump?????


Mil Gracias...

Re: saltar gets y controles en fivewin

PostPosted: Wed Mar 04, 2009 7:20 pm
by Antonio Linares
J. Ernesto,

Tienes que hacer la asignacion desde la funcion ValidarCantidad()

Code: Select all  Expand view

@x,y GET opsCodept VAR psCodePT Pict '@s14' Valid (ValidaCodigo(), .T.)

@x,y GET opn54QTY VAR pn54Qty Pict '999' Valid (ValidarCantidad( opn54QTY, opsCodept ), .T.)

...

function ValidarCantidad( oGet2, oGet1 )

   ... tu codigo

   oGet2:oJump = oGet1

return .T.
 

Re: saltar gets y controles en fivewin

PostPosted: Wed Mar 04, 2009 10:24 pm
by J. Ernesto
Antonio... Mil gracias

el ojump ya funciono, mi pregunta ahora, es...

1- por que el oDestino:setfocus() no funciona dentro de un valid del control get?, o el paso al control previo

2- dentro de un Listbox como se implementa la misma situacion, es decir saltar el foco a otro control?

3- esta clase de metodos donde tiene algo de literatura?

4- Por otro lado hay unas funciones para conocer el tipo de dispostivos o Drives de que dispone un computador:

a- En algunos casos veo que devuelve un numero negativo, esto es valido?

b- cuando no encuentra un dispostivo que esta dentro de la matriz aDrives(), supongamos hay una unidad de 3½", pero no tiene un diskette, mas sin embargo devuelve un numero, es cierto o falso el resultado?

c- Si no es un Diskette, ni un CDRom, deveria ser un Hard Disk, y entonces como se sabe que es una unidad USB (pendrive)?

d- Como se implementa la combinacion de teclas para asignarselas a una funcion en especial, por ejemplo Control + A, o Shift + F1, caso similar para los acceleradores de un menuitem?

e- y aun me quedan otras inquietudes, estoy migrando mis aplicaciones desde clipper 5.3b + Blinker 7.0 + LLIB, estoy ovbiando el paso al modo comsola en 32 bist, yendo directamenta al modo visual en 32 Bits.....

Un cordial saludo,,,

PD, seguire con otras dudas.....

Re: saltar gets y controles en fivewin

PostPosted: Thu Mar 05, 2009 11:33 am
by MauroArevalo
Ernesto:

Como que somos cachacos, el lo que te pueda ayudar con muchos gusto. De pronto hasta vecinos resultamos siendo y nos tomamos un delicioso tinto tertuliando. Que grato seria compartir con un colega Clipperiano, no soy muy experto pero de pronto nos podemos ayudar.

Mi Messenger es hymplus.@hotmail.com

Saludos,

Re: saltar gets y controles en fivewin

PostPosted: Thu Mar 05, 2009 11:46 am
by Antonio Linares
J. Ernesto,

Eso parece un examen en vez de una pregunta de soporte técnico :-)

Por que no vamos poquito a poco ? :-)

Una o dos preguntas por mensaje, gracias

Re: saltar gets y controles en fivewin

PostPosted: Thu Mar 05, 2009 11:51 am
by Antonio Linares
J. Ernesto,

> 1- por que el oDestino:setfocus() no funciona dentro de un valid del control get?, o el paso al control previo

Porque Windows tiene su propia secuencia de perdida de foco y ganancia de foco, de un control a otro, y no puede ser interrumpida. Hay que esperar a que Windows termine de hacer su trabajo y entonces FiveWin se encarga de cambiar el foco.

> 2- dentro de un Listbox como se implementa la misma situacion, es decir saltar el foco a otro control?

Exactamente igual :-) En vez de usar oGet2:oJump usas oListBox:oJump.

> 3- esta clase de metodos donde tiene algo de literatura?

El dato oJump pertenece a la Clase TControl y está documentado en la clase TControl. Por eso puede ser usado con cualquier tipo de control.

Es preferible el aprendizaje que estas haciendo, a través de la práctica. Si a priori intentases aprender todo lo que se puede hacer en Windows, seria imposible asimilarlo todo, y te confundirías en vez de afianzar los conceptos básicos :-)

Parpadeo de Colores

PostPosted: Thu Mar 19, 2009 12:44 am
by J. Ernesto
Don Antonio, de nuevo por aca molestando

Una pregunta...

1- Como hago para colocar un control con colores que parpadeen, al estilo del viejo clipper?????

Re: saltar gets y controles en fivewin

PostPosted: Thu Mar 19, 2009 8:11 pm
by Antonio Linares
J. Ernesto,

Tienes que usar un TIMER que cambie el color cada cierto tiempo.

Puedes revisar FWH\samples\TestTime.prg para ver como se usan los TIMERs.

Re: saltar gets y controles en fivewin

PostPosted: Thu Mar 19, 2009 8:18 pm
by Antonio Linares
Aqui tienes un ejemplo funcionando:
Code: Select all  Expand view

#include "FiveWin.ch"

static oWnd, oSay, oTimer

function Main()

   DEFINE WINDOW oWnd FROM 3, 3 TO 20, 50 ;
      TITLE "Colores parpadeando"

   @ 2, 2 SAY oSay PROMPT "Hola Mundo!" COLOR "W+/B"

   ACTIVATE WINDOW oWnd ;
      ON INIT CreaTimer()

   oTimer:End()

return nil

function CreaTimer()

   static lOnOff := .F.

   DEFINE TIMER oTimer INTERVAL 500 ;
      ACTION ( lOnOff := ! lOnOff, oSay:SetColor( If( lOnOff, "W+/B", "GR+/G" ) ), oSay:Refresh() )

   ACTIVATE TIMER oTimer

return nil
 

Re: saltar gets y controles en fivewin

PostPosted: Sat Mar 28, 2009 9:34 pm
by J. Ernesto
Don Antonio Muchas Gracias, listo lo del color parpadeando, ahora otras dos preguntas:

1- Necesito combinar teclas al estilo del clipper, es decir como Crtl + 'T', shift+f1, como lo implemento en un set key o en un menuitem....
2- Ccom,o averiguo el serial de una PenDrive (usb), ya tenemos si existe un Diskette, o una unidad de CD,,,,, o en la matriz aDrivers que otra informacion podemos hallar sobre las unidades?

Mil Gracias

Re: saltar gets y controles en fivewin

PostPosted: Mon Mar 30, 2009 2:46 pm
by Jairo Barbosa
Ernesto

Mira en samples Testhard.prg

Funciona muy bien para lo que tu quieres

Espero te funciones

Jairo

Re: saltar gets y controles en fivewin

PostPosted: Thu Apr 09, 2009 5:46 pm
by Antonio Linares
J. Ernesto,

> Necesito combinar teclas al estilo del clipper, es decir como Crtl + 'T', shift+f1, como lo implemento en un set key o en un menuitem....

Revisa FWH\samples\TestMenu.prg

> Como averiguo el serial de una PenDrive (usb)

Revisa FWH\samples\protect.prg