USO DE KEYBOAR CHR(13)
Posted: Fri Jan 12, 2007 6:27 pm
by servicomver
HOLA:
TENGO UN PROBLEMA Q NO PUEDO HACER QUE EL FOCO DE UNA GET REGRESE DESPUES DE INGRESAR UN REGISTRO EN LISTBOX
ME DI CUENTA QUE LO HACE SOBRE UN OBJETO WINDOW, NO ASI EN UN DIALOG, PERO COMO ES TAN URGENTE PENSE EN RECURRIR AL VIEJO KEYBOARD CHR(13) DE CLIPPER PARA HACER O MAS BIEN FORZAR A MOVER AL FOCO A DONDE LO NECESITO, PERO NO LO SE HACER EN FIVEWIN, ALGUNA PROPUESTA ??
REQUIERO DAR 2 "TABS" (O SEA MOVER EL FOCO DEL LISTBOX AL GET Q LO QUIERO PONER)
DE ANTEMANO GRACIAS X SU AYUDA
SALUDOS
VERACRUZ, VER. MEXICO
Posted: Fri Jan 12, 2007 9:17 pm
by Armando Picon
Sería bueno que mostrases el codigo... lo que relatas no es muy preciso.
Qué ingresa primero, el GET o el LISTBOX ? ´
Si es el GET porqué tienes que ir al Listbox y luego regresar; si es el LISTBOX quieres actualizar el GET con el dato del listbox?
Es decir; se requiere el codigo para que te puedan ayudar...
Posted: Fri Jan 12, 2007 10:00 pm
by servicomver
Mil disculpas, ahi esta una parte del fuente, lo que necesito es que despues de poner la cantidad y la clave, ingrese el dato al listbox, pero q regrese al Get2,y no lo hace se queda en el listbox, esto lo programe bien pero usando un objeo WINDOW y no un DIALOG como aqui, gracias por su atencion.
Function Recibe(oLbx1,oPcion)
local oDlg6,oGet1,oGet2,oGet3,osay2
lNuevo:=.f.
lBorrar1:=.F.
regmodi:=0
nRegact:=Recno()
nPar:=0
nProvedor:=0
cProvedor:=Space(60)
dFecha:=Date()
dFecharec:=Date()
nDesc:=0
nDescFinal:=0
cClave:=Space(20)
nCantidad:=0
SET 3DLOOK ON // Microsoft 3D Look
DEFINE FONT oFont62 NAME "monospac821 bt" SIZE 0, -18 BOLD
DEFINE FONT oFont61 NAME "Arial" SIZE 0, -10 BOLD //
DEFINE FONT oFont65 NAME "monospac821 bt" SIZE 0, -12 BOLD
DEFINE DIALOG oDlg6 FROM 5,.5 TO 34,99.5 ;
TITLE "Recepcion de Materiales: " ;
@ .4, 1 SAY OemToAnsi( "FOLIO:" ) OF oDlg6;
SIZE 30, 9 BORDER
@ .4, 18 SAY OemToAnsi( "PROVEEDOR:" ) OF oDlg6;
SIZE 40, 9 BORDER
@ .4,35 SAY oSay1 VAR cProvedor OF oDlg6 COLOR RGB(0,0,255)
@ 1.4, 1 SAY OemToAnsi( "FECHA FAC:" ) OF oDlg6;
SIZE 40, 9 BORDER
@ 1.4, 18 SAY OemToAnsi( "FECHA REC:" ) OF oDlg6;
SIZE 40, 9 BORDER
@ 1.4, 35 SAY OemToAnsi( "DESCUENTO:" ) OF oDlg6;
SIZE 40, 9 BORDER
@ 1.4, 50 SAY OemToAnsi( "DESC. FINAL:" ) OF oDlg6;
SIZE 40, 9 BORDER
@ 2.4, 18 SAY OemToAnsi( "CLAVE:" ) OF oDlg6;
SIZE 30, 9 BORDER
@ 2.4, 1 SAY OemToAnsi( "CANTIDAD:" ) OF oDlg6;
SIZE 40, 9 BORDER
@ 10.6, 45 SAY OemToAnsi( "PARCIAL:" ) OF oDlg6;
SIZE 40, 9 BORDER FONT OFONT65
@ 10.6,55 say osay2 var nPar picture "999,999.99" of odlg6 font ofont65
@ 11.4, 45 SAY OemToAnsi( "DESC:" ) OF oDlg6;
SIZE 40, 9 BORDER FONT OFONT65
@ 12.2, 45 SAY OemToAnsi( "SUB-TOTAL:" ) OF oDlg6;
SIZE 40, 9 BORDER FONT OFONT65
@ 13, 45 SAY OemToAnsi( "I.V.A.:" ) OF oDlg6;
SIZE 40, 9 BORDER FONT OFONT65
@ 13.8, 45 SAY OemToAnsi( "TOTAL:" ) OF oDlg6;
SIZE 40, 9 BORDER FONT OFONT65
@ .6, 19 TBTNGET oGet1 VAR nProvedor OF oDlg6 ;
SIZE 30, 9 ;
RESOURCE "mail1.bmp" ;
PICTURE "99999";
ACTION Seleccion1( oSay1,oGet1 )
@ 2.9,7 Get oGet2 Var nCantidad Size 40,9 PICTURE "999,999.99" FONT oFont65 Of oDlg6 UPDATE
@ 2.9,17 Get oGet3 Var cClave VALID(Busca(@cClave,oGet2,oGet3,oLbx,osay2,odlg6),.T.) Size 40,9 PICTURE "@!" FONT oFont65 Of oDlg6 UPDATE
Select 6
USE C:\GRUPOTEX\User1 ALIAS aUser1 SHARED
Go Top
@ 3.5 , .5 LISTBOX oLbx FIELDS Transform(aUser1->Cantidad,"999,999.99"), Transform(aUser1->Piezas,"999,999"), aUser1->Clave, aUser1->Describe,Transform(aUser1->Ancho,"999.99"),aUser1->Color,Transform(aUser1->Costo,"999,999.99"),Transform(aUser1->Importe,"999,999.99");
HEADERS "Cantidad", "Piezas","Clave", "Descripcion de Articulo","Ancho","Color","Costo","Importe";
FIELDSIZES 80,55,80,250,50,90,70,90 FONT OFONT65;
SIZE 385, 110 OF oDlg6
ACTIVATE Dialog odLG6
oLbx1:UpStable()
oLbx1:Refresh()
Return NIL
Function Busca(cclave,oget2,oGet3,oLbx,osay2,odlg6)
local oDlg2, oBmp1,oSay66
SELECT 1
nRegistro:=Recno()
DEFINE FONT oFont65 NAME "monospac821 bt" SIZE 0, -12 BOLD
If Empty(cClave)=.F.
SELECT 1
USE C:\GrupoTex\General ALIAS aGeneral INDEX C:\grupotex\CLVGRAL SHARED
Seek cClave
If found()
xClave:=aGeneral->clave
xDescr:=aGeneral->Describe
CLOSE aGeneral
Select 6
USE C:\GRUPOTEX\User1 ALIAS aUser1 SHARED
Locate for alltrim(Field->Clave) == alltrim( cClave )
If Found() = .F.
Append blank
If Bloqreg(5)
aUser1->Cantidad:=nCantidad
aUser1->Describe:=xDescr
Endif
UNLOCK
oLbx:UpStable() // Corrects same page stabilizing Bug
oLbx:Refresh()
If Lastrec() > 11
xreg=Lastrec()-10
go xReg
Else
GO TOP
Endif
olbx:Lostfocus()
oGet2:SetFocus()
Endif
Endif
Endif
Return (cClave)
uso fivewin 2.3
clipper 5.1
blinker 6.0
Posted: Fri Jan 12, 2007 11:52 pm
by Armando Picon
Cambia esta linea:
@ 2.9,17 Get oGet3 Var cClave VALID(Busca(@cClave,oGet2,oGet3,oLbx,osay2,odlg6),.T.) Size 40,9 PICTURE "@!" FONT oFont65 Of oDlg6 UPDATE
Por esta:
@ 2.9,17 Get oGet3 Var cClave VALID(Busca(@cClave,oGet2,oGet3,oLbx,osay2,odlg6),.T., oGet2:Setfocus() ) Size 40,9 PICTURE "@!" FONT oFont65 Of oDlg6 UPDATE
Con esto estas forzando al programa para que cuando termine de actualizar al LISTBOX vuelva el foco al objeto oGet2 (o al que prefieras si lo apuntas ).
Otro añadido: Particularmente yo utilizo TBROWSE con archivos temporales de uso exclusivo que creo "al vuelo" y que sirven para almacenar posteriormente los datos que recogí en las bases que requieran ser actualizadas. Después los elimino y listo.
Los usuarios no se percatan para nada de lo que ha sucedido... y esto hasta en máquinas PENTIUM I...!!!
servicomver wrote:Mil disculpas, ahi esta una parte del fuente, lo que necesito es que despues de poner la cantidad y la clave, ingrese el dato al listbox, pero q regrese al Get2,y no lo hace se queda en el listbox, esto lo programe bien pero usando un objeo WINDOW y no un DIALOG como aqui, gracias por su atencion.
Function Recibe(oLbx1,oPcion)
local oDlg6,oGet1,oGet2,oGet3,osay2
lNuevo:=.f.
lBorrar1:=.F.
regmodi:=0
nRegact:=Recno()
nPar:=0
nProvedor:=0
cProvedor:=Space(60)
dFecha:=Date()
dFecharec:=Date()
nDesc:=0
nDescFinal:=0
cClave:=Space(20)
nCantidad:=0
SET 3DLOOK ON // Microsoft 3D Look
DEFINE FONT oFont62 NAME "monospac821 bt" SIZE 0, -18 BOLD
DEFINE FONT oFont61 NAME "Arial" SIZE 0, -10 BOLD //
DEFINE FONT oFont65 NAME "monospac821 bt" SIZE 0, -12 BOLD
DEFINE DIALOG oDlg6 FROM 5,.5 TO 34,99.5 ;
TITLE "Recepcion de Materiales: " ;
@ .4, 1 SAY OemToAnsi( "FOLIO:" ) OF oDlg6;
SIZE 30, 9 BORDER
@ .4, 18 SAY OemToAnsi( "PROVEEDOR:" ) OF oDlg6;
SIZE 40, 9 BORDER
@ .4,35 SAY oSay1 VAR cProvedor OF oDlg6 COLOR RGB(0,0,255)
@ 1.4, 1 SAY OemToAnsi( "FECHA FAC:" ) OF oDlg6;
SIZE 40, 9 BORDER
@ 1.4, 18 SAY OemToAnsi( "FECHA REC:" ) OF oDlg6;
SIZE 40, 9 BORDER
@ 1.4, 35 SAY OemToAnsi( "DESCUENTO:" ) OF oDlg6;
SIZE 40, 9 BORDER
@ 1.4, 50 SAY OemToAnsi( "DESC. FINAL:" ) OF oDlg6;
SIZE 40, 9 BORDER
@ 2.4, 18 SAY OemToAnsi( "CLAVE:" ) OF oDlg6;
SIZE 30, 9 BORDER
@ 2.4, 1 SAY OemToAnsi( "CANTIDAD:" ) OF oDlg6;
SIZE 40, 9 BORDER
@ 10.6, 45 SAY OemToAnsi( "PARCIAL:" ) OF oDlg6;
SIZE 40, 9 BORDER FONT OFONT65
@ 10.6,55 say osay2 var nPar picture "999,999.99" of odlg6 font ofont65
@ 11.4, 45 SAY OemToAnsi( "DESC:" ) OF oDlg6;
SIZE 40, 9 BORDER FONT OFONT65
@ 12.2, 45 SAY OemToAnsi( "SUB-TOTAL:" ) OF oDlg6;
SIZE 40, 9 BORDER FONT OFONT65
@ 13, 45 SAY OemToAnsi( "I.V.A.:" ) OF oDlg6;
SIZE 40, 9 BORDER FONT OFONT65
@ 13.8, 45 SAY OemToAnsi( "TOTAL:" ) OF oDlg6;
SIZE 40, 9 BORDER FONT OFONT65
@ .6, 19 TBTNGET oGet1 VAR nProvedor OF oDlg6 ;
SIZE 30, 9 ;
RESOURCE "mail1.bmp" ;
PICTURE "99999";
ACTION Seleccion1( oSay1,oGet1 )
@ 2.9,7 Get oGet2 Var nCantidad Size 40,9 PICTURE "999,999.99" FONT oFont65 Of oDlg6 UPDATE
@ 2.9,17 Get oGet3 Var cClave VALID(Busca(@cClave,oGet2,oGet3,oLbx,osay2,odlg6),.T.) Size 40,9 PICTURE "@!" FONT oFont65 Of oDlg6 UPDATE
Select 6
USE C:\GRUPOTEX\User1 ALIAS aUser1 SHARED
Go Top
@ 3.5 , .5 LISTBOX oLbx FIELDS Transform(aUser1->Cantidad,"999,999.99"), Transform(aUser1->Piezas,"999,999"), aUser1->Clave, aUser1->Describe,Transform(aUser1->Ancho,"999.99"),aUser1->Color,Transform(aUser1->Costo,"999,999.99"),Transform(aUser1->Importe,"999,999.99");
HEADERS "Cantidad", "Piezas","Clave", "Descripcion de Articulo","Ancho","Color","Costo","Importe";
FIELDSIZES 80,55,80,250,50,90,70,90 FONT OFONT65;
SIZE 385, 110 OF oDlg6
ACTIVATE Dialog odLG6
oLbx1:UpStable()
oLbx1:Refresh()
Return NIL
Function Busca(cclave,oget2,oGet3,oLbx,osay2,odlg6)
local oDlg2, oBmp1,oSay66
SELECT 1
nRegistro:=Recno()
DEFINE FONT oFont65 NAME "monospac821 bt" SIZE 0, -12 BOLD
If Empty(cClave)=.F.
SELECT 1
USE C:\GrupoTex\General ALIAS aGeneral INDEX C:\grupotex\CLVGRAL SHARED
Seek cClave
If found()
xClave:=aGeneral->clave
xDescr:=aGeneral->Describe
CLOSE aGeneral
Select 6
USE C:\GRUPOTEX\User1 ALIAS aUser1 SHARED
Locate for alltrim(Field->Clave) == alltrim( cClave )
If Found() = .F.
Append blank
If Bloqreg(5)
aUser1->Cantidad:=nCantidad
aUser1->Describe:=xDescr
Endif
UNLOCK
oLbx:UpStable() // Corrects same page stabilizing Bug
oLbx:Refresh()
If Lastrec() > 11
xreg=Lastrec()-10
go xReg
Else
GO TOP
Endif
olbx:Lostfocus()
oGet2:SetFocus()
Endif
Endif
Endif
Return (cClave)
uso fivewin 2.3
clipper 5.1
blinker 6.0
Posted: Wed Jan 17, 2007 12:41 am
by servicomver
gracias por tu ayuda, me funciono correctamente, aunque nunca supe por que lo hace bien en un objeto Dialog y no en un onbjeto WINDOW