Page 1 of 2
saltar gets y controles en fivewin
Posted: 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
Posted: 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 _ 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
Posted: 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
Posted: 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
Posted: Wed Mar 04, 2009 7:20 pm
by Antonio Linares
J. Ernesto,
Tienes que hacer la asignacion desde la funcion ValidarCantidad()
Code: Select all
@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
Posted: 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 _ 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
Posted: Thu Mar 05, 2009 11:33 am
by MauroArevalo
Ernesto:
Como que _, 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
Posted: 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
Posted: 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
Posted: 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
Posted: 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
Posted: Thu Mar 19, 2009 8:18 pm
by Antonio Linares
Aqui tienes un ejemplo funcionando:
Code: Select all
#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
Posted: 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
Posted: 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
Posted: 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